Get Contacts
Search and retrieve B2B contact records using filters like name, location, job title, department, and associated company attributes.
Autobound’s /filter-contacts
endpoint allows you to query individual contacts based on demographic, geographic, and job-level filters. This can be used to power prospecting workflows, contact enrichment tools, or any application that needs B2C or individual-level B2B targeting.
Base URL:
https://autobound-b2b-data.daniel-1ba.workers.dev
Endpoint:
POST /filter-contacts
🔐 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": "JobTitle",
"Operator": "contains",
"Value": "marketing"
}
]
}
🔀 Query Parameters
-
Page
(optional, default:1
) – The page of results to return. -
PageSize
(optional, default:10
) – Number of results per page. -
SortBy
(required) – Any of:UpId
,FirstName
,LastName
,BusinessEmail
,MobilePhone
,LinkedInUrl
,PersonalAddress
,PersonalAddress2
,PersonalCity
,PersonalState
,PersonalZip
,PersonalZip4
,PersonalEmails
,JobTitle
,ProfessionalAddress
,ProfessionalCity
,ProfessionalState
,ProfessionalZip
-
SortDirection
(optional, default:asc
) – Eitherasc
ordesc
🔁 If SortBy is not provided, Autobound’s proxy will automatically apply SortBy=LastName to prevent failure.
🔧 Supported Filters
Supported Columns:
FirstName
, LastName
, BusinessEmail
, MobilePhone
, LinkedInUrl
, PersonalCity
, PersonalState
, PersonalZip
, JobTitle
, Department
, SeniorityLevel
, Gender
, AgeRange
, IncomeRange
, NetWorth
, HomeOwner
, CompanyName
, CompanyDomain
, CompanyNaics
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 contact records */ ],
"meta": {
"Page": 1,
"PageSize": 10,
"HasNextPage": true
}
}
📘 Field Reference
Field Name | Type | Nullable | Notes |
---|---|---|---|
UpId | string | No | Unique contact ID |
FirstName | string | No | |
LastName | string | No | |
BusinessEmail | string | Yes | |
MobilePhone | string | Yes | May be obfuscated |
LinkedInUrl | string | Yes | URL path only (not full URL) |
PersonalAddress | string | Yes | |
PersonalCity | string | Yes | |
PersonalState | string | Yes | US two-letter state code |
PersonalZip | string | Yes | |
JobTitle | string | Yes | |
Department | string | Yes | e.g., "Sales", "Marketing" |
SeniorityLevel | string | Yes | e.g., "Manager", "VP", "Director" |
Gender | string | Yes | "m" or "f" |
AgeRange | string | Yes | e.g., "35-44", "65 and older" |
IncomeRange | string | Yes | e.g., "$75,000 to $99,999" |
NetWorth | string | Yes | e.g., "$500,000 to $749,999" or "-$2,499 to $2,499" |
HomeOwner | string | Yes | "y" or "n" |
CompanyName | string | Yes | Enriched field |
CompanyDomain | string | Yes | e.g., "apple.com" |
CompanyNaics | string | Yes | NAICS classification code |
🛠 Error Scenarios
Code | Message / Body | Reason |
---|---|---|
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 |
Updated 7 days ago