Skip to main content
For analytics platforms

The filings layer you redistribute.

License the index. Embed it in your product. Ship Markdown, JSON, or PDF to your users — under your brand. 27,073,008 filings across 48 markets, indexed in under 60 seconds, ~41 ms p50 at the edge.

A filings ingestion layer is months of engineering for table stakes. Three places it usually breaks.

1.1 / Sourcing

Seven scrapers, one ops on-call.

Every regulator and exchange has its own quirks — encodings, rate limits, login walls, ad-hoc downtime. Coverage of 48 markets means 48 fragile pipelines and a permanent on-call rotation.

1.2 / Normalisation

PDFs are not data.

Tables span pages, footnotes detach, OCR drifts. A 412-page annual becomes ~3,200 tokens of clean Markdown only after the parsing problem is solved — once, then forever.

1.3 / Licensing

Most vendors block redistribution.

Incumbent feeds let you read the data. They do not let you ship it to your users. A platform that cannot redistribute does not have a product — it has a research tool.

Same index that powers the FinancialReports web product — exposed for embedding, redistribution, and bulk delivery.

2.1 / Format

Markdown, JSON, or PDF.

Every endpoint serves three formats. Markdown for LLM context (~70 % token reduction vs PDF text). JSON for typed pipelines. Original PDF for archival.

2.2 / Rights

Redistribution included.

Ship filings, summaries, and KPIs to your end users under your own terms. Redistribution rights are a contracted feature, not a back-channel exception.

2.3 / Brand

White-label or co-brand.

Your domain, your UI, your attribution. Or a co-branded surface where the data provenance helps your sales motion. Both are supported on the contract.

2.4 / Bulk

S3, Snowflake, Databricks.

High-volume consumers skip the request loop. Direct shares into your warehouse, mirror buckets in your AWS account, or daily Parquet drops to a path you own.

The integration surface your team will actually want to depend on. Typed, documented, observable.

3.1 / API

REST and GraphQL.

Same index, two query styles. OpenAPI 3.1 spec published. Typed schema, stable identifiers, deterministic pagination.

3.2 / Push

Webhooks under 90 s.

A new filing fires a signed webhook in under 90 seconds from publication. Replay, dead-letter queue, and delivery dashboards in the API console.

3.3 / Schema

Stable identifiers.

ISIN, LEI, ticker, internal company ID — every record carries them. Joins to your existing entity tables work on day one.

3.4 / Latency

~41 ms p50.

EU edge, p50 ~41 ms, p95 ~82 ms on standard plans. 600 req / min default rate limit; bulk plans negotiate higher.

3.5 / Errors

Typed error envelope.

Every 4xx / 5xx returns a stable error code and a request ID. Production debugging stops being a guessing game.

3.6 / SLA

99.9 % uptime, contracted.

Standard SLA on enterprise contracts. Status page, incident reports, dedicated Slack channel into a data engineer on the team.

Two examples. Same endpoint, two delivery paths — webhook for the live tape, bulk pull for the backfill.

Webhook handler Python · Markdown
from financialreports import Client, verify_signature

client = Client(api_key=os.environ["FR_API_KEY"])

def on_filing(req):
    verify_signature(req, secret=os.environ["FR_WEBHOOK_SECRET"])
    event = req.json()  # filing.published

    filing = client.filings.get(event["id"], format="markdown")
    ingest(filing.isin, filing.period, filing.content)  # your pipeline
    return "ok", 200
Bulk pull cURL · REST
# 10-K filings · DE listings · FY2024
curl "https://api.financialreports.eu/api/filings/?countries=DE&type=10-K&fiscal_year=2024" \
  -H "x-api-key: $FR_API_KEY"

# Then fetch markdown content per filing
curl https://api.financialreports.eu/api/filings/674321/markdown/ \
  -H "x-api-key: $FR_API_KEY"
Base URL api.financialreports.eu
Auth x-api-key header
Rate limit 600 req / min · bulk negotiated
Spec OpenAPI 3.1 · Swagger + Redoc

A pattern we hear from product teams who picked the buy side of the build-vs-buy.

Use case

“We were maintaining seven scrapers across regulators. We launched cross-border coverage in six weeks with the API. Headcount went into product, not pipeline ops.”

— Head of data, fintech analytics platform
Before
12 mo estimate

In-house build for cross-border filings ingestion.

After
6 weeks

From API key to production rollout under their brand.

Scrapers retired
7 → 0

Single contract replaced the long-tail of brittle pipelines.

Five questions our partnership team gets every week. If yours isn't here, the form below goes straight to a data engineer.

Yes. Redistribution is a contracted feature on platform plans. You can ship Markdown, JSON, summaries, and extracted KPIs to your users — under your own terms, on your own surface. Pricing reflects volume and number of seats downstream.
Both. White-label removes any FinancialReports attribution downstream — your domain, your UI, your branding. Co-branded keeps the provenance visible where it helps your sales motion. The choice sits in the contract; the API is identical either way.
The API is versioned (currently v2). Breaking changes ship under a new version with at least 12 months of overlap. Additive changes ship in-version and never remove fields. The OpenAPI 3.1 spec and GraphQL SDL are published for diffing.
REST and GraphQL pull · webhooks push · S3 mirror to a bucket you own · Snowflake share · Databricks share · daily Parquet drops. Bulk plans skip the rate limit and run on a contracted refresh cadence. Initial backfill is included.
99.9 % uptime on enterprise contracts. Status page with incident history, RCA on every Sev-1, dedicated Slack channel into a data engineer. Webhook delivery has its own SLO with replay and dead-letter queue.

A short PDF covering license terms, redistribution scope, sample contracts, and the data quality benchmark we publish quarterly.

Partnership briefing preview
  • 01 License terms. Plain-English summary of what redistribution rights cover and where they stop.
  • 02 Coverage matrix. 48 markets · 53,584 companies · 21 languages · 27,073,008 filings, broken down by region and depth.
  • 03 Data quality benchmark. Parser accuracy, table fidelity, footnote recovery — measured on a versioned test set.
Request access

Download the briefing.

Sent to the email below. We follow up within one business day.

Get started

Filings, in your product.

Talk to a data engineer about volume, regions, redistribution scope, and delivery. We reply within 24 hours.

Coverage 48 markets · 53,584 companies
Index size 27,073,008 filings · 21 languages
Indexing · webhook < 60 s · < 90 s
Rights Redistribution · white-label