API Changelog

Notable changes to the edgar.tools API (api.edgar.tools) and MCP server (app.edgar.tools/mcp). Newest first.

2026-07-19 — Full-text search: entity resolution in the query (MCP + web)#

Applies to the search_filings MCP tool and web /search (not yet the REST API).

  • New behavior: a company named in the query is resolved to its CIK filter

    when it's marked as filer-scoped — a cashtag ($AAPL), a possessive (apple's buyback), or a name next to a form code (apple 10-K). So apple 10-K now returns Apple's 10-K, not every 10-K that mentions the word "apple". apple's buyback resolves Apple and expands "buyback" to the repurchase phrasing.

  • Only unambiguous matches resolve; anything ambiguous stays a full-text search.

    The resolved entity is echoed in query_understanding.entities. Opt out with understand=0 / understand: false.

2026-07-19 — Full-text search: query understanding (form/item extraction)#

Applies to GET /v1/search/full-text, the search_filings MCP tool, and web /search.

  • New behavior: form codes and 8-K item codes are lifted out of the query

    text into the matching filters — apple 10-K risk factors searches q=apple risk factors with forms=10-K, instead of requiring the literal string "10-K" in the document body (which usually returns nothing). The interpretation is echoed in a query_understanding block; query.q still reflects your raw input.

  • Only form codes (10-K, 8-K, DEF 14A, S-1, …) and explicit item N.NN

    phrases are lifted — everything else stays full-text.

  • Opt out with understand=0 (API) / understand: false (MCP), or by

    passing an explicit forms/ciks/items filter.

2026-07-19 — Full-text search: colloquial query expansion#

Applies to GET /v1/search/full-text, the search_filings MCP tool, and web /search.

  • New behavior: a plain query is now widened into the filing-language phrases

    it maps to — searching buyback also matches "share repurchase program", layoffs also matches "reduction in force" — so you don't miss a topic because the filer used formal wording. Your literal text is always kept; expansion only widens recall. When it fires, the response carries an also_matched block naming the phrases added.

  • Opt out with expand=0 (API) / expand: false (MCP) for a literal search.

    Quoted, boolean, and wildcard queries are never expanded — they pass through as written.

2026-07-19 — Full-text search: default date window and sort order#

Applies to GET /v1/search/full-text and the search_filings MCP tool.

  • Behavior change: a query with no date_from/date_to now defaults to

    the last 12 months instead of all EDGAR history, so results aren't 25 years of relevance-ranked hits with decade-old filings on top. The response reports applied_default_window when this happens. To search all history, pass `date_from=2001-01-01` (or any explicit bound). Supplying either bound on its own keeps the old open-ended behavior.

  • New `sort` parameter: relevance (default — match score blended with

    recency), recent, or oldest.

2026-07-11 — Compare Plans page and wider MCP tool reference#

  • New Compare Plans page lays out features and limits by plan, side by side.
  • Documented five MCP tools that were already live but had no reference page.

2026-07-10 — Price and market data on MCP tools#

Several MCP tools now return current market pricing alongside filing data:

  • institutional_ownership reports position values in dollars.
  • material_events includes the T+1 price reaction for each event.
  • company_brief and account_dossier carry a market-snapshot block.
  • financial_snapshot adds valuation metrics.

2026-07-08 — Tier enforcement corrections#

Closed cases where tier gating could be bypassed or applied inconsistently — including advisor endpoints, role handling, and stale session tokens. Access now matches the published plan entitlements.

2026-07-07 — Institutional holdings (13F) coverage fix#

The institutions endpoint and the institutional_ownership MCP tool now serve complete 13F holdings for the largest filers. Previously some large managers returned incomplete holdings.

2026-07-02 — New MCP tool: filing_details#

  • New filing_details MCP tool opens a filing and folds analysis and section retrieval into one call.
  • analyze_filing now returns an available_parts manifest for 10-K and 10-Q filings.
  • Bare accession numbers now resolve even after a filing has aged out of the live window.

2026-06-03 — disclosure_search and edgar_notes now on Professional#

Both MCP tools moved from Analyst down to Professional. Pro accounts can now call them directly.

2026-05-30 — search_filings gains trend mode#

The full-text filing-search MCP tool is now search_filings (formerly search_filings_full_text) and adds a trend mode for tracking how often a term appears over time.

  • New edgar_recipes tool browses and queries the prompt-recipe library.
  • financial_trends adds cash-flow and share-count concepts.

2026-05-23 — New MCP tool: filing_section#

  • New filing_section tool retrieves a single named section of a filing (six section keys).
  • Financial tools now cite the source_accession in their output.
  • Four tools accept detail: "full" to opt into complete, untrimmed responses.

2026-05-21 — New MCP tool: search_entities#

New search_entities tool runs one unified search across companies, funds, and advisors.

2026-04-24 — API tier quotas now enforced#

Per-user API quotas are now live. Until today, the API worker tracked per-tier usage in emit-only mode; starting today, exceeding the daily or monthly cap for your tier returns 429 quota_exceeded instead of going through.

What changed#

  • 429 responses now carry a structured body: {error, window, limit, used, reset, upgrade_url, user_id}.
  • Every API response now includes X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset headers — use them to self-throttle.
  • Windows are UTC: daily resets at 00:00 UTC, monthly at 00:00 UTC on the 1st.

Tier caps#

TierDayMonth
Free1001,000
Professional10,000100,000
Analyst50,0001,500,000
Enterprise100,0001,000,000

How to check your usage#

app.edgar.tools/settings shows live monthly usage and the next reset time. Machine-readable: every successful API call echoes your remaining quota in the X-RateLimit-* headers.

If you hit a 429#

Wait Retry-After seconds, or check the reset timestamp in the response body. For client code, see the retry pattern in Errors & Limits.

Questions → support@edgar.tools.