LIVE ON RAPIDAPI

SEC filings,
normalized.

Clean, queryable JSON for SEC EDGAR filings — financials, insider trades, 8-K events, 13F holdings, with source-filing traceability on every response.

Seven endpoints. One free tier. Source traceability on every response.

curl · your-first-call.sh
curl -X GET \
  'https://filingrail.p.rapidapi.com/v1/search/companies?q=apple&limit=5' \
  -H 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY' \
  -H 'X-RapidAPI-Host: filingrail.p.rapidapi.com'

WHAT YOU GET

Seven endpoints. One envelope. Zero scraping.

EDGAR ships raw XBRL, ZIP files, and idiosyncratic JSON. Filingrail does the parser work and ships you ready-to-use responses.

  • Financial statements

    Latest 10-K + 10-Q, parsed and normalized to the standard SEC GAAP line items. Quarterly, annual, and YTD periods.

    GET /v1/companies/{ticker}/financials
  • Insider trades

    Form 4 transactions, one row per trade, with reporter relationship and transaction code (P/S/A/M/F).

    GET /v1/companies/{ticker}/insider-trades
  • 8-K events

    Material events with item-code tagging — 1.01 agreements, 2.01 acquisitions, 5.02 departures, and the rest.

    GET /v1/companies/{ticker}/8k-events
  • 13F holdings

    Form 13F-HR positions, deduplicated and aggregated by CUSIP, joined with issuer ticker when available.

    GET /v1/institutions/{cik}/13f-holdings
  • Recent filings stream

    Every new filing within ~5 minutes of EDGAR acceptance, filterable by form type.

    GET /v1/filings/recent
  • Company search

    Search every SEC-registered public company by ticker, CIK, or name fragment.

    GET /v1/search/companies

THE DIFFERENCE

Every value traces back to a source filing.

Every Filingrail response carries meta.source_filing_url and meta.source_filing_date. You can trace any number on any chart back to the specific SEC filing it came from.

Audit-friendly by design. When your CFO asks where the revenue figure came from, you don’t shrug — you click the link.

response · 200 OK
{
  "data": { /* ... */ },
  "meta": {
    "ticker": "AAPL",
    "as_of": "2026-05-23T14:22:11Z",
    "source_filing_url": "https://www.sec.gov/...10-K-2026...",
    "source_filing_date": "2026-02-01"
  }
}

The two meta fields above are the traceability contract.

PRICING · LIVE ON RAPIDAPI

Four tiers. Start free, no card required.

RapidAPI handles billing and rate-limiting. Cancel or upgrade from your RapidAPI dashboard anytime. All tiers include 10,240 MB / month bandwidth.

  • Basic

    $ 0 /mo
    • 50 requests / day
    • 1,000 req/hour

    Evaluation tier. Full endpoint access. Hard cap on quota — no overage charges.

    Subscribe — Free
  • Ultra

    $ 49 /mo
    • 50,000 requests / month
    • per RapidAPI plan

    For boutique research firms and production AI agents at moderate scale.

    Subscribe — Ultra
  • Mega

    $ 199 /mo
    • 500,000 requests / month
    • per RapidAPI plan

    For high-volume pipelines, multi-tenant SaaS, and ETL backfills.

    Subscribe — Mega

All tiers: 10,240 MB / month bandwidth included. Overage: $0.001 per MB.

QUICKSTART · 30 SECONDS

Your first call.

Every Filingrail call needs two headers: X-RapidAPI-Key (from your dashboard) and X-RapidAPI-Host: filingrail.p.rapidapi.com.

curl
curl --request GET \
  --url 'https://filingrail.p.rapidapi.com/v1/search/companies?q=apple&limit=5' \
  --header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY' \
  --header 'X-RapidAPI-Host: filingrail.p.rapidapi.com'
Node.js
import axios from 'axios';

const { data } = await axios.get(
  'https://filingrail.p.rapidapi.com/v1/search/companies',
  {
    params: { q: 'apple', limit: 5 },
    headers: {
      'X-RapidAPI-Key': process.env.RAPIDAPI_KEY,
      'X-RapidAPI-Host': 'filingrail.p.rapidapi.com',
    },
  }
);

console.log(data.data); // array of matching companies
Python
import os
import requests

resp = requests.get(
    "https://filingrail.p.rapidapi.com/v1/search/companies",
    params={"q": "apple", "limit": 5},
    headers={
        "X-RapidAPI-Key": os.environ["RAPIDAPI_KEY"],
        "X-RapidAPI-Host": "filingrail.p.rapidapi.com",
    },
    timeout=10,
)
resp.raise_for_status()
print(resp.json()["data"])

Get your key on RapidAPI after subscribing to any tier (including free).

FOR AI AGENTS

MCP Playground, enabled.

Filingrail’s RapidAPI listing has MCP Playground enabled. Drop the endpoint definitions into Claude Desktop, Cursor, or any MCP-compatible agent and it can call Filingrail directly — no glue code.

Open the MCP Playground

FAQ

Questions worth answering.

Still wondering something? Email support@hudsonenterprisesllc.com — same business day response.

How fresh is the data?
EDGAR is polled hourly during US market hours. Most filings appear in Filingrail within ~5 minutes of EDGAR acceptance. XBRL-parsed financials lag 1–4 hours — we wait for EDGAR’s own company-facts JSON, which is the cleanest XBRL source available.
Where does the data come from?
Directly from SEC EDGAR. No third-party data brokers. Every upstream request to EDGAR is sent with a compliant User-Agent header per SEC’s fair-access policy.
What is NOT in Filingrail?
No real-time intraday data. No non-US filings (TSX, LSE, etc.). No analyst opinions, earnings estimates, or research commentary. No options chains. No Bloomberg or FactSet equivalence — Filingrail is structured access to public SEC filings, not a markets platform.
What happens if I exceed my quota?
RapidAPI returns 429 Too Many Requests with an X-RateLimit-Reset header. Basic tier is a hard cap (no overage). Paid tiers can have overage configured per-plan in your RapidAPI dashboard.
What is your support response time?
Same business day, via support@hudsonenterprisesllc.com. Include your RapidAPI key prefix (first 8 chars), the endpoint + parameters used, and the full error response if applicable.
Can I cite Filingrail in my work?
The data is sourced from public SEC filings — you don’t need to. But a mention helps other developers find the API, and we appreciate it.
What about bulk downloads?
Not via the API — the rate limits would make it impractical. Email support@hudsonenterprisesllc.com if you need a one-time export to your S3 bucket (feasible at Mega tier).
How do you handle EDGAR schema changes?
Rare but they happen. We monitor and ship updates within 1–3 days. Filingrail’s response schema is versioned; breaking changes go to a /v2/ namespace, never in-place.