Skip to content

Quickstart

The sandbox needs no signup — 5 requests per day per IP:

Terminal window
curl -s "https://api.stockalloy.com/api/sandbox/facts?ticker=DECK&metric=revenue"
Terminal window
curl -s "https://api.stockalloy.com/api/sandbox/search?q=rocket+lab+backlog"

Every sandbox response includes an X-Sandbox-Remaining header with your remaining requests for the day. When it hits zero you’ll get a 429 with error code SANDBOX_LIMIT.

  1. Go to stockalloy.com/developer and sign up.
  2. Click Start free — the Free plan includes 500 calls/month and requires no credit card.
  3. Create an API key. It’s shown once — copy it somewhere safe.

Export it in your shell:

Terminal window
export STOCKALLOY_API_KEY="sa_b2b_..."

All authenticated endpoints are POST with a JSON body and your key in the X-API-Key header. Fetch Deckers’ latest verified revenue fact:

Terminal window
curl -s https://api.stockalloy.com/api/b2b/facts/latest \
-H "Content-Type: application/json" \
-H "X-API-Key: $STOCKALLOY_API_KEY" \
-d '{"ticker": "DECK", "metric_id": "us-gaap#RevenueFromContractWithCustomerExcludingAssessedTax"}'

Response:

{
"scope": "company",
"ticker": "DECK",
"cik": "0000910521",
"metric_id": "us-gaap#RevenueFromContractWithCustomerExcludingAssessedTax",
"count": 1,
"rows": [
{
"series_key": "1662173f5414…",
"metric_id": "us-gaap#RevenueFromContractWithCustomerExcludingAssessedTax",
"metric_label": "Revenue",
"period_key": "duration:2024-04-01..2025-03-31",
"period_end": "2025-03-31",
"unit_signature": "monetary:USD",
"value_num": "4985612000",
"source_accession": "000091052125000017",
"source_form_type": "10-K",
"source_filed_at": "2025-05-23",
"evidence_url": "https://stockalloy.com/api/evidence/35abfabdc97f…/open?cik=0000910521&accession=000091052125000017",
"is_consolidated": true
}
]
}

That’s Deckers’ fiscal-2025 revenue — $4,985,612,000, exactly as filed in the 10-K — with a proof link attached.

Drop metric_id to browse the latest fact for every one of Deckers’ consolidated series:

Terminal window
curl -s https://api.stockalloy.com/api/b2b/facts/latest \
-H "Content-Type: application/json" \
-H "X-API-Key: $STOCKALLOY_API_KEY" \
-d '{"ticker": "DECK"}'

Unscoped responses are capped at 100 rows by default (raise with "limit": …, up to 500) and exclude dei# cover-page tags (auditor IDs, addresses, cover-date share counts) unless you pass "include_dei": true. When the cap drops rows, the envelope tells you:

{
"scope": "company",
"ticker": "DECK",
"cik": "0000910521",
"metric_id": null,
"count": 100,
"truncated": true,
"total_available": 472,
"rows": [ ]
}

Metric-scoped calls are never capped or filtered — for full history or segment slices, see the facts guide.

Open the example evidence_url in a browser. It redirects to a filing viewer at the supporting figure. Evidence links currently require no API key, but their availability is best effort; retain the filing accession and original SEC document URL as provenance in material workflows.

  • Search companies & metrics — find series for segments, products, and operational KPIs.
  • Get financial facts — core vs. latest vs. full, exact value encoding, period semantics.
  • Evidence & provenance — how proof-backed rows link to their filed source.
  • MCP server — plug verified facts into Claude Code or Claude Desktop; paid MCP access is currently provisioned by direct contact.
  • API reference — every endpoint, request, and response shape.