Skip to main content
Entity Search runs as an asynchronous task:
  1. POST /v1/entity-search/create_task creates a search task and returns leads_search_id.
  2. GET /v1/entity-search/status returns task progress and ready_count.
  3. GET /v1/entity-search/fetch returns results from a position pts with a maximum batch size num.
The task may produce results while it is still running. A client is done reading when the task status is done or error and the client has fetched every result up to ready_count.

Headers

Create task

POST /v1/entity-search/create_task

Request body

The complete JSON body must be at most 1 MiB. Unknown fields, malformed JSON, and multiple JSON objects are rejected.
enable_web_search: true keeps the default database search and also turns on open web search mode. Use it for creator searches on X/Twitter, YouTube, TikTok, Instagram, Xiaohongshu, or WeChat Official Accounts, Shopify store discovery, or highly time-sensitive searches such as entities from the last 30 days. Turning it on usually increases latency and cost, so keep it false unless broader or fresher discovery is needed.
Requests with entity_type: "xiaohongshu" or entity_type: "wechat" must include enable_web_search: true. Omitting enable_web_search or setting it to false returns 422 invalid_request_error. These searches usually take 1 to 2 minutes before results are ready.

Deduplicate results

Use deduplication when you already have leads that should not appear again. The task produces up to limit deduplicated leads after these exclusions.
  • dedup_lev8_leads excludes leads from earlier Lev8 searches by leads_search_id.
  • dedup_custom_leads excludes your existing leads by name.

Enrich fields

By default, entities include name, links, description, and score. Use enrich_fields to request additional descriptive fields, such as funding stage or headcount. Each returned enrichment generally includes content and reference. Do not use enrich_fields to find email addresses or phone numbers; use Contact Search for contact details.

Supported entity types

Example

Response

The response includes Idempotency-Key, X-Request-Id, and Cache-Control: no-store. Store all three values when the task must be recoverable after a lost connection.

Check status

GET /v1/entity-search/status

Query parameters

Example

Response

verified_count includes accepted and rejected candidates, so it is always greater than or equal to ready_count. Known stop_reason values include limit, source_finished, no_data_timeout, and rejected_streak.
Xiaohongshu and WeChat Official Account tasks commonly remain running for 1 to 2 minutes before ready_count increases.

Fetch results

GET /v1/entity-search/fetch

Query parameters

The response does not include a next cursor. After each fetch, compute the next pts as the current pts + count.

Example

If the first fetch returned count: 1, the next position is 0 + 1 = 1:

Response

Entity fields

Common links fields by entity type:

Complete workflow examples

See Task results for complete Node.js and Python examples that create a task, poll status, and fetch every result.

Errors

Entity Search uses the standard error envelope. Authentication, billing, concurrency, and service availability errors are documented in Errors.