data array of organisation rows and a metadata object (total hits, mode, timing, pagination cursor, filters applied).
Requirements
You must supply at least one of:filters: column filters only (browse / filter mode)keywords: BM25 text searchdescribe: natural-language description → embedding search (cannot be combined withsimilar_to)similar_to: similarity to one or more reference domains (cannot be combined withdescribe)
similar_to and describe are mutually exclusive.
Search mode (automatic)
You do not send a mode name. The API infers it from your inputs:metadata.mode value | When it runs |
|---|---|
filter | Only filters (no keywords, describe, or similar_to) |
fulltext | keywords only (no describe, no similar_to) |
semantic | describe only |
vector_similarity | similar_to only |
hybrid | keywords together with similar_to or with describe |
search_balance from 0.0 (BM25-heavy) to 1.0 (vector-heavy); default 0.5.
Request body (overview)
| Field | Notes |
|---|---|
columns | Subset of allowed columns; domain is always returned. Default ["domain", "name", "country"]. See Reference. |
size | Page size, default 100, maximum 500. |
min_score | Optional 0.0–1.0 cosine similarity floor for vector / semantic / hybrid modes. |
search_after | Opaque cursor from the previous response’s metadata.search_after for pagination. |
dedup | If true, collapse rows that share the same organization name, keeping the best match until size rows. |
Keywords (keywords)
Drives BM25 search on name and description (and participates in hybrid):
must_not alone is invalid: you need at least one of must_all or must_any whenever must_not is present.
Similar organizations (similar_to)
Pass up to three domains as strings, or as objects for steering (boost / penalize terms, repel domains, weight):
boost,penalize,repel_domains: up to 5 entries each.weight: number from 0.0 to 2.0, or the stringsweak,normal,strong(mapped to internal numeric weights). Default 1.0.
Semantic description (describe)
Free-text description of the kind of organizations you want; embedded and searched like a vector query. Cannot be used together with similar_to.
Filters (filters)
Optional on any mode. Multiple values in a list are OR-combined for that field. Full field list and semantics: Reference, filters.
Inside filters, text_keywords uses the same shape as top-level keywords but acts as a strict BM25 filter on text (slower than summary_keywords for exact keyword-array matches).
Excludes
excludes is a list of domains that must not appear in results, regardless of score.
Pagination
- First page: omit
search_afteror sendnull. - Next page: copy
metadata.search_afterfrom the previous response into the next request.
metadata.search_after is null, there is no further page.
Example requests
Filter-only browse (Germany):Response shape
total_hits may be null in some filter paths. See Errors for failure responses.