The company workflow follows three stages: search for the company you want to enrich, submit it for research, and retrieve the completed result. Each stage produces an identifier you carry into the next step — losing either identifier breaks the chain, so save both as soon as you receive them. This page walks through the full workflow, explains your two result-delivery options, and covers what to do once research is complete.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.
Before you start
- Choose your authentication method: API key (
Tokenheader) or OAuth (Authorization: Bearer). - Open the reference pages you’ll use: Search companies, Research companies, Poll company research results.
Workflow
Search for companies
Call Search companies with filters such as
companyName, domain, or industry. The response returns a list of matching records, each with a searchResultId.Save the search result ID
Review the response and identify the record you want to enrich. Save its
searchResultId — you’ll pass this to the research endpoint in the next step.Keep the
searchResultId from the search response and the requestId from the research response. Each identifier serves a different purpose: the search result ID initiates research; the request ID tracks the result. Do not discard either until your workflow is complete.Submit a research request
Pass your
searchResultId to Research companies. The API queues the record for enrichment and returns a requestId.Save the request ID
Save the
requestId returned by the research endpoint. You need it to retrieve the completed result, whether you’re using webhooks or polling.Choose a result delivery method
Select one delivery method per request. Both return the same enriched data — the difference is whether Seamless pushes the result to you or you pull it on demand.
- Webhooks (async)
- Polling (on demand)
Configure a webhook endpoint in Settings → Webhooks and select the
company-researched event type. When research completes, Seamless sends a POST request to your endpoint with the full result.Use webhooks when you want near-instant delivery without polling overhead. See Receive research results with webhooks for setup instructions, a receiver code example, and validation guidance.What to do after research completes
Get org companies
Retrieve enriched company records already stored in your organization without starting a new research request.
Understand identifiers and request flow
Learn how the search result ID and request ID relate to each other and where each one appears in the workflow.
Build a deterministic agent workflow
Automate the company workflow with an AI agent using a structured, repeatable sequence of API calls.
Receive results with webhooks
Set up an HTTPS endpoint to receive completed research results asynchronously.
AI agent guidance
What an agent must save at each step
What an agent must save at each step
Save the
searchResultId immediately after the search response. Save the requestId immediately after the research response. Both identifiers are required to complete the workflow — do not proceed to the next step until the current identifier is stored.When to submit the research request
When to submit the research request
Do not submit a research request until the agent holds a valid
searchResultId from a successful search response. Submitting without a confirmed identifier causes the request to fail.How to choose a result delivery method
How to choose a result delivery method
Choose one delivery method — webhooks or polling — per research request. Do not mix both for the same
requestId. If your agent environment supports receiving inbound HTTP requests, prefer webhooks. Otherwise, use polling.When to stop polling
When to stop polling
Poll the Poll company research results endpoint until the
status field returns done, missing, or error. Stop polling as soon as a terminal status is received — do not continue polling after the request completes.Troubleshooting
You do not know which ID to keep
You do not know which ID to keep
Two identifiers exist in this workflow. After calling Search companies, save the
searchResultId from the matching record. After calling Research companies, save the requestId from the response. The search result ID is used once to initiate research; the request ID is used to track and retrieve the result.Your workflow stops after research starts
Your workflow stops after research starts
A research submission is asynchronous — the research endpoint returns a
requestId but does not wait for enrichment to complete. You must use either webhooks or polling to retrieve the result. See Receive research results with webhooks for push delivery, or call Poll company research results to pull the result on demand. If you continue to have trouble, see Troubleshoot authentication and request failures.