# Earnings Anatomy Developer REST API > Official REST API for programmatically querying standardized SEC corporate filings and clean financial JSON schema. ## Core Information - Base URL: https://earningsanatomy.com/api/v1 - Get an API Key: Generate live API keys at https://earningsanatomy.com/account/api-keys (Subscribe at https://earningsanatomy.com/pricing) - Authentication: Pass your key in the `X-API-Key` HTTP request header (`X-API-Key: ea_live_...`). - Interactive OpenAPI Docs: https://earningsanatomy.com/api/docs - Full API Reference: https://earningsanatomy.com/llms-full.txt ## Key Endpoints - `GET /v1/tickers/{ticker}`: Resolve a ticker symbol (case-insensitive) to its SEC CIK identifier. - `GET /v1/companies/{cik}`: Get company profile details by SEC CIK (zero-padded or bare numeric). - `GET /v1/companies/{cik}/filings`: Get a lightweight index of available SEC filings, accession numbers, and covered periods for a company. - `GET /v1/income-statements/{accession_number}`: Get full structured income statement details (Revenue, Operating Expenses, Net Income, EPS) by SEC filing accession number. ## Python Quickstart Example ```python import httpx BASE_URL = "https://earningsanatomy.com/api/v1" headers = {"X-API-Key": "ea_live_your_secret_key_here", "Accept": "application/json"} with httpx.Client(base_url=BASE_URL, headers=headers) as client: # 1. Resolve ticker symbol to SEC CIK ticker = client.get("/tickers/GOOG").json()["data"] cik = ticker["cik"] # 2. Fetch company filings index filings = client.get(f"/companies/{cik}/filings").json()["data"] # 3. Fetch income statement details by accession number if filings: accession = filings[0]["accession_number"] statement = client.get(f"/income-statements/{accession}").json()["data"] print(f"Net Income: {statement['net_income']}") ``` ## Node.js Quickstart Example ```javascript const axios = require('axios'); const api = axios.create({ baseURL: "https://earningsanatomy.com/api/v1", headers: { 'X-API-Key': "ea_live_your_secret_key_here", 'Accept': 'application/json' } }); async function main() { const { data: ticker } = (await api.get("/tickers/GOOG")).data; const { data: filings } = (await api.get(`/companies/${ticker.cik}/filings`)).data; if (filings.length > 0) { const { data: statement } = (await api.get(`/income-statements/${filings[0].accession_number}`)).data; console.log("Net Income:", statement.net_income); } } main(); ```