> ## 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.

# Research without search

> Enrich companies and contacts by passing identifiers directly to the research endpoints — no searchResultId required.

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](https://docs.seamless.ai/api-reference/v1/company-search/search-companies.md) or [Search contacts](https://docs.seamless.ai/api-reference/v1/contact-search/search-contacts.md), then pass the returned `searchResultId` to research. See [Understand identifiers and request flow](https://docs.seamless.ai/core-concepts/understand-identifiers-and-request-flow.md).

## Research companies directly

POST [Research companies](https://docs.seamless.ai/api-reference/v1/company-research/research-companies.md) with a `companies` array. Each item needs at least one of `domain` or `companyName`.

```bash theme={null}
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](https://docs.seamless.ai/api-reference/v1/company-research/poll-company-research.md) or use [webhooks](https://docs.seamless.ai/workflows/receive-research-results-with-webhooks.md).

You can also combine `searchResultIds` from a prior search with `companies` in the same request (up to 500 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](https://docs.seamless.ai/api-reference/v1/contact-research/research-contacts.md) with a `contacts` array. Each item needs one of: `contactName` with `companyName` or `domain`, an `email`, or a LinkedIn URL; add `title` when you have it.

```bash theme={null}
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](https://docs.seamless.ai/api-reference/v1/contact-research/poll-contact-research.md). Terminal poll statuses for contacts include `done`, `error`, `not found`, and `duplicate`; `missing` means the `requestId` is not one the server knows.

### Job-change research

Set `isJobChange: true` when researching contacts who recently changed roles. Pass the same `contacts` shape; see [Research contacts](https://docs.seamless.ai/api-reference/v1/contact-research/research-contacts.md) in the API reference for examples.

## Retrieve results

Same as the search-then-research flow:

* [Webhooks](https://docs.seamless.ai/workflows/receive-research-results-with-webhooks.md) — push delivery to your HTTPS endpoint.
* Polling — call the poll endpoint with each `requestId` until status is terminal.

## Related

* [Authenticate and make your first request](https://docs.seamless.ai/authentication/first-request.md) — search → research → poll walkthrough
* [Receive research results with webhooks](https://docs.seamless.ai/workflows/receive-research-results-with-webhooks.md) — push delivery instead of polling
* [Rate limits and credits](https://docs.seamless.ai/core-concepts/rate-limits-and-credits.md) — credits and `duplicate` status


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.