Token request header. This guide walks through each step using companies and contacts as parallel examples, with code samples in curl, Python, and Node.js.
Prerequisites
Before you begin:- Create a Seamless.AI account.
- Go to Settings → Public API → API Key and create a connection.
- Install
curl, Python (requestslibrary), or Node.js (fetchis built in from Node 18+).
Store your API key in an environment variable. The examples below reference
it as
$SEAMLESS_API_KEY.1
Search for a company or contact
Search returns a list of matching records. Each result includes a Example response:Save the
searchResultId you’ll use in the next step.- Company
- Contact
searchResultId from the record you want to enrich. You’ll pass it to the research endpoint in step 2.2
Submit a research request
Pass one or more Both endpoints return HTTP 202 Accepted with the same JSON body:
searchResultIds to the research endpoint. The API returns a requestId for each submitted record — you’ll use this to retrieve results in step 3.- Company
- Contact
You can submit multiple
searchResultIds in a single request. Each one gets its own requestId in the response array.3
Retrieve results by polling
Call the poll endpoint with your When research is still running, the response looks like this:When research is complete, the
requestId to check research status. Research runs asynchronously, so poll every few seconds until the status is done.- Company
- Contact
status changes to done and the full record appears in the response:Poll status values
For HTTP errors such as 401, 422, or 429, see Error codes.
What’s next
Choose an API
Start from what you have and what you want back, and find the API that fits.
Receive results with webhooks
Skip polling entirely — configure a webhook endpoint and let Seamless push
completed results to you.
Understand identifiers and request flow
Learn which identifiers to save at each step and how the endpoint types fit
together.
Browse the API catalog
Every Seamless.AI API, with what it does, what it costs, and a request you can copy.