QVeris
SEC Filing API Guide

Free 10-Q API
for SEC Filing Data

Build a free 10-Q data workflow that finds the right quarterly filing, separates quarter-only from year-to-date facts, preserves 10-Q/A versions, and supports defensible period-over-period analysis.

Free 10-Q API workflow from ticker or CIK through SEC EDGAR and 10-Q or 10-Q/A filings to XBRL JSON for Python apps and AI agents

TL;DR

Quarterly-analysis job

Retrieve each issuer’s quarterly report and convert fiscal periods and XBRL facts into comparable, source-backed observations.

Required period context

Keep fiscal year, fiscal period, document period end, fact start and end dates, units, decimals, and accession with every metric.

Critical distinction

A three-month quarter and a six- or nine-month year-to-date fact may share the same concept; context duration decides what can be compared.

QVeris role

QVeris helps agents discover and call relevant financial-data capabilities; provider terms and quotas still govern each API.

How to use a free 10-Q API for SEC filings

A 10-Q API is useful when the job is quarterly financial analysis, not merely filing discovery. Start with CIK, retrieve the original 10-Q plus later 10-Q/A filings, map fiscal periods, and preserve XBRL facts with their concepts, units, start and end dates, filing context, and source accession. The hard part is distinguishing a single quarter from year-to-date values and comparing periods without mixing restated and originally reported facts.

Unlike a 10-K, a 10-Q sits inside an incomplete fiscal year. Balance-sheet facts are usually instants, while income-statement and cash-flow facts cover durations that may be three, six, or nine months. A provider that returns “quarterly revenue” without start date, end date, fiscal period, and source accession leaves the consumer unable to tell whether the number is Q2 alone or the first half of the year.

1. Resolve the fiscal period

Store fiscal year, fiscal period, document period end, filed date, and form. Calendar quarter is not a safe substitute because issuers use different fiscal calendars and 53-week years.

2. Separate quarter-only and year-to-date facts

Income and cash-flow facts may use three-, six-, or nine-month contexts. Compare context dates and duration before calculating quarter-over-quarter growth.

3. Preserve XBRL lineage

Keep taxonomy concept, issuer extension, unit, decimals, context, accession, and source URL. A normalized metric without its source fact cannot explain a later discrepancy.

4. Track amendments and restatements

Do not overwrite the original 10-Q silently. Version facts by filing and decide whether downstream screens show as-filed, latest-known, or both.

5. Derive quarter-only values deliberately

If an issuer reports six- or nine-month cumulative values, a standalone quarter may be derived by subtracting the prior cumulative period. Mark the result as derived, require compatible concepts, units, dimensions, and versions, and never subtract values from different filing bases silently.

6. Compare fiscal periods, not labels

For year-over-year analysis, match fiscal quarter and comparable duration from the prior fiscal year. For sequential analysis, document seasonality and any derivation. A label such as “Q3” is not enough when fiscal calendars or reporting-week lengths differ.

Free SEC filing API fields and capabilities

LayerMain jobBest forBoundary
Form type10-Q or 10-Q/A.Separating originals from amendments.Form type alone does not prove successful parsing.
CIK / tickerIssuer lookup key.Company-specific 10-Q search.Ticker may be absent or change.
Accession / URLUnique filing reference and source document.Deduplication and audit trails.Document parsing may be separate.
10-Q financial statement fieldsRevenue, net income, assets, cash flow, periods, units, and source facts.Structured quarterly financial analysis.Coverage varies by provider and plan.
Fact duration / instantDistinguishes balance-sheet instants from three-, six-, or nine-month performance facts.Quarter-only derivation and valid growth calculations.Fiscal-period labels cannot replace exact start and end dates.
Dimensions and segmentsIdentifies consolidated, product, geographic, or other dimensional facts.Preventing segment values from being mistaken for consolidated totals.Dropping dimensions can create plausible but wrong duplicates.
Accepted time / filed dateControls point-in-time availability and monitoring order.Backtests, alerts, and “known as of” research.Report-period end is not the time the market learned the filing.

Worked example: derive a standalone quarter from cumulative facts

Assume an issuer reports revenue of 100 for the three months ended March 31, 210 for the six months ended June 30, and 330 for the nine months ended September 30, all in USD millions. The standalone second quarter is 210 − 100 = 110; the standalone third quarter is 330 − 210 = 120. Store those outputs as derived facts, not as values directly reported by the issuer, and retain both source contexts and accessions behind each subtraction.

Subtract only compatible facts. Concept, unit, consolidation and segment dimensions, fiscal-year basis, duration boundary, and filing-version policy must match. If the Q2 filing later amends the six-month value from 210 to 214, an as-filed Q3 analysis may still use the version available at that cutoff, while a latest-known series may recompute Q2 and Q3 history. Keep these two policies separate and label them explicitly; silently mixing an amended prior value with an original current value creates a series that never existed at any real point in time.

10-Q filings API example and validation checklist

A useful JSON response should preserve filing identity and evidence before adding normalized financial facts. The following provider-neutral record uses placeholders deliberately; it shows the contract your application should require, not a live filing.

{
  "issuer": {
    "cik": "CIK_PLACEHOLDER",
    "ticker": "TICKER_PLACEHOLDER",
    "name": "ISSUER_NAME"
  },
  "filing": {
    "accession_number": "ACCESSION_PLACEHOLDER",
    "form": "10-Q",
    "is_amendment": false,
    "filed_date": "YYYY-MM-DD",
    "accepted_at": "YYYY-MM-DDThh:mm:ss-04:00",
    "report_period": "YYYY-MM-DD",
    "primary_document": "PRIMARY_DOCUMENT.htm",
    "source_url": "SOURCE_DOCUMENT_URL"
  },
  "xbrl": {
    "facts_source_url": "XBRL_FACTS_SOURCE_URL",
    "units_present": ["USD", "shares", "USD/shares"]
  },
  "retrieved_at": "YYYY-MM-DDThh:mm:ssZ"
}

Do not collapse three different SEC layers into one undocumented payload. Submissions metadata tells you what was filed and when; the archive document is the authoritative narrative and disclosure source; XBRL facts provide tagged values with units, periods, dimensions, and filing contexts. A normalized API may join them, but every joined value should still retain its source URL, accession, period context, unit, and retrieval time.

Request pattern

Send the issuer identifier plus a form filter such as form=10-Q. If the provider supports date ranges, use them for incremental jobs and paginate until no next page remains.

Validate the response

Confirm that every record includes a parseable filing date, exact form type, issuer identifier, and a source URL. Reject malformed dates and duplicate accession numbers.

Handle rate limits

Read the provider’s quota and 429 behavior. Add bounded retries with backoff, cache stable filing metadata, and avoid repeatedly downloading unchanged documents.

Build alerts from new accessions

Persist the last successful checkpoint, compare new accession numbers, and send alerts only after the source record passes validation.

Reconcile facts before calculating growth

For every metric, group candidates by concept, unit, dimensions, period dates, form, and accession. Prefer an explicit provider policy for amendments and duplicates. Flag missing prior periods instead of filling them with a non-comparable context.

Test failure recovery

Simulate a timeout after one page or one issuer, resume from the stored checkpoint, and confirm that replay neither misses nor duplicates accessions. Keep raw responses and retrieval timestamps so later parser corrections can be rerun.

How QVeris helps discover a 10-Q filing API

QVeris is a capability routing network for AI agents. It can help an agent discover and inspect tools for filing discovery, source-document retrieval, XBRL facts, or normalized quarterly statements. Before a call, the agent should state whether it needs as-filed or latest-known data, quarter-only or year-to-date values, and which fiscal period and evidence fields must be returned. QVeris does not change the provider’s data rights, quota, freshness, or usage terms.

  • Open the QVeris tool details for issuer lookup, SEC filing search, or structured filing extraction.
  • Inspect required parameters and returned fields before connecting the capability to an agent workflow.
  • Keep the SEC source URL and provider attribution in every research output.

FAQ

Is there an official free SEC 10-Q API?

Yes. SEC EDGAR provides public submissions and XBRL data without an API key. Filter filing metadata for 10-Q and 10-Q/A, follow current automated-access guidance, and retrieve the source filing or facts needed by the application.

Why can a 10-Q metric have several values?

The same concept may appear with three-, six-, or nine-month durations, different units or dimensions, and multiple filing versions. Select using the complete context and accession—not concept name alone.

How do I calculate a standalone quarter from year-to-date data?

Subtract the compatible prior cumulative value only when concept, unit, dimensions, fiscal basis, and filing-version policy match. Mark the output as derived and retain both source facts; otherwise report that a comparable quarter-only value is unavailable.

How should 10-Q/A be handled?

Store the original and amendment as separate accessioned versions. Link them, identify changed disclosures or facts, and define whether downstream consumers see as-filed, latest-known, or both views.

Can I monitor new quarterly filings by API?

Yes. Poll a form-filtered feed or use alerts, checkpoint by accepted time, deduplicate by accession number, validate the source URL, and support replay of an overlap window after failures.

External references