Search Companies, Products, and Services
Searches entities by keyword, by meaning (semantic search), or by exact field filters, all sent in the request body. Without search text or sort, browse by updatedAt descending, then id ascending. Text search keeps relevance ranking; semanticQuery orders by embedding score. Organization expands to the canonical organization type group; semanticQuery ranks by stored content embeddings. For plain-English queries, use POST /v1/search/natural/entities. semanticQuery defines a bounded result set: the nearest rows at or above a relevance cutoff, capped in size and ordered by score; page numbers reach the whole set and totalElements counts it. Page 0 of a semantic set of 50 rows or fewer can emit a signed cursor; other pages continue by page number. To follow the cursor, reuse the same filters, sort, size, and visibility scope. countOnly is unsupported with cursor; count-only pages have no content; read totalElements. Non-semantic privileged backlog searches stop counting at 5001 matches. Below that value, totalElements is exact; at or above it, it is a lower bound, not an exact backlog size; Spring may raise it to the returned page’s offset plus row count.
Authentication
Your aVenture API key (https://aventure.vc/settings/api-keys) or OAuth access token
Headers
Send respond-async to get a semantic-search job back instead of waiting; poll the URL in its Location header.
Query parameters
Zero-based page index for offset paging; omit it for the first page. Ignored when cursor is sent: to continue a cursor traversal, send the X-Next-Cursor value as cursor and leave page out.
Return totalElements with empty content. With private visibility and backlog filters, without semanticQuery, 5001 means at least that many; lower totals are exact. The page empty flag describes content, not matches. Unsupported with cursor or includeFullDetail=true.
Opaque entity cursor; reuse filters and sort. Cursor is unsupported with countOnly; semanticQuery depends on the endpoint.
Sorting criteria in the format property,(asc|desc), where property is one of: id, nameBrand, foundedYear, operatingStatus, updatedAt, createdAt, nextDueAt, dataCompletionCoverage, totalRaised, amountInvested, recentInvestmentAt, stage, mostRecentAmount, latestValuation, mostRecentDate, notableActivityAt, acceleratorBrand, acceleratorCohort, headquartersCountry, employeeCount. Default order is ascending; repeat sort for multiple criteria.
Set true to return each match as a company detail search record instead of the list row: the headquarters address, the first 5 people (most recently updated association first), and the first 5 news articles (newest first). Full lists: GET /v1/entities/{entityId}/addresses, GET /v1/entities/{entityId}/people, and GET /v1/news?owner.entityId=.
Request
Affinity provider organization names accepted by the companies list filter. Affinity rows are member -> provider; use provider names here, not member names.
Rank terminal entities (Acquired, Closed, Closed (Acquihire), Inactive) after every other textSearch or semanticQuery match, ahead of relevance and sort, except that an exact textSearch name, slug, legal-name, or alias match of any status ranks ahead of every weaker match; omitted means true. false ranks them by relevance alone. Filter them out with operatingStatus or suppressNonOperating.
Current workforce ranges; omitted matchMode is numeric-only.
Opt in to Firms/Funds, a current source-stated investing mandate, or recorded non-grant direct/current-primary-managed investment participation. Omitted/false keeps legacy scope; explicit typeRecord intersects. Prose, legal form and missing funding establish nothing.
Operating states; omit for all.
Countries an entity is from: its headquarters country or the country of its current origin (founding) address, never a legal seat alone. What a nationality adjective (Colombian startups) means; headquartersCountry is only where it is based now.
Portfolio-company headquarters city values.
Portfolio-company headquarters country values.
Portfolio-company headquarters state or region values.
Extra listing check: COMPANY_LISTING_READY or NONE (default, no check).
Rank most prominent first (funding, stage, headcount, momentum, recent news, investor breadth), ahead of sort: what best, top, or most promising mean.
Free-text semantic search phrase, this body’s query text (there is no query field), such as “AI tools for dental clinics”. For an existing-record name read, send this body’s entityName field instead, compare the returned candidates’ identity fields and evidenced URLs, then read the confirmed id. Search results are candidates, not identity verdicts; an empty result means no visible match for those filters, not permission to file. Use universal lookup (POST /v1/lookup) only when its possible filing effect is intended; it accepts name, not entityName. Executable on POST /v1/entities/search; saved views persist it for replay. A semantic page ranks a bounded nearest-neighbor window: totalElements counts the ranked candidates reachable through continuation, not every matching entity.
Matches any one of these entries; combined with the other filters by AND.
Exclude public and acquired companies (including acquired subsidiaries); what startup means. Private companies at any round stay, as do companies without a recorded stage or operating status.
Non-blank company-identity search term: it matches only brand names, legal names, slugs, and name aliases (including near spellings of them), never descriptions, products, or topics. A topic, sector, or market word such as “climate” or “corporate card” returns no rows or name lookalikes here: filter by the industry, tag, mainProduct, or other classification fields, send the phrase as semanticQuery on POST /v1/entities/search, or ask natural search for plain-English or multi-constraint company requests.
Customer-type classification values.
Business-model values.
Ownership-model values.
Entity type filter. Organization expands to Company, Investment Firm, Nonprofit, Government, and Business Line; omit to include every entity type.
Revenue-model classification values.
Technology-used values.
Matches any listed registry identifier; combined with other filters by AND.
Current root domain to match when urlMatchMode=domain.
URL matching mode: hostPath uses host and path; domain uses the root domain. Omitted, it is domain when urlDomain is set, else hostPath.
Inclusive founding-year ranges.
Response headers
Opaque continuation token, present when another page exists; send it as cursor to read that page. The body’s number, first, and totalPages describe offset paging only; they do not advance while you follow cursors.
Requests allowed per client IP in the current rate-limit window.
Requests left before the tightest applicable rate-limit bucket rejects.
Seconds until the exhausted rate-limit bucket admits another request; 0 when none is exhausted.