Signals the market prices in slowly.
A supplier's guidance cut reaches its customers' prints a quarter later. Build linkage signals on the graph as it stood on any date. Every edge records when it became knowable from a filing, so as_of queries keep lookahead out of the backtest.
Bulk exports ship the full bitemporal history straight into your research environment.
# the linkage graph as of the rebalance date curl -H "X-API-Key: $UPSHOT_KEY" \ "https://upshot-api.com/v1/companies/MU/relationships\ ?as_of=2026-03-31T00:00:00Z&min_confidence=0.8"
A week of filings. One call.
Every disclosed customer, supplier, licensor, and creditor of a name in one response, assembled from 10-Ks, exhibits, and 8-Ks, so the first day of diligence isn't spent in EDGAR.
Each edge cites the verbatim sentence it was extracted from, filing and character offsets included: the memo footnotes itself.
curl -H "X-API-Key: $UPSHOT_KEY" \ "https://upshot-api.com/v1/companies/CAT/relationships" # → CUSTOMER_OF · conf 0.9 # → evidence: 10-K Item 1A, offsets 84,211-84,309
Who is exposed when a link fails?
Start from a failing supplier, a canceled customer, a downgraded creditor, and traverse outward. The blast-radius endpoint returns the exposed names hop by hop, with disclosed revenue-concentration magnitudes where the filings state them.
Dependency risk sits behind many of the sharpest single-stock moves; here it's a query, not a scramble.
# two hops out from a failing supplier curl -H "X-API-Key: $UPSHOT_KEY" \ "https://upshot-api.com/v1/blast-radius\ ?epicenter=TSM&hops=2"
Related companies, as a feature.
Ship “companies connected to the stock you're viewing” inside a brokerage or research product over plain REST, with entity resolution across name variants included.
Evidence links ride along with every edge, so it's a feature compliance can sign off on. Redistribution licensing is handled separately, so get in touch if you need it.
# everything connected to the symbol on screen curl -H "X-API-Key: $UPSHOT_KEY" \ "https://upshot-api.com/v1/companies/{symbol}/relationships\ ?min_confidence=0.8"
Eleven relation types, and this is all of them. Every edge is directed, so src and dst read one way only, and every edge carries the verbatim filing text it was extracted from. Counts below are live from /v1/stats.
The graph as it was knowable, not as it is now.
Every edge records two clocks: when the relationship held in the world, and when it became knowable from a filing. Pass as_of on any read and backtests stop leaking the future into the past.
# the graph a fund could have known on June 30 curl -H "X-API-Key: $UPSHOT_KEY" \ "https://upshot-api.com/v1/companies/NVDA/relationships\ ?as_of=2026-06-30T00:00:00Z&min_confidence=0.8" # → PARTNER_WITH OpenAI · conf 0.85 # → evidence: 10-K MD&A, offsets 191,204-191,275