Company Filters and Vocabulary
Introduction
This endpoint returns the machine-readable contract for filtering and sorting companies: every filter field accepted by POST /companies, the operator and value type each one expects, the enum vocabulary for enum-backed fields (such as region), the available sort keys, and the company sub-resources you can drill into. Read it once when integrating, or poll it to keep client-side validation and dropdowns in sync with the API. It is a discovery document only and accepts no parameters.
Set up
Endpoint
GET https://multiples.vc/api/private/v1/lookup/companies
Request
This endpoint takes no path or query parameters. Issue a plain authenticated GET:
GET https://multiples.vc/api/private/v1/lookup/companies
Use the returned filters to build a filters object for POST /companies. Match each filter's operators to its type:
|
operator |
applies to |
meaning |
|---|---|---|
|
|
string, boolean |
Exact match. |
|
|
array_string, array_uuid |
Value is one of the supplied list. |
|
|
string |
Case-insensitive substring match. |
|
|
number, date, datetime |
Greater than or equal to. |
|
|
number, date |
Less than or equal to. |
|
|
array_string |
Row's array shares at least one value with the supplied list. |
Response
{
"data": {
"filters": [
{
"field": "id",
"type": "array_uuid",
"operators": [
"in"
],
"description": "Batch lookup of company UUIDs."
},
{
"field": "name",
"type": "string",
"operators": [
"ilike",
"eq"
],
"description": "Case-insensitive substring match on the company name."
},
{
"field": "country",
"type": "array_string",
"operators": [
"in"
],
"description": "ISO-3 country codes (e.g. USA, GBR, DEU)."
},
{
"field": "region",
"type": "array_string",
"operators": [
"in"
],
"values": [
"Africa",
"Central Asia",
"East Asia",
"Eastern Europe",
"Latin America",
"Middle East",
"North America",
"Northern Europe",
"Oceania",
"South Asia",
"South-East Asia",
"Southern Europe",
"Western Europe"
]
},
{
"field": "verticals",
"type": "array_string",
"operators": [
"overlaps"
]
},
{
"field": "themes",
"type": "array_string",
"operators": [
"overlaps"
]
},
{
"field": "client_focus",
"type": "array_string",
"operators": [
"overlaps"
]
},
{
"field": "revenue_model",
"type": "array_string",
"operators": [
"overlaps"
]
},
{
"field": "company_type",
"type": "array_string",
"operators": [
"overlaps"
]
},
{
"field": "ownership",
"type": "string",
"operators": [
"eq"
],
"description": "Exact match on ownership label (e.g. 'Publicly listed', 'Privately held')."
},
{
"field": "active",
"type": "boolean",
"operators": [
"eq"
]
},
{
"field": "founded_min",
"type": "number",
"operators": [
"gte"
],
"description": "Founding-year lower bound."
},
{
"field": "founded_max",
"type": "number",
"operators": [
"lte"
]
},
{
"field": "ipoed_from",
"type": "date",
"operators": [
"gte"
]
},
{
"field": "ipoed_to",
"type": "date",
"operators": [
"lte"
]
},
{
"field": "updated_at",
"type": "datetime",
"operators": [
"gte"
],
"description": "Change-feed checkpoint."
},
{
"field": "include_deleted",
"type": "boolean",
"operators": [
"eq"
],
"description": "Default false. Set true on change-feed pulls."
}
],
"sort_fields": [
"name",
"founded",
"ipoed",
"updated_at"
],
"sub_resources": [
"/companies/{id}/fundings",
"/companies/{id}/acquisitions",
"/companies/{id}/investments",
"/companies/{id}/investors"
]
}
}
Fields
Top-level
|
field |
type |
description |
|---|---|---|
|
|
array<object> |
Every filter field accepted by |
|
|
array<string> |
Field names accepted by the |
|
|
array<string> |
Relative paths of per-company sub-resources. Substitute a company |
filters[] entry
|
field |
type |
description |
|---|---|---|
|
|
string |
The filter key to use inside the |
|
|
string |
Value type: one of |
|
|
array<string> |
Operators this field supports: one or more of |
|
|
array<string> |
Present only when the field is enum-backed; the complete set of accepted values. |
|
|
string |
Human-readable note on how the filter behaves. Returned only for filters that carry one. |
Filter vocabulary
The filters array is the canonical list of company filters. Notable fields:
|
field |
type |
description |
|---|---|---|
|
|
array_uuid |
Batch lookup of company UUIDs. |
|
|
string |
Case-insensitive substring match on the company name. |
|
|
array_string |
ISO-3 country codes (e.g. USA, GBR, DEU). |
|
|
array_string |
Macro region. Enum-backed; allowed values are listed in |
|
|
array_string |
Sector verticals; |
|
|
array_string |
Investment themes; |
|
|
array_string |
Primary customer segment (e.g. B2B, B2C); |
|
|
array_string |
Business / revenue model; |
|
|
array_string |
Company classification; |
|
|
string |
Exact match on ownership label (e.g. 'Publicly listed', 'Privately held'). |
|
|
boolean |
Filters by active vs. inactive status. |
|
|
number |
Founding-year lower bound. |
|
|
number |
Founding-year upper bound. |
|
|
date |
IPO date lower bound (inclusive). |
|
|
date |
IPO date upper bound (inclusive). |
|
|
datetime |
Change-feed checkpoint: return records changed at or after this timestamp. |
|
|
boolean |
Default false. Set true on change-feed pulls to include soft-deleted records. |
The verticals, themes, client_focus, revenue_model, and company_type fields are open vocabularies and do not return a fixed values list. Use POST /companies to discover the values present in the dataset.

