GET
/v1/fnd/stocks/:ticker/risk-factors-diffRisk Factors year-over-year diff
Compares the latest 10-K's Risk Factors against the prior year's. Paragraph-level diff with three buckets: added, removed, modified, the killer 'what changed in this company's risk profile' answer without analyst-hours of reading.
- Auth
X-API-Keyheader- Format
- JSON
- Rate limits
- Per-key, see limits
Example
request · shell
curl -H "X-API-Key: $KEY" \
"https://api.sifting.io/v1/fnd/stocks/AAPL/risk-factors-diff"200OKapplication/json
{ "ticker": "AAPL", "cik": "0000320193", "current": { "accession": "0000320193-25-000079", "form": "10-K", "filed_at": "2025-10-31", "period_end": "2025-09-27" }, "previous": { "accession": "0000320193-24-000123", "form": "10-K", "filed_at": "2024-11-01", "period_end": "2024-09-28" }, "diff": { "added": [ "The Company's increased reliance on AI services exposes it to..." ], "removed": [ "Risks related to the COVID-19 pandemic..." ], "modified": [ { "before": "Uncertainty about, or a decline in, global or regional economic conditions can have a significant impact...", "after": "In addition to an adverse impact on demand for the Company's products and services, uncertainty about..." } ], "stats": { "before_paragraphs": 110, "after_paragraphs": 101, "unchanged_count": 55, "added_count": 7, "removed_count": 16, "modified_count": 39 } }}Loading runner…
First load onlyParameters
ParameterDescription
Parameter
tickerrequiredstring · path- Ticker symbol (case-insensitive).
Response fields
FieldDescription
Field
tickerstring- Ticker symbol.
cikstring- SEC Central Index Key, zero-padded.
currentobject- The latest 10-K the diff is computed from.
current.accessionstring- SEC accession number of the current filing.
current.formstring- Form type of the current filing.
current.filed_atstring (YYYY-MM-DD)- Date the current filing was filed.
current.period_endstring (YYYY-MM-DD)- Fiscal period the current filing covers.
previousobject- The prior-year 10-K compared against.
previous.accessionstring- SEC accession number of the prior filing.
previous.formstring- Form type of the prior filing.
previous.filed_atstring (YYYY-MM-DD)- Date the prior filing was filed.
previous.period_endstring (YYYY-MM-DD)- Fiscal period the prior filing covers.
diffobject- Paragraph-level changes bucketed by type.
diff.added[]array- Paragraphs new in the current filing.
diff.removed[]array- Paragraphs dropped from the prior filing.
diff.modified[]array- Paragraphs present in both but edited.
diff.modified[].beforestring- Prior-year wording of the paragraph.
diff.modified[].afterstring- Current wording of the paragraph.
diff.statsobject- Counts summarizing the diff.
diff.stats.before_paragraphsinteger- Paragraph count in the prior filing.
diff.stats.after_paragraphsinteger- Paragraph count in the current filing.
diff.stats.unchanged_countinteger- Paragraphs matched as unchanged.
diff.stats.added_countinteger- Paragraphs added.
diff.stats.removed_countinteger- Paragraphs removed.
diff.stats.modified_countinteger- Paragraphs modified.
Reference
MethodologyDescription
Methodology
- matching
- Paragraphs matched by Jaccard token similarity
- ≥ 0.92
- Treated as unchanged
- 0.50 – 0.92
- Same risk factor, edited (modified)
- < 0.50
- Added or removed
- 10-K only
- 10-Qs commonly say 'no material changes' → empty diffs. Annual is the meaningful unit for risk-factor change tracking.
Error responses
StatusCodeMeaning
- 404
insufficient_filingsDiff needs ≥ 2 10-K filings on record; this filer has fewer.
{ "error": "insufficient_filings" } - 422
risk_factors_unavailableItem 1A couldn't be extracted from one or both 10-Ks.
{ "error": "risk_factors_unavailable" }