Home › API reference
Aegwah API reference
Paid, read-only REST API for as-filed GAAP EPS, point-in-time balance sheets, Form 4 insiders, and Exhibit 99.1 guidance. Base URL: https://api.aegwah.com. Legacy alias: /v1/asfiled still maps to /v1/actuals.
Authentication
Pass your membership key on every request. The same key unlocks the bulk ZIP (/api/download) and all /v1 modules.
Authorization: Bearer <your-api-key>
Inactive or refunded keys return 403 subscription_inactive. Rate limit: 120 requests / minute / key.
Tiers
| Tier | Price | Access |
|---|---|---|
| Basic | $30/mo | ZIP + /v1/actuals + /v1/balance + raw /v1/insiders + /v1/guidance |
| Pro | $50/mo | Basic + /clusters, /conviction, /ownership, /success-rates |
Basic keys hitting Pro routes return 403 insufficient_tier.
Earnings actuals (/v1/actuals)
| Method | Path | Description |
|---|---|---|
| GET | /v1/actuals/me | Health check — proves the key works |
| GET | /v1/actuals | Dataset metadata (data_version, coverage, counts) |
| GET | /v1/actuals/tickers | Full ticker universe |
| GET | /v1/actuals/earnings/:ticker | Historical GAAP EPS / revenue actuals |
Query parameters (/earnings/:ticker)
| Param | Default | Meaning |
|---|---|---|
from | — | Inclusive fiscal_period_end ≥ YYYY-MM-DD |
to | — | Inclusive fiscal_period_end ≤ YYYY-MM-DD |
include_computed_q4 | false | Include derived Q4 rows |
Example
curl -fsSL -H "Authorization: Bearer $KEY" \
"https://api.aegwah.com/v1/actuals/earnings/NVDA?from=2020-01-01"
Response envelope
{
"ticker": "NVDA",
"entity_name": "NVIDIA CORP",
"cik": "1045810",
"data_version": "1",
"count": 24,
"records": [ /* field dictionary below */ ]
}
Response header: X-Aegwah-Data-Version — treat as a cache key; refresh when it changes.
Record fields (actuals)
| Field | Meaning |
|---|---|
fiscal_quarter, fiscal_period_end, report_date | Quarter label, period end, and report date |
eps_diluted_gaap, eps_basic_gaap | As-filed GAAP EPS, split-adjusted |
revenue, net_income, gross_profit_margin | Fundamentals where XBRL tags exist |
announcement_time | BMO | AMC | unknown from 8-K acceptance (ET) |
announcement_date | Matched 8-K filed date |
eps_restatement | true if this record supersedes a prior filing |
edgar_accession, edgar_filing_url | Audit trail to the SEC filing |
computed_q4, split_factor_applied | Derivation / adjustment metadata |
Insiders — Form 4 (/v1/insiders)
| Tier | Method | Path | Description |
|---|---|---|---|
| Basic | GET | /v1/insiders | Metadata |
| Basic | GET | /v1/insiders/tickers | Ticker list with Form 4 coverage |
| Basic | GET | /v1/insiders/:ticker | Raw open-market P/S transactions |
| Pro | GET | /v1/insiders/:ticker/clusters | Buying clusters (3+ insiders in 7 days) |
| Pro | GET | /v1/insiders/:ticker/conviction | Conviction scores (0–100); ?min_score= |
| Pro | GET | /v1/insiders/:ticker/ownership | Ownership summary |
| Pro | GET | /v1/insiders/:ticker/success-rates | Historical success rates |
Insider record fields
transaction_type (P/S), person_name, role, transaction_date, filed_date, shares, price_per_share, shares_owned_after, edgar_accession, edgar_filing_url.
Guidance — Exhibit 99.1 (/v1/guidance)
Raw management revenue guidance mined from 8-K EX-99.1 — not street consensus.
| Method | Path |
|---|---|
| GET | /v1/guidance |
| GET | /v1/guidance/tickers |
| GET | /v1/guidance/:ticker |
Primary fields: guidance_revenue_midpoint or guidance_revenue_low / guidance_revenue_high, plus edgar_accession, edgar_exhibit_url, source_excerpt.
Balance sheet — point-in-time (/v1/balance)
Basic-tier balance-sheet facts from the same SEC companyfacts XBRL as earnings. Join on (ticker, fiscal_period_end). Missing tags are JSON null (never zeroed).
| Method | Path |
|---|---|
| GET | /v1/balance |
| GET | /v1/balance/tickers |
| GET | /v1/balance/:ticker |
Query: from / to on fiscal_period_end (same as earnings). Fields: total_assets, total_liabilities, stockholders_equity, current_assets, current_liabilities, long_term_debt, short_term_debt, cash_and_equivalents, shares_outstanding, dividends_paid, plus announcement timing and edgar_accession / edgar_filing_url.
curl -fsSL -H "Authorization: Bearer $KEY" \
"https://api.aegwah.com/v1/balance/NVDA?from=2020-01-01"
Bulk ZIP
Same membership: claim/download via /api/download. Free sample (no key): https://api.aegwah.com/api/sample.
Minimal Python client
import os, requests
BASE = "https://api.aegwah.com"
KEY = os.environ["AEGWAH_API_KEY"]
H = {"Authorization": f"Bearer {KEY}"}
def earnings(ticker: str, start: str | None = None) -> list[dict]:
params = {}
if start:
params["from"] = start
r = requests.get(
f"{BASE}/v1/actuals/earnings/{ticker}",
headers=H, params=params, timeout=30,
)
r.raise_for_status()
return r.json()["records"]
def balance(ticker: str, start: str | None = None) -> list[dict]:
params = {"from": start} if start else {}
r = requests.get(
f"{BASE}/v1/balance/{ticker}",
headers=H, params=params, timeout=30,
)
r.raise_for_status()
return r.json()["records"]
Product pages: GAAP EPS API · Balance sheet API · Form 4 API · Backtest actuals
Get institutional-quality earnings data
502 tickers · 16+ years of GAAP EPS · ZIP + REST API. From $30/month.