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

TierPriceAccess
Basic$30/moZIP + /v1/actuals + /v1/balance + raw /v1/insiders + /v1/guidance
Pro$50/moBasic + /clusters, /conviction, /ownership, /success-rates

Basic keys hitting Pro routes return 403 insufficient_tier.

Earnings actuals (/v1/actuals)

MethodPathDescription
GET/v1/actuals/meHealth check — proves the key works
GET/v1/actualsDataset metadata (data_version, coverage, counts)
GET/v1/actuals/tickersFull ticker universe
GET/v1/actuals/earnings/:tickerHistorical GAAP EPS / revenue actuals

Query parameters (/earnings/:ticker)

ParamDefaultMeaning
fromInclusive fiscal_period_endYYYY-MM-DD
toInclusive fiscal_period_endYYYY-MM-DD
include_computed_q4falseInclude 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)

FieldMeaning
fiscal_quarter, fiscal_period_end, report_dateQuarter label, period end, and report date
eps_diluted_gaap, eps_basic_gaapAs-filed GAAP EPS, split-adjusted
revenue, net_income, gross_profit_marginFundamentals where XBRL tags exist
announcement_timeBMO | AMC | unknown from 8-K acceptance (ET)
announcement_dateMatched 8-K filed date
eps_restatementtrue if this record supersedes a prior filing
edgar_accession, edgar_filing_urlAudit trail to the SEC filing
computed_q4, split_factor_appliedDerivation / adjustment metadata

Insiders — Form 4 (/v1/insiders)

TierMethodPathDescription
BasicGET/v1/insidersMetadata
BasicGET/v1/insiders/tickersTicker list with Form 4 coverage
BasicGET/v1/insiders/:tickerRaw open-market P/S transactions
ProGET/v1/insiders/:ticker/clustersBuying clusters (3+ insiders in 7 days)
ProGET/v1/insiders/:ticker/convictionConviction scores (0–100); ?min_score=
ProGET/v1/insiders/:ticker/ownershipOwnership summary
ProGET/v1/insiders/:ticker/success-ratesHistorical 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.

MethodPath
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).

MethodPath
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.

View plans → Free sample ZIP →