Skip to main content
Most “why is my query returning nothing?” problems come from one mistake: filtering by a display name instead of the canonical permalink the API expects.
Locations, industries, and super categories are matched by exact permalink — not by the name you’d type in a search box. A wrong permalink is silently ignored: the filter is dropped and you get zero or unrelated results with no error. Always resolve the permalink first.

Resolve, then query

For locations and industries, never hand-write the permalink — look it up. Both lookup endpoints are free (0 credits) and use fuzzy matching, so a rough name is fine.
1

Find the permalink

Call the relevant search endpoint with a plain-English name.
Locations
Response
Pick the row at the level you actually want — a CITY, STATE, REGION, or COUNTRY are all distinct permalinks. Industry search works the same way via GET /industry/search and returns an industry_type of INDUSTRY or SUPER_CATEGORY.
2

Copy the permalink into your filter

Paste the exact permalink value into your query.
POST /deals
Permalinks are lowercase, kebab-case slugs. Many carry a short hex disambiguator suffix (fintech-e067, artificial-intelligence-e551) that distinguishes duplicate names — it is part of the value and must be included verbatim.
Don’t try to construct a permalink by hand (e.g. guessing "fintech""fintech-e067"). Always copy it from /industry/search or /location/search.

Industry vs. super category

industries are specific (e.g. machine-learning); super_categories are broad groupings that automatically include their related industries (e.g. artificial-intelligence-e551 pulls in many AI sub-industries). Use a super category when you want wide coverage, an industry when you want precision. Both come from /industry/search — check the industry_type field to tell them apart.

Round / financing types

Round types are the exception: there is no lookup endpoint because the set is a fixed enum. Pass them as objects under deal.financing_types, using the exact canonical value — not the human label.
Unlike locations and industries, an invalid financing_types value does return a 422 error (e.g. Invalid financing type(s): series-a). So you’ll know immediately — but you still have to use the canonical form below.
Pre-rounds and extensions are modifiers on the same value, not separate types:

Common mistakes

The Alerts API currently accepts round types as human-readable strings (e.g. ["Series A"]) rather than the SERIES_A enum used by /deals and /companies. This is a known inconsistency — follow the format shown in each endpoint’s own reference.