Quickstart
1. Get a key
Create a free API key at developers.signals.ai. No card required. The key is shown once — copy it.
export SIGNALS_KEY="sk_live_…"2. Check coverage
Before pulling data, ask what exists for a company. Agents should call this first to orient.
curl https://api.signals.ai/v1/coverage/UBER \ -H "Authorization: Bearer $SIGNALS_KEY"3. Pull a cited KPI series
curl "https://api.signals.ai/v1/companies/UBER/kpis/gross_bookings" \ -H "Authorization: Bearer $SIGNALS_KEY"{ "symbol": "UBER:US", "data": [ { "metric_key": "gross_bookings", "display": "Gross Bookings", "points": [ { "period": { "calendar": "2026Q1", "fiscal": "2026Q1", "kind": "quarter" }, "value": { "raw": 44800000000, "normalized": 44.8, "unit": "USD_billion" }, "provenance": { "src_id": "src_kpi2_9f8e7d6c", "source_provider": "sec", "source_url": "https://www.sec.gov/Archives/…/ex99-1.htm", "quote": "Gross Bookings grew to $44.8 billion, up 18%…" } } ] } ]}4. Or just ask
curl https://api.signals.ai/v1/ask \ -H "Authorization: Bearer $SIGNALS_KEY" \ -H "Content-Type: application/json" \ -d '{"question": "How has Uber gross bookings trended?", "symbols": ["UBER"]}'The answer comes back with every numeric claim carrying a [n] citation that
resolves to a src_id + source URL. If the corpus can’t answer, you get a
not_found refusal — never a guessed number — and it costs zero credits.
Next
- Authentication — keys, test mode, OAuth for MCP.
- Conventions — pagination, errors, symbology, units.
- Datasets — one page per dataset with fields + coverage.