Skip to main content
The Enrichment API is in beta. Its request and response shapes can change.

Capabilities

The Enrichment API builds lists of companies and people in one synchronous call. It reads Tako’s structured company and people data: company registries and licensed company and people profiles. It has four endpoints:

Filters, not prompts

You send typed filters and get the companies or people that match them. The same request returns the same kind of list each time.

Lists as cards

Each response carries its list as one card. The card previews the first 10 rows, and Contents exports every row.

Contacts you pay for only when you want them

Contact details and some company fields are premium columns. Review the list first, then reveal them with a premium export.
To describe a list in words and let an agent work out the steps, use the Company Agent. It takes about a minute and can read the web. Use the Enrichment API when you know the filters or the names, and want an answer in one call.

Example: find the heads of sales at Series B SaaS companies

1. Search for the companies.
The response counts the matches, reads the filters back, and carries the list as a card:
The card is shortened here. Its description holds a table of the first 10 rows, and says how many more rows and fields the full data has. 2. Get the rows. Pass the card’s webpage_url to Contents:
3. Search for the people. Send the companies’ websites, from the website column, as company_domains:
4. Reveal the contacts you want. Export the people card through Contents with "premium": true. See Get the rows and reveal premium fields.

Get the rows and reveal premium fields

A response doesn’t inline its rows unless you ask. You have two ways to get them:
  • Contents. Pass the card’s webpage_url to POST /v1/contents. Page a long list with offset and max_rows. This is the only way to reveal premium fields.
  • include_contents. Set include_contents: true on the search or enrich request to inline rows under card.content. max_rows caps them, and content_format picks json_compact (the default), json_records, csv or card_json. Inlined rows never carry premium values.
Premium cells are withheld by default: null in the JSON row formats and [premium: withheld] in CSV. To reveal them, send the Contents request again with "premium": true. card_json carries no premium values, and Contents refuses premium: true with it.

What a list holds

The API reference publishes each list’s fields as enums: CompanyListField and PersonListField hold every field in column order, and the PreviewField, CardOnlyField and PremiumField enums beside them hold the subsets. Company list People list * Premium. The preview leaves out a column that’s empty on every row it shows. A card-only field appears on the card and isn’t in the exported rows.

Pricing

  • A request is billed once, whatever it returns. An enrich request with 25 items costs the same as one with a single item.
  • A request that Tako refuses or that fails isn’t billed. An enrich request in which every lookup failed returns 503 and isn’t billed.
  • Rows are billed only when you fetch them: through Contents, or inlined with include_contents. Without include_contents, the card’s content.cost is a quote for fetching the rows, not a charge.
  • Premium fields are billed only on a Contents export with premium: true.
Contents pricing defines a premium record and shows how to price an export before you run it. Negotiated terms on your account can change these rates, and the card’s export_pricing gives your exact ones.

Access

Send your Tako API key in the X-API-Key header. A 403 means the Enrichment API isn’t available to your account. Tako doesn’t bill a 403, so don’t retry it; contact support@tako.com.
The Python and TypeScript SDKs don’t have Enrichment API methods yet. Call the endpoints over HTTP until they do.