MLQ.ai
About Sign in Subscribe
API GUIDES · QUICKSTART

Getting started in 5 minutes

Key → first call → paging → agent. Everything else builds on these four moves.

1 · Get a key

Create a free key (100 requests/day, every dataset). Send it either way on every request:

Authorization: Bearer mlq_your_key      # or:
X-API-Key: mlq_your_key

2 · First call: statements with receipts

curl -H "Authorization: Bearer $MLQ_KEY" \
  "https://mlq.ai/api/v1/companies/AAPL/income-statement/?period=FY&limit=3"

Three annual periods, newest first, familiar camelCase field names — and on every period a source block with the SEC accession number and filing URL. That block is the point: any number can be traced to its filing in one click. In Python:

import requests
BASE = "https://mlq.ai/api/v1"; H = {"Authorization": "Bearer YOUR_KEY"}

for p in requests.get(f"{BASE}/companies/AAPL/income-statement/",
                      params={"period": "FY", "limit": 3}, headers=H).json():
    print(p["fiscalYear"], f"rev ${p['revenue']/1e9:.1f}B",
          f"net ${p['netIncome']/1e9:.1f}B", "←", p["source"]["accession"])

Swap the path for balance-sheet, cash-flow, metrics (~50 ratios), or facts (every raw concept). period=quarter gives the quarterly series; as_of=YYYY-MM-DD gives point-in-time (why that matters).

3 · Lists: one envelope everywhere

Every non-statement list endpoint returns the same shape — {count, returned, offset, results}, where count is the total matches. Page with limit + offset:

def all_rows(path, **params):
    out, offset = [], 0
    while True:
        j = requests.get(f"{BASE}{path}", headers=H,
                         params={**params, "limit": 200, "offset": offset}).json()
        out += j["results"]
        offset += j["returned"]
        if offset >= j["count"] or not j["returned"]:
            return out

trades = all_rows("/congress-trades/", ticker="NVDA")
print(len(trades), "congressional NVDA trades on record")

The same pattern works across /feed/ (materiality-scored filings), /companies/{t}/insider-trades/, /companies/{t}/institutional-ownership/, /funds/{cik}/holdings/, and the infrastructure datasets. Errors are always JSON; 429s tell you your quota and when it resets.

4 · Or skip the code: connect an agent

claude mcp add --transport http mlq https://mlq.ai/mcp \
  --header "Authorization: Bearer YOUR_KEY"

Then ask in plain English — "pull NVDA's last 8 quarters of margins and cite the filings". Recipes in the agent cookbook; custom-agent builders can feed llms.txt straight into a system prompt.

Where to next

Fuel-Cell Deployments at U.S. Data CentersReport
Research

Fuel-Cell Deployments at U.S. Data Centers

Public disclosures confirm at least 154 MW of operating fuel cells at U.S. data centers. Seven proposed projects account for another 6.31 GW, led by large developments in New Mexico, Texas, and Wyoming.

No spam. Unsubscribe anytime.