For analytics platforms

Close the filings gap
without owning the scrapers.

Primary-source coverage across 62 markets — standardized KPIs, narrative sections, REST, MCP, and signed webhooks — so your product team ships features instead of regulator pipelines.

Send your universe for a coverage review before any price conversation.

The problem

Why platforms stop building this in-house

Many regulators, many pipelines

Buyers treat multi-market coverage as table stakes. Building it means fragile scrapers per regulator and language — across 62 markets — for a layer that earns no product credit.

Every engineer on sourcing is one not on product

A filings ingestion team competes with your roadmap for the same headcount. Maintaining EU, Asia, and US parsers is permanent on-call for coverage your customers already assume you have.

A PDF is not data

Tables span pages, footnotes detach, OCR drifts. Downstream AI and screens hallucinate from wreckage unless someone owns normalization — and that someone is usually you.

Re-vendored feeds compound errors

Buy from an aggregator that bought from another and every upstream mistake lands in your product with your name on it. Primary-source, regulator-direct keeps the chain short.

What you license

Delivery and identifiers built for product teams

API built for product teams

REST for list/backfill, signed webhooks for the live tape, and MCP for agent surfaces — the same index that powers openfilings.org, exposed for embedding in your stack.

Identifiers that join day one

canonical_key, LEI, ISIN, ticker, and market_id on entity and filing records so joins to your existing issuer tables work without a second mapping project.

Standardized KPIs + sections

Cross-GAAP line items plus narrative sections (MD&A, risk factors, …) via FTS — ship screens and AI features without owning a parser farm.

Commercial clarity

Usage-based API plans with webhook delivery on Business. Redistribution and white-label scope are negotiated contractually — we quote on volume and downstream use, not a back-channel exception.

Integration

Into your ingestion layer in two paths

Webhook for the live tape (HMAC-signed), REST for historical pulls and on-demand KPIs — same API key, same identifiers.

webhook_handler.py · FastAPI

import os
from fastapi import Depends, FastAPI
from openfilings import Client
from openfilings.integrations.fastapi import openfilings_webhook_dependency
from openfilings.webhooks import WebhookEvent

app = FastAPI()
client = Client(api_key=os.environ["OPENFILINGS_API_KEY"])
verify = openfilings_webhook_dependency(os.environ["OPENFILINGS_WEBHOOK_SECRET"])

@app.post("/openfilings-webhook")
async def on_filing(event: WebhookEvent = Depends(verify)) -> dict:
    if event.event == "filing.discovered":
        filing_id = event.data["filing_id"]
        kpis = client.filings.kpis(filing_id)
        ingest(event.data["ticker"], event.data["market_id"], kpis)  # your pipeline
    return {"ok": True}

bulk pull · cURL

# Filing history for one ticker / market
curl "https://api.openfilings.org/api/v1/tickers/AAPL/filings?market_id=us&limit=50" \
  -H "X-API-Key: $OPENFILINGS_API_KEY"

# Canonical KPIs for one filing
curl "https://api.openfilings.org/api/v1/filings/{filing_id}/kpis" \
  -H "X-API-Key: $OPENFILINGS_API_KEY"

Live coverage

Live
5,304
Published last 24h
67,251
Companies indexed
3,406,900
Filings indexed

Coverage review

Send us your universe

Paste tickers or ISINs and describe the product surface — we reply with coverage by market, delivery options (REST / webhooks / MCP), and commercial terms for redistribution if you need them.

Or email [email protected] directly.

FAQ

Asked by partnership teams

How do we know coverage is real for our universe?

Send your ticker or ISIN list on the form. We reply with coverage detail by market and form type before any commercial commitment — additive is a number you can check, not a claim.

Why buy instead of building?

A multi-market filings layer competes with your product for engineers. There is no single global EDGAR — regulators publish on their own schedules and formats. We deliver primary-source filings and normalized KPIs so your team stays on the product that sells.

What's the latency from publication to webhook?

Discovery-to-queryable is typically under 60 seconds for RSS/stream-native markets; the webhook fires immediately after persistence. Exact SLA language is part of Business / enterprise contracts.

Can we redistribute filings to our end users?

Downstream redistribution and white-label use are available under negotiated commercial terms — not an implied right on every plan. Tell us volume and product surface on the form and we'll scope the license in writing.

Is this primary-source or re-vendored?

Primary-source. We collect against regulator and exchange feeds in coverage rather than buying a third-party filings dump. No long chain of upstream aggregators between the disclosure and your users.

How is it priced?

Plan tiers on API usage, with signed webhooks on Business. For larger platforms we structure volume or partnership terms. See /pricing, then request a coverage review for your universe.