Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.seamless.ai/llms.txt

Use this file to discover all available pages before exploring further.

You do not always need to call search first. The research endpoints accept direct identifiers so you can enrich records you already know.

When to use this path

  • You already have a company domain or company name from your CRM or spreadsheet.
  • You already have a contact name, company, and optional title from another system.
  • You want a shorter integration when search filters are unnecessary.
If you need to discover targets by filters (job title, industry, location), start with Search companies or Search contacts, then pass the returned searchResultId to research. See Understand identifiers and request flow.

Research companies directly

POST Research companies with a companies array. Each item needs at least one of domain or companyName.
curl -X POST https://api.seamless.ai/api/client/v1/companies/research \
  -H "Content-Type: application/json" \
  -H "Token: $SEAMLESS_API_KEY" \
  -d '{
    "companies": [
      { "domain": "seamless.ai", "companyName": "Seamless.AI" }
    ]
  }'
The response is HTTP 202 Accepted with requestIds. Poll with Poll company research results or use webhooks. You can also combine searchResultIds from a prior search with companies in the same request (up to 100 items total).

Optional: skip deduplication

Set skipDeduplicationCheck: true to force a new research run even if Seamless recently researched the same company. This may consume additional credits. Default is false.

Research contacts directly

POST Research contacts with a contacts array. Each item should include contactName and companyName; add title when you have it.
curl -X POST https://api.seamless.ai/api/client/v1/contacts/research \
  -H "Content-Type: application/json" \
  -H "Token: $SEAMLESS_API_KEY" \
  -d '{
    "contacts": [
      { "contactName": "Jane Doe", "companyName": "Acme Corp", "title": "CTO" }
    ]
  }'
Poll with Poll contact research results. Terminal poll statuses for contacts include done, error, missing, and duplicate.

Job-change research

Set isJobChange: true when researching contacts who recently changed roles. Pass the same contacts shape; see Research contacts in the API reference for examples.

Retrieve results

Same as the search-then-research flow:
  • Webhooks — push delivery to your HTTPS endpoint.
  • Polling — call the poll endpoint with each requestId until status is terminal.