Get a Company Detail
curl --request GET \
--url https://sacra.com/api/v1/companies/{company_slug}/ \
--header 'Authorization: <api-key>'import requests
url = "https://sacra.com/api/v1/companies/{company_slug}/"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://sacra.com/api/v1/companies/{company_slug}/', 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://sacra.com/api/v1/companies/{company_slug}/",
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: <api-key>"
],
]);
$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://sacra.com/api/v1/companies/{company_slug}/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://sacra.com/api/v1/companies/{company_slug}/")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sacra.com/api/v1/companies/{company_slug}/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"company": {
"id": 239,
"slug": "kraken",
"name": "Kraken",
"domain": "kraken.com",
"alternative_domains": [],
"cik": null,
"is_active": true,
"type": "private",
"updated_at": "2026-02-09T20:03:19Z",
"logo": {
"url": "https://sacra-logos.s3.us-east-2.amazonaws.com/company_logos/512.png?v=8c1f03aa",
"dimensions": {
"width": 400,
"height": 400
}
},
"social": [
{
"url": "https://twitter.com/krakenfx",
"type": "twitter"
},
{
"url": "https://www.linkedin.com/company/krakenfx/about/",
"type": "linkedin"
}
],
"founding_year": 2011,
"legal_entities": [
{
"name": "Payward, Inc.",
"country": "United States"
}
],
"headquarters": {
"city": "San Francisco",
"country": "United States"
},
"key_people": {
"founders": [
{
"id": "869b4ca8-da2c-4bad-8f6f-9fe89e550755",
"name": "Jesse Powell"
}
],
"ceo": [
{
"id": "869b4ca8-da2c-4bad-8f6f-9fe89e550755",
"name": "Jesse Powell"
}
]
},
"description": "Crypto exchange for professional traders with deep liquidity and strong security infrastructure",
"categories": [
{
"id": 45,
"name": "crypto exchange",
"slug": "crypto-exchange"
},
{
"id": 39,
"name": "crypto",
"slug": "crypto"
}
],
"documents": [
{
"id": 614,
"slug": "david-ripley-kraken-crypto-exchanges",
"title": "David Ripley, COO of Kraken, on the future of cryptocurrency exchanges",
"link": "https://sacra.com/f/3qM9xK2pR7vT8nL4cYwJ6aH1uB5dZ0eQ",
"type": "interview",
"date": "2022-06-13",
"relation": "subject",
"preview_meta": {
"title": "David Ripley, COO of Kraken, on the future of cryptocurrency exchanges",
"image": "https://images.prismic.io/sacra/11a55ca0-161a-4019-aba4-d1cfdc5c24fd_David+Ripley.png?auto=compress,format",
"description": "Sacra interview with David Ripley, COO of Kraken."
}
}
],
"company_datasets": [
{
"id": "0fcc2ca9-ba40-4301-95e6-807341de19dc",
"name": "Kraken: Revenue ($M)",
"x_label": "Time",
"y_label": "Revenue",
"data": [
{
"x": "2022-12-31T00:00:00.000Z",
"y": 931200000,
"type": "historical"
},
{
"x": "2023-12-31T00:00:00.000Z",
"y": 657894736.84,
"type": "historical"
},
{
"x": "2024-12-31T00:00:00.000Z",
"y": 1500000000,
"type": "historical"
}
],
"source_type": "Google Sheets",
"source_url": "https://docs.google.com/spreadsheets/d/example/edit",
"status": "Active",
"data_type": "Revenue",
"frequency": "Year",
"metric": "USD",
"start_date": "2022-12-31T00:00:00Z",
"end_date": "2025-09-30T00:00:00Z",
"created_at": "2023-09-06T15:48:50.491109Z",
"updated_at": "2026-02-09T07:14:13.976508Z",
"company": 239
}
],
"financials": [
{
"name": "latest_estimated_revenue",
"value": 1551900000,
"date": "2025-09-30"
},
{
"name": "latest_estimated_valuation",
"value": 20000000000,
"date": "2025-11-19"
},
{
"name": "total_estimated_funding",
"value": 832000000,
"date": "2025-11-19"
}
],
"listings": [],
"milestones": []
}
}Companies
Get company detail - Companies API
Retrieve a company’s complete profile, research, financials, and related data by domain, ID, or slug.
GET
/
api
/
v1
/
companies
/
{company_slug}
/
Get a Company Detail
curl --request GET \
--url https://sacra.com/api/v1/companies/{company_slug}/ \
--header 'Authorization: <api-key>'import requests
url = "https://sacra.com/api/v1/companies/{company_slug}/"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://sacra.com/api/v1/companies/{company_slug}/', 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://sacra.com/api/v1/companies/{company_slug}/",
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: <api-key>"
],
]);
$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://sacra.com/api/v1/companies/{company_slug}/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://sacra.com/api/v1/companies/{company_slug}/")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sacra.com/api/v1/companies/{company_slug}/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"company": {
"id": 239,
"slug": "kraken",
"name": "Kraken",
"domain": "kraken.com",
"alternative_domains": [],
"cik": null,
"is_active": true,
"type": "private",
"updated_at": "2026-02-09T20:03:19Z",
"logo": {
"url": "https://sacra-logos.s3.us-east-2.amazonaws.com/company_logos/512.png?v=8c1f03aa",
"dimensions": {
"width": 400,
"height": 400
}
},
"social": [
{
"url": "https://twitter.com/krakenfx",
"type": "twitter"
},
{
"url": "https://www.linkedin.com/company/krakenfx/about/",
"type": "linkedin"
}
],
"founding_year": 2011,
"legal_entities": [
{
"name": "Payward, Inc.",
"country": "United States"
}
],
"headquarters": {
"city": "San Francisco",
"country": "United States"
},
"key_people": {
"founders": [
{
"id": "869b4ca8-da2c-4bad-8f6f-9fe89e550755",
"name": "Jesse Powell"
}
],
"ceo": [
{
"id": "869b4ca8-da2c-4bad-8f6f-9fe89e550755",
"name": "Jesse Powell"
}
]
},
"description": "Crypto exchange for professional traders with deep liquidity and strong security infrastructure",
"categories": [
{
"id": 45,
"name": "crypto exchange",
"slug": "crypto-exchange"
},
{
"id": 39,
"name": "crypto",
"slug": "crypto"
}
],
"documents": [
{
"id": 614,
"slug": "david-ripley-kraken-crypto-exchanges",
"title": "David Ripley, COO of Kraken, on the future of cryptocurrency exchanges",
"link": "https://sacra.com/f/3qM9xK2pR7vT8nL4cYwJ6aH1uB5dZ0eQ",
"type": "interview",
"date": "2022-06-13",
"relation": "subject",
"preview_meta": {
"title": "David Ripley, COO of Kraken, on the future of cryptocurrency exchanges",
"image": "https://images.prismic.io/sacra/11a55ca0-161a-4019-aba4-d1cfdc5c24fd_David+Ripley.png?auto=compress,format",
"description": "Sacra interview with David Ripley, COO of Kraken."
}
}
],
"company_datasets": [
{
"id": "0fcc2ca9-ba40-4301-95e6-807341de19dc",
"name": "Kraken: Revenue ($M)",
"x_label": "Time",
"y_label": "Revenue",
"data": [
{
"x": "2022-12-31T00:00:00.000Z",
"y": 931200000,
"type": "historical"
},
{
"x": "2023-12-31T00:00:00.000Z",
"y": 657894736.84,
"type": "historical"
},
{
"x": "2024-12-31T00:00:00.000Z",
"y": 1500000000,
"type": "historical"
}
],
"source_type": "Google Sheets",
"source_url": "https://docs.google.com/spreadsheets/d/example/edit",
"status": "Active",
"data_type": "Revenue",
"frequency": "Year",
"metric": "USD",
"start_date": "2022-12-31T00:00:00Z",
"end_date": "2025-09-30T00:00:00Z",
"created_at": "2023-09-06T15:48:50.491109Z",
"updated_at": "2026-02-09T07:14:13.976508Z",
"company": 239
}
],
"financials": [
{
"name": "latest_estimated_revenue",
"value": 1551900000,
"date": "2025-09-30"
},
{
"name": "latest_estimated_valuation",
"value": 20000000000,
"date": "2025-11-19"
},
{
"name": "total_estimated_funding",
"value": 832000000,
"date": "2025-11-19"
}
],
"listings": [],
"milestones": []
}
}Use this endpoint when you need more than the lightweight identity fields from
the company list. Every lookup method returns the same full
Use the domain when you need an identifier that works across Sacra endpoints.
Pass the bare domain, such as
The OpenAPI operation below documents this path-based slug lookup. Domain, ID,
and query-slug lookups use
company detail
payload, including:
- Identity and profile fields such as name, domain, type, description, logo, and headquarters
- Founders, CEOs, legal entities, categories, and social links
- Latest available revenue, valuation, and total funding figures
- Related Sacra research documents and time-series datasets
- Exchange listings and company milestones, when available
company_datasets, documents, listings, and milestones can
be empty when Sacra does not have that type of data for a company.
Choose an identifier
| Identifier | Request |
|---|---|
| Domain | GET /api/v1/companies/?company_domain=stripe.com |
| Numeric ID | GET /api/v1/companies/?id=112 |
| Slug in path | GET /api/v1/companies/stripe/ |
| Slug in query | GET /api/v1/companies/?company_slug=stripe |
stripe.com, without a protocol or path. Sacra can
also resolve a known alternative domain to its company profile.
Use the slug path when you already have the slug from a company response or
want a readable resource URL. Use the numeric ID when your integration stores
Sacra IDs as foreign keys.
Provide exactly one of
company_domain, id, or company_slug. Do not
combine a company identifier with mode=sync.Get by domain
curl -H "Authorization: Token YOUR_API_KEY" \
"https://sacra.com/api/v1/companies/?company_domain=stripe.com"
Get by ID
curl -H "Authorization: Token YOUR_API_KEY" \
"https://sacra.com/api/v1/companies/?id=112"
Get by slug
curl -H "Authorization: Token YOUR_API_KEY" \
"https://sacra.com/api/v1/companies/stripe/"
/api/v1/companies/ but return the same detail schema.Authorizations
Authenticate using one of two formats:
- Organization/user token:
Token <your-token> - Stytch JWT:
Bearer <your-jwt>
Path Parameters
URL slug of the company (e.g. stripe).
Response
Full company detail payload.
Show child attributes
Show child attributes
⌘I