curl --request GET \
--url https://astreus.ai/api/v1/companies/{id}/supply-chain \
--header 'X-API-KEY: <api-key>'import requests
url = "https://astreus.ai/api/v1/companies/{id}/supply-chain"
headers = {"X-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://astreus.ai/api/v1/companies/{id}/supply-chain', 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://astreus.ai/api/v1/companies/{id}/supply-chain",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-KEY: <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://astreus.ai/api/v1/companies/{id}/supply-chain"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-KEY", "<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://astreus.ai/api/v1/companies/{id}/supply-chain")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://astreus.ai/api/v1/companies/{id}/supply-chain")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"supply_chain": {
"company": {
"cik": "0001045810",
"name": "NVIDIA CORP",
"ticker": "NVDA"
},
"status": "ok",
"data_revision": "7191:20",
"as_of": null,
"as_of_policy": "public_by_cutoff_current_rules",
"freshness": {
"latest_source_public_at": "2026-08-18T11:12:07.000Z",
"pending_refresh": false
},
"coverage": {
"benchmark": "revenue",
"period_start": "2025-01-27",
"period_end": "2026-01-25",
"accession": "0001045810-26-000021",
"denominator_source": "discloser_filing",
"disclosed_pct": "36",
"total_pct": "36",
"state": "measured",
"scope_note": "us-gaap:StatementBusinessSegmentsAxis=nvda:ComputeAndNetworkingSegmentMember",
"contributing_edge_keys": [
"2095a585804c5e136ed50aae6846804709f3f612",
"d3546887102d8411cf3f74d4ae1f721b337e3b22"
],
"excluded": [
{
"edge_key": "55c8b677d9e207c73543037174b3e1dd82b9c1e0",
"reason": "indirect_scope"
}
]
},
"relationships": [
{
"edge_key": "2178ffc83e8605da2ac5ac20448111ee7a419e71",
"kind": "supply",
"role_for_subject": "supplier",
"scope": "direct_commercial",
"other_party": {
"counterparty_id": 1182,
"kind": "public_company",
"name": "Fabrinet",
"cik": "0001408710",
"ticker": "FN"
},
"direction": "disclosed_by_other",
"assertion_count": 15,
"latest_period_end": "2026-06-26",
"freshness": {
"latest_public_at": "2026-08-18T11:12:07.000Z",
"stale": false,
"superseded": false
},
"metrics": [
{
"metric": "attributed_revenue_amount",
"whose": {
"cik": "0001408710",
"name": "Fabrinet"
},
"period_start": "2025-06-28",
"period_end": "2026-06-26",
"periodicity": "annual",
"value": "756498811",
"unit": "USD",
"approximate": true,
"state": "eligible",
"reasons": [],
"notes": [
"derived_from_rounded_pct"
],
"provenance": {
"discloser_cik": "0001408710",
"accession": "0001408710-26-000028",
"public_at": "2026-08-18T11:12:07.000Z",
"evidence_id": 426,
"quant_id": 7191,
"fact_source_key": "rel::2178ffc83e8605da2ac5ac20448111ee7a419e71::attributed_revenue_amount::7191"
},
"low": "754178262.5",
"high": "758819359.5",
"currency": "USD"
},
{
"metric": "discloser_revenue_pct",
"whose": {
"cik": "0001408710",
"name": "Fabrinet"
},
"period_start": "2025-06-28",
"period_end": "2026-06-26",
"periodicity": "annual",
"value": "16.3",
"unit": "pct",
"approximate": true,
"state": "eligible",
"reasons": [],
"notes": [],
"provenance": {
"discloser_cik": "0001408710",
"accession": "0001408710-26-000028",
"public_at": "2026-08-18T11:12:07.000Z",
"evidence_id": 426,
"quant_id": 7190,
"fact_source_key": "rel::2178ffc83e8605da2ac5ac20448111ee7a419e71::discloser_revenue_pct::7190"
},
"low": "16.25",
"high": "16.35"
},
{
"metric": "receivables_pct",
"whose": {
"cik": "0001408710",
"name": "Fabrinet"
},
"period_start": "2024-06-29",
"period_end": "2025-06-27",
"periodicity": "annual",
"value": "25.5",
"unit": "pct",
"approximate": true,
"state": "eligible",
"reasons": [],
"notes": [],
"provenance": {
"discloser_cik": "0001408710",
"accession": "0001408710-26-000028",
"public_at": "2026-08-18T11:12:07.000Z",
"evidence_id": 424,
"quant_id": 7187,
"fact_source_key": "rel::2178ffc83e8605da2ac5ac20448111ee7a419e71::receivables_pct::7187"
},
"low": "25.45",
"high": "25.55"
}
]
}
],
"counts": {
"customers": 0,
"suppliers": 1,
"competitors": 0,
"partners": 0,
"quantified": 1,
"total": 1
},
"page_info": {
"limit": 50,
"offset": 0,
"total": 1,
"next_cursor": null
}
}
}{
"error": "<string>",
"code": "unauthenticated"
}{
"error": "<string>",
"code": "unauthenticated"
}{
"error": "<string>",
"code": "unauthenticated"
}{
"error": "<string>",
"code": "unauthenticated"
}Supply chain
Disclosed suppliers, customers, competitors and partners with source-backed metrics. Every metric states whose figure it is (whose), the measurement period, the filing (provenance.accession) and, when withheld, the reason codes — cite those, never a bare percentage. coverage is the disclosed-customer share of the company’s own revenue for one filing and period (never an estimate of the whole network). Anonymous customers (“Customer One”) are filing-scoped and never unified across filings; labels a later report superseded are omitted unless include_historical=true. Every relationship carries evidence_basis: filed_structured (the filer’s XBRL facts), company_published (a supplier/customer/partner list the company itself publishes), human_certified (filing text, human-audited), model_extracted (filing text incl. 8-K Item 1.01, quote-anchored, model-extracted under an active serving policy) or call_transcript (an earnings-call passage) — cite it as such. With include_estimates=true, metrics of state estimate (counterparty_revenue_pct_est) attribute a counterparty’s undisclosed top-customer share by rule; they are estimates, never disclosed figures, and never enter coverage. Counterparties of kind named_unlinked are named in the filing but matched to no company page. status distinguishes not_processed, no_disclosures_found, partial and ok; as_of returns what was public through that UTC date under today’s rules.
curl --request GET \
--url https://astreus.ai/api/v1/companies/{id}/supply-chain \
--header 'X-API-KEY: <api-key>'import requests
url = "https://astreus.ai/api/v1/companies/{id}/supply-chain"
headers = {"X-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://astreus.ai/api/v1/companies/{id}/supply-chain', 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://astreus.ai/api/v1/companies/{id}/supply-chain",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-KEY: <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://astreus.ai/api/v1/companies/{id}/supply-chain"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-KEY", "<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://astreus.ai/api/v1/companies/{id}/supply-chain")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://astreus.ai/api/v1/companies/{id}/supply-chain")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"supply_chain": {
"company": {
"cik": "0001045810",
"name": "NVIDIA CORP",
"ticker": "NVDA"
},
"status": "ok",
"data_revision": "7191:20",
"as_of": null,
"as_of_policy": "public_by_cutoff_current_rules",
"freshness": {
"latest_source_public_at": "2026-08-18T11:12:07.000Z",
"pending_refresh": false
},
"coverage": {
"benchmark": "revenue",
"period_start": "2025-01-27",
"period_end": "2026-01-25",
"accession": "0001045810-26-000021",
"denominator_source": "discloser_filing",
"disclosed_pct": "36",
"total_pct": "36",
"state": "measured",
"scope_note": "us-gaap:StatementBusinessSegmentsAxis=nvda:ComputeAndNetworkingSegmentMember",
"contributing_edge_keys": [
"2095a585804c5e136ed50aae6846804709f3f612",
"d3546887102d8411cf3f74d4ae1f721b337e3b22"
],
"excluded": [
{
"edge_key": "55c8b677d9e207c73543037174b3e1dd82b9c1e0",
"reason": "indirect_scope"
}
]
},
"relationships": [
{
"edge_key": "2178ffc83e8605da2ac5ac20448111ee7a419e71",
"kind": "supply",
"role_for_subject": "supplier",
"scope": "direct_commercial",
"other_party": {
"counterparty_id": 1182,
"kind": "public_company",
"name": "Fabrinet",
"cik": "0001408710",
"ticker": "FN"
},
"direction": "disclosed_by_other",
"assertion_count": 15,
"latest_period_end": "2026-06-26",
"freshness": {
"latest_public_at": "2026-08-18T11:12:07.000Z",
"stale": false,
"superseded": false
},
"metrics": [
{
"metric": "attributed_revenue_amount",
"whose": {
"cik": "0001408710",
"name": "Fabrinet"
},
"period_start": "2025-06-28",
"period_end": "2026-06-26",
"periodicity": "annual",
"value": "756498811",
"unit": "USD",
"approximate": true,
"state": "eligible",
"reasons": [],
"notes": [
"derived_from_rounded_pct"
],
"provenance": {
"discloser_cik": "0001408710",
"accession": "0001408710-26-000028",
"public_at": "2026-08-18T11:12:07.000Z",
"evidence_id": 426,
"quant_id": 7191,
"fact_source_key": "rel::2178ffc83e8605da2ac5ac20448111ee7a419e71::attributed_revenue_amount::7191"
},
"low": "754178262.5",
"high": "758819359.5",
"currency": "USD"
},
{
"metric": "discloser_revenue_pct",
"whose": {
"cik": "0001408710",
"name": "Fabrinet"
},
"period_start": "2025-06-28",
"period_end": "2026-06-26",
"periodicity": "annual",
"value": "16.3",
"unit": "pct",
"approximate": true,
"state": "eligible",
"reasons": [],
"notes": [],
"provenance": {
"discloser_cik": "0001408710",
"accession": "0001408710-26-000028",
"public_at": "2026-08-18T11:12:07.000Z",
"evidence_id": 426,
"quant_id": 7190,
"fact_source_key": "rel::2178ffc83e8605da2ac5ac20448111ee7a419e71::discloser_revenue_pct::7190"
},
"low": "16.25",
"high": "16.35"
},
{
"metric": "receivables_pct",
"whose": {
"cik": "0001408710",
"name": "Fabrinet"
},
"period_start": "2024-06-29",
"period_end": "2025-06-27",
"periodicity": "annual",
"value": "25.5",
"unit": "pct",
"approximate": true,
"state": "eligible",
"reasons": [],
"notes": [],
"provenance": {
"discloser_cik": "0001408710",
"accession": "0001408710-26-000028",
"public_at": "2026-08-18T11:12:07.000Z",
"evidence_id": 424,
"quant_id": 7187,
"fact_source_key": "rel::2178ffc83e8605da2ac5ac20448111ee7a419e71::receivables_pct::7187"
},
"low": "25.45",
"high": "25.55"
}
]
}
],
"counts": {
"customers": 0,
"suppliers": 1,
"competitors": 0,
"partners": 0,
"quantified": 1,
"total": 1
},
"page_info": {
"limit": 50,
"offset": 0,
"total": 1,
"next_cursor": null
}
}
}{
"error": "<string>",
"code": "unauthenticated"
}{
"error": "<string>",
"code": "unauthenticated"
}{
"error": "<string>",
"code": "unauthenticated"
}{
"error": "<string>",
"code": "unauthenticated"
}Authorizations
Astreus API key (pk_live_...), created on the Developers page in the terminal. Also accepted as Authorization: Bearer pk_live_....
Path Parameters
Ticker symbol (e.g. NVDA), numeric SEC CIK (zero-padding optional), or the platform key of a non-SEC issuer (e.g. XSAU000001 — the cik field of the company payload). A bare ticker always resolves to the SEC registrant.
Query Parameters
customers, suppliers, competitors, partners or all (default).
customers, suppliers, competitors, partners, all true = only relationships with at least one eligible metric.
true, false YYYY-MM-DD: public information through the end of that UTC date.
company_exposure (default; the company's own metric), relationship_exposure (the other party's metric) or name. Metrics missing sort last, ties by edge key.
company_exposure, relationship_exposure, name 1–100, default 50.
Opaque cursor bound to all filters and the data revision; restart on 409.
Counterparty name or ticker contains.
Exclude anonymous and grouped counterparties.
true, false Two-letter country code.
Exact sector name.
Three-letter display currency; original amounts retained; historical FX unavailable.
true = also return filing-scoped anonymous labels that a later report superseded.
true, false true = include estimate-tier metrics (state=estimate), attributed by rule, never disclosed figures.
true, false Response
OK
The response is of type object.