Get Companies

Query B2B company records using filters such as domain, industry, revenue range, employee count, and location.

Autobound’s /filter-b2b endpoint allows you to query company-level firmographic data including size, revenue, industry, location, and more. This can be used to power outbound list-building tools, enrichment flows, or market segmentation features in any product that needs B2B company data.

Base URL:
https://autobound-b2b-data.daniel-1ba.workers.dev

Endpoint:
POST /filter-b2b


🔐 Authentication

You must pass your API token via one of the following:

  • Header: x-api-token: <your_token>
  • Query param: ?api_token=<your_token>
  • JSON body key: "api_token": "<your_token>" (only used if neither header nor query param is present)

📅 Request Format

{
  "Filters": [
    {
      "Column": "CompanyRevenue",
      "Operator": "equals",
      "Value": "10 million to 25 million"
    }
  ]
}

🔀 Query Parameters

  • Page (optional, default: 1) – The page of results to return.
  • PageSize (optional, default: 10) – Number of results per page.
  • SortBy (required) – One of:
    UpId, Ccid, CompanyName, CompanyDomain, CompanyPhone, CompanyNaics,
    CompanyAddress, CompanyCity, CompanyState, CompanyCountry,
    CompanyZip, RelatedDomains
  • 🔁 If SortBy is not provided, Autobound’s proxy will automatically apply SortBy=CompanyName to prevent failure.
  • SortDirection (optional, default: asc) – Either asc or desc

🔧 Supported Filters

Supported Columns:

CompanyName, CompanyDomain, CompanyPhone, CompanyAddress, CompanyCity, CompanyState, CompanyCountry, CompanyZip, CompanyRevenue, CompanyEmployeeCount, PrimaryIndustry, CompanyNaics, RelatedDomains

Supported Operators:

  • equals
  • not_equals
  • contains
  • not_contains

Note: contains and not_contains require a minimum of 3 characters in the value field.


🧐 Filter Logic Behavior

  • Filters are evaluated using AND logic. All conditions must be true for a result to match.
  • OR conditions are not supported in a single request.
  • To apply OR logic, issue multiple requests and merge the results client-side.

📦 Response Format

{
  "data": [ /* matching company records */ ],
  "meta": {
    "Page": 1,
    "PageSize": 10,
    "HasNextPage": true
  }
}

📘 Field Reference

Field NameTypeNullableNotes
CcidstringNoUnique company ID
CompanyNamestringNo
CompanyDomainstringNoe.g., "apple.com"
CompanyPhonestringYesMay be a comma-separated string of numbers
CompanyNaicsstringYesNAICS classification code
CompanyAddressstringYes
CompanyCitystringYes
CompanyStatestringYesUS two-letter state code
CompanyCountrystringYese.g., "USA"
CompanyZipstringYes
CompanyRevenuestringYese.g., "10 million to 25 million"
CompanyEmployeeCountstringYese.g., "101 to 250"
PrimaryIndustrystringYese.g., "Software Development"
RelatedDomainsstringYesComma-separated additional domains (if available)

🛠 Error Scenarios

CodeMessage / BodyReason
400"Filters are required"Missing Filters array
400"Invalid column name"A field in Filters is not recognized
401"Missing EchoPath token"Token not found in request
500"Mapping '<Field>' not found"EchoPath does not support that filter field
500"The value must be at least 3 characters long for the 'contains' operator."Value passed was too short