curl --request GET \
--url https://api.beta.dealroom.app/data/entities \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.beta.dealroom.app/data/entities"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.beta.dealroom.app/data/entities', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.beta.dealroom.app/data/entities",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.beta.dealroom.app/data/entities"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.beta.dealroom.app/data/entities")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.beta.dealroom.app/data/entities")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"view": "full",
"data": [
{
"uuid": "345d1ab6-33df-4759-9e17-0d0c0ec9ab1c",
"type": "person",
"subtype": null,
"name": "Patrick Collison",
"tagline": "<string>",
"about": "<string>",
"image": "<string>",
"dealroom_url": "<string>",
"links": {
"linkedin": "<string>",
"twitter": "<string>",
"angellist": "<string>",
"crunchbase": "<string>"
},
"locations": [
{
"role": "hq",
"city": {
"id": 123,
"name": "<string>"
},
"state": {
"id": 123,
"name": "<string>"
},
"country": {
"id": 123,
"name": "<string>"
},
"continent": {
"id": 123,
"name": "<string>"
},
"lat": 123,
"lon": 123
}
],
"roles": [
"founder"
],
"classifications": [
"startup"
],
"taxonomy": [
{
"id": 123,
"name": "<string>",
"type": "sector"
}
],
"gender": "male",
"signal_rating": 123,
"investor": {
"rank": 123,
"types": [
{
"id": 123,
"name": "<string>",
"code": "<string>"
}
],
"stages": [
{
"id": 123,
"name": "<string>",
"code": "<string>"
}
],
"deal_size": {
"min": 123,
"max": 123
},
"investments": {
"count": 123,
"total_invested": 123,
"preferred_round": "<string>",
"last_round_date": "2024-03"
},
"portfolio": {
"rounds_count": 123,
"total_valuation": 123,
"companies": {
"total": 123,
"sort": "-last_round_date",
"items": [
{
"is_lead": true,
"rounds_count": 123,
"last_round_date": "2024-03",
"company": {
"uuid": "<string>",
"type": "organization",
"subtype": "company",
"name": "<string>",
"image": "<string>",
"dealroom_url": "<string>"
}
}
]
}
},
"exits": {
"count": 123,
"total_value": 123,
"pct": 123
},
"match": {
"companies_count": 123,
"invested": 123
}
},
"founded_companies": {
"count": 123,
"total_funding": 123
},
"career": {
"total": 123,
"sort": "-is_founder,is_past,-start_date",
"items": [
{
"raw_title": "<string>",
"titles": [
"<string>"
],
"is_founder": true,
"is_executive": true,
"is_partner": true,
"is_past": true,
"start_date": "2024-03",
"end_date": "2024-03",
"company": {
"uuid": "<string>",
"type": "organization",
"subtype": "company",
"name": "<string>",
"image": "<string>",
"dealroom_url": "<string>"
}
}
]
},
"education": {
"total": 123,
"sort": "-start_date",
"items": [
{
"degree": {
"id": 123,
"name": "<string>"
},
"majors": [
{
"id": 123,
"name": "<string>"
}
],
"start_date": "2024-03",
"end_date": "2024-03",
"university": {
"uuid": "<string>",
"type": "organization",
"subtype": "university",
"name": "<string>",
"image": "<string>",
"dealroom_url": "<string>"
}
}
]
},
"available": [
"founded_companies"
],
"added_at": "<string>",
"updated_at": "<string>"
}
],
"page": {
"total": 123,
"limit": 123,
"offset": 123,
"next_cursor": "<string>",
"prev_cursor": "<string>",
"capped": true,
"tier": "anonymous",
"ecosystem": "<string>"
},
"currency": "<string>"
}List entities
Returns a paginated list of entities — the unified index across companies, investors, people, and universities. Each row is one of the per-class variants of the Entity union, selected by its own type and organization_subtype, and carries exactly the facets that class owns. Filter by 90+ keys (funding, location, sector, status, etc.), sort by any indexed field, and page through results. Monetary fields are converted to the requested ?currency= (default USD).
curl --request GET \
--url https://api.beta.dealroom.app/data/entities \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.beta.dealroom.app/data/entities"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.beta.dealroom.app/data/entities', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.beta.dealroom.app/data/entities",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.beta.dealroom.app/data/entities"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.beta.dealroom.app/data/entities")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.beta.dealroom.app/data/entities")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"view": "full",
"data": [
{
"uuid": "345d1ab6-33df-4759-9e17-0d0c0ec9ab1c",
"type": "person",
"subtype": null,
"name": "Patrick Collison",
"tagline": "<string>",
"about": "<string>",
"image": "<string>",
"dealroom_url": "<string>",
"links": {
"linkedin": "<string>",
"twitter": "<string>",
"angellist": "<string>",
"crunchbase": "<string>"
},
"locations": [
{
"role": "hq",
"city": {
"id": 123,
"name": "<string>"
},
"state": {
"id": 123,
"name": "<string>"
},
"country": {
"id": 123,
"name": "<string>"
},
"continent": {
"id": 123,
"name": "<string>"
},
"lat": 123,
"lon": 123
}
],
"roles": [
"founder"
],
"classifications": [
"startup"
],
"taxonomy": [
{
"id": 123,
"name": "<string>",
"type": "sector"
}
],
"gender": "male",
"signal_rating": 123,
"investor": {
"rank": 123,
"types": [
{
"id": 123,
"name": "<string>",
"code": "<string>"
}
],
"stages": [
{
"id": 123,
"name": "<string>",
"code": "<string>"
}
],
"deal_size": {
"min": 123,
"max": 123
},
"investments": {
"count": 123,
"total_invested": 123,
"preferred_round": "<string>",
"last_round_date": "2024-03"
},
"portfolio": {
"rounds_count": 123,
"total_valuation": 123,
"companies": {
"total": 123,
"sort": "-last_round_date",
"items": [
{
"is_lead": true,
"rounds_count": 123,
"last_round_date": "2024-03",
"company": {
"uuid": "<string>",
"type": "organization",
"subtype": "company",
"name": "<string>",
"image": "<string>",
"dealroom_url": "<string>"
}
}
]
}
},
"exits": {
"count": 123,
"total_value": 123,
"pct": 123
},
"match": {
"companies_count": 123,
"invested": 123
}
},
"founded_companies": {
"count": 123,
"total_funding": 123
},
"career": {
"total": 123,
"sort": "-is_founder,is_past,-start_date",
"items": [
{
"raw_title": "<string>",
"titles": [
"<string>"
],
"is_founder": true,
"is_executive": true,
"is_partner": true,
"is_past": true,
"start_date": "2024-03",
"end_date": "2024-03",
"company": {
"uuid": "<string>",
"type": "organization",
"subtype": "company",
"name": "<string>",
"image": "<string>",
"dealroom_url": "<string>"
}
}
]
},
"education": {
"total": 123,
"sort": "-start_date",
"items": [
{
"degree": {
"id": 123,
"name": "<string>"
},
"majors": [
{
"id": 123,
"name": "<string>"
}
],
"start_date": "2024-03",
"end_date": "2024-03",
"university": {
"uuid": "<string>",
"type": "organization",
"subtype": "university",
"name": "<string>",
"image": "<string>",
"dealroom_url": "<string>"
}
}
]
},
"available": [
"founded_companies"
],
"added_at": "<string>",
"updated_at": "<string>"
}
],
"page": {
"total": 123,
"limit": 123,
"offset": 123,
"next_cursor": "<string>",
"prev_cursor": "<string>",
"capped": true,
"tier": "anonymous",
"ecosystem": "<string>"
},
"currency": "<string>"
}Authorizations
OAuth2 client-credentials flow against the Dealroom Auth0 tenant. Use the client_id / client_secret from a Programmatic API key. Tokens are valid for 24h — Swagger UI will reuse the same token across operations. Revoking or deactivating a key rejects it on the next request (within a ≤5-minute server-side cache window), not at token expiry.
Headers
Pin a Stripe-style date-based API version (YYYY-MM-DD). Omit to use the latest version (2026-10-09). A pinned version is supported for 30 days after it is superseded, after which it returns 400.
"2026-10-09"
Query Parameters
Filter expression using nested syntax.
Examples:
- Single: total_funding[gte]:1000000
- Explicit ref: entity.total_funding[gte]:1000000
- AND: and(total_funding[gte]:1000000,classification[in_any]:unicorn)
- OR: or(hq_location[eq]:628061,hq_location[eq]:1297711)
- Nested: and(or(hq_location[eq]:628061,hq_location[eq]:1297711),total_funding[gte]:1000000)
- Relationship path: investor.total_invested_usd[gte]:100000000
- Two-hop relationship: founder__employer.taxonomy_id[eq]:123
Operators: eq, neq, gt, gte, lt, lte, in_any, nin_any in_all / nin_all are available on repeated related-record filters and on the classification / roles flag sets. Default ref: 'entity' (can be omitted for entity filters) Relationship filters: Use dot syntax (investor.field) for single-hop and
double-underscore+dot (outerRel__innerRel.field) for two-hop relationships.
"and(total_funding[gte]:1000000,hq_location[eq]:233)"
Number of results to return (1-500, default 25)
1 <= x <= 50025
Opaque cursor token from a previous response's page.next_cursor or page.prev_cursor. Round-trip it as-is — do not decode or modify.
"eyJ2IjoxLCJkIjoibmV4dCJ9"
Sort by one or more keys. Prefix with - for descending order; comma-separated for multi-key sorts.
^(?:-?\w+)?(?:,(?:-?\w+)?)*$"-launch_date"
Pass true to compute page.total (the matching record count). By default no count query runs and page.total is null.
true
ISO 4217 currency code for monetary field conversion. Defaults to USD.
"EUR"
Which row shape to return, echoed as view in the response. full is the complete row, priced as a full record. summary drops the full-only blocks (founders, revenue, traffic, patents, alumni, founded_companies, career, education, portfolio, exits, match, rank) and is priced as a summary record.
full, summary "summary"
Response
List of entities
- Entities — full rows
- Entities — summary rows
Entities: full rows by default, summary rows with view=summary.
The view served: full rows.
full - Person
- Company
- University
- Government & NGO
- Investor firm
Show child attributes
Show child attributes
Show child attributes
Show child attributes