Skip to main content
GET
https://api.fintool.com
/
v1
/
documents
/
{publication_id}
/
sections
Sections
curl --request GET \
  --url https://api.fintool.com/v1/documents/{publication_id}/sections
{
  "publication_id": "<string>",
  "ticker": "<string>",
  "doc_type": "<string>",
  "filing_date": "<string>",
  "sections": [
    {
      "name": "<string>",
      "content": "<string>",
      "word_count": 123,
      "page_start": 123,
      "page_end": 123
    }
  ],
  "section": "<string>",
  "results": [
    {
      "publication_id": "<string>",
      "ticker": "<string>",
      "company_name": "<string>",
      "doc_type": "<string>",
      "filing_date": "<string>",
      "period": "<string>",
      "content": "<string>",
      "word_count": 123
    }
  ],
  "total": 123,
  "limit": 123,
  "offset": 123
}

Overview

Extract specific sections from SEC filings. Get structured access to Risk Factors, MD&A, Business descriptions, and other standard sections from 10-K, 10-Q, and 8-K filings.

GET /v1/documents//sections

Get sections from a single document.

Path Parameters

publication_id
string
required
SEC accession number (e.g., 0000320193-24-000123)

Query Parameters

section
string
Filter to a specific section (e.g., Risk Factors, Item 1A)

Request Example

curl -X GET "https://api.fintool.com/v1/documents/0000320193-24-000123/sections?section=Risk%20Factors" \
  -H "Authorization: Bearer YOUR_API_KEY"

Response

publication_id
string
SEC accession number
ticker
string
Stock ticker symbol
doc_type
string
Document type (10-K, 10-Q, 8-K)
filing_date
string
Date the document was filed (ISO 8601)
sections
array
Array of document sections

Response Example

{
  "publication_id": "0000320193-24-000123",
  "ticker": "AAPL",
  "doc_type": "10-K",
  "filing_date": "2024-11-01",
  "sections": [
    {
      "name": "Item 1. Business",
      "content": "Apple Inc. designs, manufactures, and markets...",
      "word_count": 4250,
      "page_start": 3,
      "page_end": 12
    },
    {
      "name": "Item 1A. Risk Factors",
      "content": "The Company's business, reputation, results of operations...",
      "word_count": 8900,
      "page_start": 13,
      "page_end": 28
    }
  ]
}

GET /v1/sections

Bulk section retrieval across multiple filings. Useful for comparing the same section across companies or over time.

Query Parameters

tickers
string
required
Comma-separated ticker symbols (e.g., AAPL,MSFT,GOOGL)
section
string
required
Section name: Risk Factors, MD&A, Business, Legal Proceedings, etc.
doc_types
string
default:"10-K,10-Q"
Comma-separated document types
start_date
string
Filter documents from this date forward (ISO 8601: YYYY-MM-DD)
end_date
string
Filter documents up to this date (ISO 8601: YYYY-MM-DD)
limit
number
default:20
Maximum number of results to return (max: 100)

Request Example

curl -X GET "https://api.fintool.com/v1/sections?tickers=AAPL,MSFT&section=Risk%20Factors&doc_types=10-K&start_date=2022-01-01" \
  -H "Authorization: Bearer YOUR_API_KEY"

Response

section
string
The requested section name
results
array
Array of section results
total
number
Total number of matching results
limit
number
Maximum results returned
offset
number
Current offset for pagination

Response Example

{
  "section": "Risk Factors",
  "results": [
    {
      "publication_id": "0000320193-24-000123",
      "ticker": "AAPL",
      "company_name": "Apple Inc.",
      "doc_type": "10-K",
      "filing_date": "2024-11-01",
      "period": "FY 2024",
      "content": "The Company's business, reputation, results of operations...",
      "word_count": 8900
    },
    {
      "publication_id": "0000320193-23-000098",
      "ticker": "AAPL",
      "company_name": "Apple Inc.",
      "doc_type": "10-K",
      "filing_date": "2023-11-03",
      "period": "FY 2023",
      "content": "The Company's business, reputation, results of operations...",
      "word_count": 8450
    },
    {
      "publication_id": "0000789019-24-000456",
      "ticker": "MSFT",
      "company_name": "Microsoft Corporation",
      "doc_type": "10-K",
      "filing_date": "2024-07-30",
      "period": "FY 2024",
      "content": "Our operations and financial results are subject to...",
      "word_count": 12300
    }
  ],
  "total": 6,
  "limit": 20,
  "offset": 0
}

Available Sections

10-K and 10-Q Filings

SectionItem NumberDescription
BusinessItem 1Description of the company’s business operations
Risk FactorsItem 1AMaterial risks facing the company
PropertiesItem 2Physical properties and facilities
Legal ProceedingsItem 3Pending legal matters
MD&AItem 7Management’s Discussion and Analysis
Financial StatementsItem 8Audited financial statements
Controls and ProceduresItem 9AInternal controls assessment

8-K Filings

SectionDescription
Item 1.01Entry into a Material Definitive Agreement
Item 2.02Results of Operations and Financial Condition
Item 4.01Changes in Registrant’s Certifying Accountant
Item 5.02Departure of Directors or Certain Officers
Item 7.01Regulation FD Disclosure
Item 8.01Other Events

Use Cases

Risk Analysis

Compare Risk Factors across competitors or track changes over time

Business Overview

Extract business descriptions for company research

MD&A Comparison

Analyze management commentary across quarters

Legal Monitoring

Track legal proceedings disclosures

Example: Track Risk Factor Changes

import requests
from difflib import unified_diff

def get_risk_factors(ticker, year):
    """Get Risk Factors section for a specific year"""
    url = "https://api.fintool.com/v1/sections"
    headers = {"Authorization": "Bearer YOUR_API_KEY"}

    params = {
        "tickers": ticker,
        "section": "Risk Factors",
        "doc_types": "10-K",
        "start_date": f"{year}-01-01",
        "end_date": f"{year}-12-31",
        "limit": 1
    }

    response = requests.get(url, headers=headers, params=params)
    data = response.json()

    if data["results"]:
        return data["results"][0]["content"]
    return None

# Compare risk factors between years
risk_2023 = get_risk_factors("AAPL", 2023)
risk_2024 = get_risk_factors("AAPL", 2024)

# Generate diff
diff = unified_diff(
    risk_2023.splitlines(),
    risk_2024.splitlines(),
    fromfile="FY 2023",
    tofile="FY 2024",
    lineterm=""
)

print("\n".join(diff))

Next Steps