Skip to content

API

Financial data from SEC filings, linked to its sources.

Base URL
https://api.thaler.sh/v1
Endpoints
19

First request

curl https://api.thaler.sh/v1/securities/AAPL/metrics \  --get -d period=annual -d keys=revenue -d limit=1 \  -H "Authorization: Bearer $THALER_API_KEY"
Response
{  "data": [    {      "cik": 320193,      "confidence": "1",      "end_date": "2025-09-27",      "entity_name": "Apple Inc.",      "exchange": "Nasdaq",      "fiscal_period": "FY",      "fiscal_year": 2025,      "metric_key": "revenue",      "metric_label": "Revenue",      "metric_value_id": "8aecd663-8585-4c7f-98f2-a574a75ff206",      "period_kind": "duration",1Source filing      "read_from": {        "accession_number": "0000320193-25-000079",        "filed_at": "2025-10-31",        "form": "10-K",        "kind": "first",        "revision_rank": 1      },      "revised": false,      "revision_count": 0,      "start_date": "2024-09-29",      "statement": "income_statement",      "ticker": "AAPL",      "unit": "USD",2Value      "value": "416161000000",      "value_kind": "reported"    }  ],  "meta": {    "keys": ["revenue"],    "limit": 1,    "period": "annual",3Release    "release": {      "checks": "passed",      "date": "2026-09-24",      "published_at": "2026-09-24T10:02:11Z",      "stamp": "2026-09-24#6f1c2a9d0b3e"    },    "request_id": "req_0e038f197c5c4d1cb791",    "route": "metric_values",    "schema": "thaler.data.v1",    "ticker": "AAPL"  }}
  1. The filing it was read fromread_from names the 10-K and its accession number. Open the filing on Thaler or on SEC EDGAR. Sources and revisions goes down to the XBRL fact.
  2. The value, as filedvalue is a decimal string, never a float, so 416161000000 arrives exactly as Apple’s 10-K states it: $416.2 billion of revenue in fiscal 2025.
  3. The release that served itmeta.release names the day’s data release and says whether its checks passed. Every response carries it.
Response headers
HTTP/2 200content-type: application/jsonetag: W/"1cbc6efe99f02b830ad355898fc743d1"cache-control: private, no-cacheratelimit-policy: "minute";q=60;w=60, "month";q=20000, "concurrent";q=4;qu="concurrent-requests"ratelimit: "minute";r=59;t=29, "month";r=19999;t=534808, "concurrent";r=3x-request-id: req_0e038f197c5c4d1cb791

Endpoints

Updated Tuesday to Saturday. Filings, insider trades, holders, segments and prices also update between releases.