changedInput schema / properties / offset / description
Previous value: -"Pagination offset. For sort=relevance on a 2001-onward search, EDGAR pages server-side up to its 10,000-result cap. Everywhere else the offset indexes the rows this call assembled and sorted: a single 100-row window for date sorts and entity targeting, the full matched set on a pre-2001 archive path, or both together on a range that crosses 2001-01-01. Offsets at or past those rows return nothing even when total is larger — switch to sort=relevance for deep pagination on a 2001-onward search, narrow the search (forms, dates, entity targeting), or query the dataframe. On a crossing range the two sides are assembled unevenly — the archive side contributes every row it matched, the full-text side one window of its total — so once the window runs out the rows jump to the pre-2001 era with the remaining full-text matches absent from the middle; search the 2001-onward era on its own to page through those."New value: +"Pagination offset. For sort=relevance on a 2001-onward search, EDGAR pages server-side up to its 10,000-result cap, and the offset counts matching documents, not filings — EDGAR indexes each document of a filing separately — so a page lists the filings among its limit documents, which can be fewer than limit, and a filing whose matching documents straddle a page edge can recur on the next page; stepping by limit never skips one. Everywhere else the offset indexes the filings this call assembled and sorted: the filings of a single 100-document window for date sorts and entity targeting, the full matched set on a pre-2001 archive path, or both together on a range that crosses 2001-01-01. Offsets at or past those rows return nothing even when more filings match (a total above the rows fetched, or total_is_exact false) — switch to sort=relevance for deep pagination on a 2001-onward search, narrow the search (forms, dates, entity targeting), or query the dataframe. On a crossing range the two sides are assembled unevenly — the archive side contributes every row it matched, the full-text side the filings of one document window — so once the window runs out the rows jump to the pre-2001 era with the remaining full-text matches absent from the middle; search the 2001-onward era on its own to page through those."
changedOutput schema / properties / dataset / description
Previous value: -"Canvas dataframe holding the fetched hits (full-text window, or the full pre-2001 archive match set), each tagged with its `source`. Absent when total ≤ inline limit, canvas is unavailable, or materialization failed. Query with secedgar_dataframe_query SQL."New value: +"Dataframe of every filing assembled (the full-text window, or the full pre-2001 match set). Absent when the rows fit inline, canvas is unavailable, or staging failed."
changedOutput schema / properties / dataset / properties / name / description
Previous value: -"Dataframe handle (df_XXXXX_XXXXX) — inspect its columns with secedgar_dataframe_describe, then query it with secedgar_dataframe_query."New value: +"Dataframe handle (df_XXXXX_XXXXX) for secedgar_dataframe_describe, then secedgar_dataframe_query."
changedOutput schema / properties / dataset / properties / truncated / description
Previous value: -"True when more matches exist beyond the materialized set — the full-text window was exceeded, or a pre-2001 archive scan hit its cap. Each row carries a `source` column so provenance survives into secedgar_dataframe_query."New value: +"True when matches exist beyond the staged rows: the full-text window was exceeded, or an archive scan hit its cap."
changedOutput schema / properties / effectiveQuery / description
Previous value: -"The query as executed against EDGAR (ticker/cik: tokens resolved to entity names)."New value: +"The query as executed: a ticker:/cik: token shows as \"(entity scope: CIK …)\", a forms-only browse as \"(browse: forms …)\", and a pre-2001 range names its archive route and dates."
changedOutput schema / properties / form_distribution / description
Previous value: -"Count of results by form type. Helps narrow follow-up searches."New value: +"Filings in hand by form: every row assembled (what a dataframe holds), not only the page shown. Sums to total when every matching filing is in hand and every row has a form."
changedOutput schema / properties / notice / description
Previous value: -"Guidance when no results were returned — echoes the query and suggests how to broaden."New value: +"Why nothing matched, what lies past a truncated list and how to reach it, or that offset passed the filings available."
changedOutput schema / properties / results / items / description
Previous value: -"One matching filing hit."New value: +"One matching filing. period_ending, ticker, file_description, matched_documents, sic, and location are absent on pre-2001 archive rows (source submissions or full-index)."
changedOutput schema / properties / results / items / properties / accession_number / description
Previous value: -"Filing accession number. Pass to secedgar_get_filing to retrieve the document text."New value: +"Accession number for secedgar_get_filing."
changedOutput schema / properties / results / items / properties / file_description / description
Previous value: -"SEC-provided description of the matching document (e.g., \"EX-99.1\"). Absent when SEC published none, and for pre-2001 archive-sourced rows. A range crossing 2001-01-01 returns both kinds of row together, so this field is populated on source=efts rows only."New value: +"SEC description of the first-ranked matching document (e.g., \"EX-99.1\"). Absent when SEC published none."
changedOutput schema / properties / results / items / properties / location / description
Previous value: -"Business location (state or country code). Absent when SEC has no location for this filer, and for pre-2001 archive-sourced rows. A range crossing 2001-01-01 returns both kinds of row together, so this field is populated on source=efts rows only."New value: +"Business location (state or country code). Absent when SEC has none."
addedOutput schema / properties / results / items / properties / matched_documents
Added value: +{
+ "description": "Documents of this filing that matched, in rank order; the dataframe holds their filenames as a comma-separated column.",
+ "items": {
+ "additionalProperties": false,
+ "description": "One document of this filing that matched the query.",
+ "properties": {
+ "name": {
+ "description": "Document filename — pass as secedgar_get_filing document to read it.",
+ "type": "string"
+ },
+ "type": {
+ "description": "EDGAR document type (e.g., \"EX-99.1\"), telling body from exhibit. Absent when the index has none.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+}
changedOutput schema / properties / results / items / properties / period_ending / description
Previous value: -"Period the filing reports on (YYYY-MM-DD). Absent for filings without a reporting period (e.g., proxy statements, ownership reports) and for all pre-2001 archive-sourced rows (source submissions/full-index), which carry no period field. A range crossing 2001-01-01 returns both kinds of row together, so this field is populated on source=efts rows only."New value: +"Period the filing reports on (YYYY-MM-DD). Absent for forms without one (proxy statements, ownership reports)."
changedOutput schema / properties / results / items / properties / sic / description
Previous value: -"SIC industry code for the filer. Absent for filers without a classification, and for pre-2001 archive-sourced rows. A range crossing 2001-01-01 returns both kinds of row together, so this field is populated on source=efts rows only."New value: +"SIC industry code. Absent for filers without one."
changedOutput schema / properties / results / items / properties / source / description
Previous value: -"Which EDGAR backend served this row: \"efts\" (2001+ full-text index), \"submissions\" (a pre-2001 entity-scoped filing history), or \"full-index\" (a pre-2001 unscoped quarterly index browse). A date range crossing 2001-01-01 is split at the boundary and returns rows of two sources in one result set, so read this per row rather than per result. Provenance is carried into the canvas dataframe as a `source` column."New value: +"\"efts\" (2001+ full-text), \"submissions\" (pre-2001 entity history), or \"full-index\" (pre-2001 quarterly index). A range crossing 2001-01-01 mixes sources; total sums its archive rows and the filings of one 100-document full-text window. Also a dataframe column."
changedOutput schema / properties / results / items / properties / ticker / description
Previous value: -"Primary ticker symbol parsed from the EFTS display name. Absent for private filers, foreign filers without a US listing, filings whose display name omits the ticker parenthetical, and all pre-2001 archive-sourced rows. A range crossing 2001-01-01 returns both kinds of row together, so this field is populated on source=efts rows only. For multi-class issuers (e.g., BRK-A / BRK-B), this is the first class listed."New value: +"Primary ticker; the first class for multi-class issuers (BRK-A / BRK-B). Absent for private filers, foreign filers without a US listing, and display names that omit it."
changedOutput schema / properties / scan / description
Previous value: -"Present only on the pre-2001 entity-scoped free-text path, where no full-text index exists and terms are matched by reading documents. Reports the scan's shape so a partial read is never presented as a complete one. Each document read is the whole accession .txt — SEC's original flat-submission format concatenates every exhibit into one file, and pre-1997 filings expose no per-document URL at all — so a match may sit in an attached exhibit rather than the body of the requested form. Absent on every other path."New value: +"Pre-2001 entity-scoped free-text path only. Each candidate's whole accession .txt is read, so a match may sit in an exhibit rather than the body of the requested form."
changedOutput schema / properties / scan / properties / candidates / description
Previous value: -"Filings the form + date pre-filter selected before any document was read."New value: +"Filings the form and date pre-filter selected."
changedOutput schema / properties / scan / properties / capped / description
Previous value: -"True when candidates exceeded the document cap, so the unscanned remainder may hold further matches — narrow the form or date filter to bring them into range."New value: +"True when candidates exceeded the 50-document cap; unread filings may match, so narrow forms or dates."
changedOutput schema / properties / scan / properties / matched / description
Previous value: -"Scanned filings whose text satisfied the query terms."New value: +"Scanned filings whose text satisfied the query."
changedOutput schema / properties / scan / properties / scanned / description
Previous value: -"Candidate documents actually fetched and matched against. Capped at 50 per call."New value: +"Candidates fetched and matched, at most 50 per call."
changedOutput schema / properties / total / description
Previous value: -"Total matching filings, which can exceed the rows returned inline or materialized. On the full-text (2001+) path this is capped at 10,000; entity targeting (ticker:/cik:) scopes server-side via the EFTS ciks param, so it is the entity's exact match count up to the cap. On a pre-2001 archive path it is the exact count within the scanned window (see total_is_exact). On a range crossing 2001-01-01 it is the sum of both eras' counts."New value: +"Matching filings, one per accession; can exceed the rows returned. A search with terms counts the filings among the full-text documents fetched (100 per request): a lower bound unless total_is_exact. A forms- or entity-only browse from 2001 on gives EDGAR's own count; earlier ranges count rows read."
addedOutput schema / properties / total_documents
Added value: +{
+ "description": "EDGAR's count of matching full-text documents, capped at 10,000. A search counts a filing once per matching document; a browse matches one document per filing. Absent on pure pre-2001 archive paths.",
+ "type": "number"
+}
changedOutput schema / properties / total_is_exact / description
Previous value: -"False when total is a lower bound — the full-text path hit its 10,000 cap, a pre-2001 archive scan hit its page/quarter cap before exhausting the range, or a pre-2001 local text scan hit its document cap (scan.capped)."New value: +"False when total is a lower bound: a search with terms whose 100-document window missed matches (or a relevance page past offset 0), EDGAR's 10,000 cap, or a pre-2001 archive or text scan that hit its cap. True does not mean every match is in the rows: a browse total can exceed the window."
changedOutput schema / properties / truncated / description
Previous value: -"True when results were capped by limit."New value: +"True when more filings match than are shown: limit capped the list, or total is a lower bound."