curl --request GET \
--url https://api.dealroom.app/data/companies/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.dealroom.app/data/companies/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.dealroom.app/data/companies/{id}', 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.dealroom.app/data/companies/{id}",
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.dealroom.app/data/companies/{id}"
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.dealroom.app/data/companies/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.dealroom.app/data/companies/{id}")
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{
"data": {
"uuid": "345d1ab6-33df-4759-9e17-0d0c0ec9ab1c",
"type": "organization",
"domain": "stripe.com",
"name": "Stripe",
"tagline": "<string>",
"about": "<string>",
"image": "<string>",
"dealroom_url": "<string>",
"links": {
"website": "<string>",
"linkedin": "<string>",
"twitter": "<string>",
"instagram": "<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"
],
"taxonomy": [
{
"id": 123,
"name": "<string>",
"type": "sector"
}
],
"launch_date": "2024-03",
"closing_date": "2024-03",
"employees_count": 123,
"added_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"subtype": "company",
"classifications": [
"startup"
],
"employee_count_1y_growth": 123,
"status": "operational",
"signal_rating": 123,
"unicorn_type": "<string>",
"became_unicorn_date": "2024-03",
"became_thoroughbred_date": "2024-03",
"exit_date": "2024-03",
"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
}
},
"funding": {
"total": 123,
"total_vc": 123,
"rounds_count": 123
},
"valuation": {
"value": 123,
"year": 123,
"month": 123
},
"jobs": {
"is_hiring": true,
"open_count": 123
},
"revenue": {
"value": 123,
"year": 123
},
"traffic": {
"monthly_visits": 123,
"growth_3m": 123
},
"patents": {
"count": 123
},
"founders": {
"total": 123,
"sort": "-is_strong_founder,-signal_rating",
"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",
"person": {
"uuid": "<string>",
"type": "organization",
"subtype": "company",
"name": "<string>",
"image": "<string>",
"dealroom_url": "<string>",
"classifications": [
"serial_founder"
]
}
}
]
},
"available": [
"founders"
]
},
"currency": "<string>"
}{
"error": {
"code": "UNAUTHORIZED",
"message": "Authentication required — provide a valid bearer token.",
"details": null
}
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "<string>",
"details": [
{
"path": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"code": "FORBIDDEN",
"message": "You do not have permission to perform this action.",
"details": null
}
}{
"error": {
"code": "NOT_FOUND",
"message": "The requested resource was not found.",
"details": null
}
}{
"error": {
"code": "RATE_LIMITED",
"message": "Rate limit exceeded — retry after the delay in the `Retry-After` header.",
"details": null
}
}{
"error": {
"code": "SERVICE_UNAVAILABLE",
"message": "The service is temporarily unavailable.",
"details": null
}
}Get single company
Returns the full company record by UUID (numeric IDs are not accepted), including the company sub-object (unicorn/VC-backed flags, status, traffic) alongside the shared entity base fields. Monetary fields convert to the requested ?currency= (default USD).
curl --request GET \
--url https://api.dealroom.app/data/companies/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.dealroom.app/data/companies/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.dealroom.app/data/companies/{id}', 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.dealroom.app/data/companies/{id}",
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.dealroom.app/data/companies/{id}"
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.dealroom.app/data/companies/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.dealroom.app/data/companies/{id}")
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{
"data": {
"uuid": "345d1ab6-33df-4759-9e17-0d0c0ec9ab1c",
"type": "organization",
"domain": "stripe.com",
"name": "Stripe",
"tagline": "<string>",
"about": "<string>",
"image": "<string>",
"dealroom_url": "<string>",
"links": {
"website": "<string>",
"linkedin": "<string>",
"twitter": "<string>",
"instagram": "<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"
],
"taxonomy": [
{
"id": 123,
"name": "<string>",
"type": "sector"
}
],
"launch_date": "2024-03",
"closing_date": "2024-03",
"employees_count": 123,
"added_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"subtype": "company",
"classifications": [
"startup"
],
"employee_count_1y_growth": 123,
"status": "operational",
"signal_rating": 123,
"unicorn_type": "<string>",
"became_unicorn_date": "2024-03",
"became_thoroughbred_date": "2024-03",
"exit_date": "2024-03",
"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
}
},
"funding": {
"total": 123,
"total_vc": 123,
"rounds_count": 123
},
"valuation": {
"value": 123,
"year": 123,
"month": 123
},
"jobs": {
"is_hiring": true,
"open_count": 123
},
"revenue": {
"value": 123,
"year": 123
},
"traffic": {
"monthly_visits": 123,
"growth_3m": 123
},
"patents": {
"count": 123
},
"founders": {
"total": 123,
"sort": "-is_strong_founder,-signal_rating",
"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",
"person": {
"uuid": "<string>",
"type": "organization",
"subtype": "company",
"name": "<string>",
"image": "<string>",
"dealroom_url": "<string>",
"classifications": [
"serial_founder"
]
}
}
]
},
"available": [
"founders"
]
},
"currency": "<string>"
}{
"error": {
"code": "UNAUTHORIZED",
"message": "Authentication required — provide a valid bearer token.",
"details": null
}
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "<string>",
"details": [
{
"path": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"code": "FORBIDDEN",
"message": "You do not have permission to perform this action.",
"details": null
}
}{
"error": {
"code": "NOT_FOUND",
"message": "The requested resource was not found.",
"details": null
}
}{
"error": {
"code": "RATE_LIMITED",
"message": "Rate limit exceeded — retry after the delay in the `Retry-After` header.",
"details": null
}
}{
"error": {
"code": "SERVICE_UNAVAILABLE",
"message": "The service is temporarily unavailable.",
"details": null
}
}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"
Path Parameters
Stable UUID of the entity. Numeric ids are not accepted.
1"345d1ab6-33df-4759-9e17-0d0c0ec9ab1c"
Query Parameters
ISO 4217 currency code for monetary field conversion. Defaults to USD.
"EUR"