Skip to main content
POST
Search companies (beta)
The Enrichment API is in beta. Its request and response shapes can change.
Screens active companies by industry, place, size, founding year, funding stage and ownership. See the Search guide for the filters and how an industry is matched.

Notes

  • To authenticate, send your Tako API key in the X-API-Key header. Store it as an environment variable rather than hardcoding it.
  • The response carries its list as a card. To get the rows, pass the card’s webpage_url to Contents, or set include_contents on this request.
  • Premium fields are withheld. Export the card through Contents with premium set to true to reveal them.
  • The schema CompanyListField lists the card’s fields. See What a list holds.
  • Each successful request bills one request. See Pricing.

Authorizations

X-API-Key
string
header
required

Body

application/json

A company screen. Every filter is optional; the screen covers active companies only.

include_contents
boolean
default:false

Inline the card's rows in the response, under card.content. Premium fields are never inlined: pass the card's webpage_url to POST /api/v1/contents with premium=true to unlock them.

max_rows
integer | null

Maximum number of rows to inline when include_contents is true. Omit it and Tako uses your account's inline row cap. Tako clamps a larger value to the card's export_pricing.max_rows_ceiling (at most 100,000). Every inlined row is billed at the POST /api/v1/contents rate. For the rest of the list, call POST /api/v1/contents with the card's webpage_url and an offset. A card export can hold up to 100,000 rows. Don't read a large export directly into a model's context: at about 15 tokens per row, 10,000 rows cost about 150,000 tokens. Write the export to a file, on disk or in memory, and have the agent parse it with code. Give the model only the rows or results it needs.

Required range: x >= 1
content_format
enum<string>
default:json_compact

Serialization for the inlined rows: 'json_compact', 'json_records', 'csv', or 'card_json'.

Available options:
csv,
json_records,
json_compact,
card_json
country
string | null

ISO 3166-1 alpha-2 code or English name.

region
string | null

State or province, as a name or an ISO 3166-2 code.

town
string | null

Town of the headquarters, or of the registered office when there's no headquarters. Needs country or region beside it.

min_employees
integer | null

People Data Labs' employee estimate.

Required range: x >= 0
max_employees
integer | null

People Data Labs' employee estimate.

Required range: x >= 0
industry
string | null

An industry's name or id, such as 'fintech' or 'aerospace_and_defense'. applied names the industries the screen ran on. An industry Tako doesn't recognize is a 400 unknown_industry whose suggestions are the closest industry ids.

funding_stages
enum<string>[] | null

Latest funding stages.

Available options:
angel,
convertible_note,
corporate_round,
debt_financing,
equity_crowdfunding,
grant,
initial_coin_offering,
non_equity_assistance,
post_ipo_debt,
post_ipo_equity,
post_ipo_secondary,
pre_seed,
private_equity,
product_crowdfunding,
secondary_market,
seed,
series_a,
series_b,
series_c,
series_d,
series_e,
series_f,
series_g,
series_h,
series_i,
series_j,
series_unknown,
undisclosed
ownership
enum<string> | null
Available options:
public,
private
startups
boolean
default:false

Startups: private companies founded in the last ten years (unless founded_after or founded_before names other years), of a startup type (not a government body, nonprofit, school or public company's subsidiary), that raised a venture round or have at most 500 employees.

founded_after
integer | null
Required range: 1600 <= x <= 2100
founded_before
integer | null
Required range: 1600 <= x <= 2100
order_by
enum<string> | null

A field to sort by. A leading minus sorts it in descending order.

Available options:
employees,
-employees,
founded,
-founded

Response

The active companies that match the filters, as a card

card
TakoCard · object | null
required

The list as a Tako card: embed it, inline its rows with include_contents, or pass its webpage_url to POST /api/v1/contents for every row (with an offset) and for premium fields (premium=true). CompanyListField names its fields. Null when nothing matched.

total
integer
required
total_is_lower_bound
boolean
required

True when total is the count cap (500), not an exact count. POST /api/v1/contents with the card's webpage_url reads past it.

applied
string[]
required

The filters the screen ran, with their resolved values.

notes
string[]
required