The Seamless API follows a three-step flow: search for the record you want, submit it for research, and retrieve the enriched result. Authentication is handled by passing your API key in aDocumentation Index
Fetch the complete documentation index at: https://docs.seamless.ai/llms.txt
Use this file to discover all available pages before exploring further.
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.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.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.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
For HTTP errors such as 401, 422, or 429, see API HTTP status codes.
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
| Status | Applies to | Meaning |
|---|---|---|
researching | Both | Still processing. Poll again in a few seconds. |
done | Both | Research complete. Full record is available. |
missing | Both | No result found for the record. |
error | Both | Could not process. Check credits and license. |
duplicate | Contacts only | Already researched. Existing result returned. |
What’s next
Choose a workflow
Compare search, research, webhooks, polling, and org data endpoints to find the right path for your use case.
Receive results with webhooks
Skip polling entirely — configure a webhook endpoint and let Seamless push completed results to you.
End-to-end company workflow
A complete walkthrough of the company search, research, and retrieval flow.
End-to-end contact workflow
A complete walkthrough of the contact search, research, and retrieval flow.
