Overview
Access SEC filings and financial documents in clean Markdown format . Documents are intelligently chunked into sections for easy processing and analysis. Retrieve full document content by publication ID or list documents with filtering options.
Coverage: ~8,000 US public companies. New filings available within 1 minute of SEC publication.
GET /v1/documents/
Retrieve a specific document by its SEC accession number.
Path Parameters
SEC accession number (e.g., 0001193125-25-269432)
Query Parameters
Response format for the document body:
markdown - Full document as markdown (default)
sections - Document split into labeled sections
metadata - Metadata only, no body content
Include attached exhibits (e.g., press releases, financial statements)
Request Example
curl -X GET "https://api.fintool.com/v1/documents/0001193125-25-269432?format=markdown&include_exhibits=true" \
-H "Authorization: Bearer YOUR_API_KEY"
Response
SEC Central Index Key (useful for cross-referencing with EDGAR)
Document type (10-K, 10-Q, 8-K, etc.)
Date the document was filed (ISO 8601)
Reporting period (e.g., “Q4 2025”, “FY 2024”)
Document content in the requested format. Not included when format=metadata.
Total word count of the document body. Useful for estimating processing time.
Direct link to the document on SEC EDGAR
Document sections (only when format=sections) Section title (e.g., “Item 2.02 Results of Operations”)
Section content as markdown
Attached exhibits (only when include_exhibits=true) Exhibit identifier (e.g., “99.1”)
Exhibit content as markdown
Response Example
{
"publication_id" : "0001193125-25-269432" ,
"ticker" : "ABNB" ,
"company_name" : "Airbnb, Inc." ,
"cik" : "1559720" ,
"doc_type" : "8-K" ,
"filing_date" : "2025-11-14" ,
"period" : "Q4 2025" ,
"word_count" : 1250 ,
"sec_url" : "https://www.sec.gov/Archives/edgar/data/1559720/000119312525269432" ,
"body" : "# Form 8-K \n\n ## Item 2.02 Results of Operations and Financial Condition \n\n On November 14, 2025, Airbnb, Inc. issued a press release announcing its financial results for the quarter ended September 30, 2025. A copy of the press release is furnished as Exhibit 99.1 to this Current Report on Form 8-K. \n\n ## Item 9.01 Financial Statements and Exhibits \n\n (d) Exhibits \n\n | Exhibit No. | Description | \n |-------------|-------------| \n | 99.1 | Press Release dated November 14, 2025 |" ,
"sections" : [
{
"title" : "Item 2.02 Results of Operations and Financial Condition" ,
"content" : "On November 14, 2025, Airbnb, Inc. issued a press release..." ,
"page_start" : 1
},
{
"title" : "Item 9.01 Financial Statements and Exhibits" ,
"content" : "(d) Exhibits \n\n | Exhibit No. | Description |..." ,
"page_start" : 2
}
],
"exhibits" : [
{
"exhibit_number" : "99.1" ,
"title" : "Press Release dated November 14, 2025" ,
"content" : "# Airbnb Announces Third Quarter 2025 Results \n\n **SAN FRANCISCO** - Airbnb, Inc. (NASDAQ: ABNB) today reported..."
}
]
}
GET /v1/documents
List documents with filtering by ticker, document type, and date range.
At least one filter (tickers, doc_types, or date range) is required. Results are sorted by filing_date descending (most recent first) by default.
Query Parameters
Comma-separated list of ticker symbols (e.g., AAPL,MSFT,GOOGL). Required if no other filters provided.
Comma-separated list of document types. Available types:
10-K - Annual reports
10-Q - Quarterly reports
8-K - Current reports (material events)
S-1 - Registration statements (IPOs)
6-K - Foreign private issuer reports
20-F - Foreign private issuer annual reports
DEF 14A - Proxy statements
EARNINGS_CALL - Earnings call transcripts
Filter documents from this date forward (ISO 8601: YYYY-MM-DD)
Filter documents up to this date (ISO 8601: YYYY-MM-DD)
Maximum number of documents to return (1-100)
Number of documents to skip for pagination
sort
string
default: "filing_date_desc"
Sort order for results:
filing_date_desc - Most recent first (default)
filing_date_asc - Oldest first
Request Example
curl -X GET "https://api.fintool.com/v1/documents?tickers=AAPL,MSFT&doc_types=10-K,10-Q&start_date=2024-01-01&limit=20" \
-H "Authorization: Bearer YOUR_API_KEY"
Response
Array of document metadata objects SEC accession number - use this to fetch full document
Direct URL to fetch this document via API
Direct link to the document on SEC EDGAR
Total number of documents matching the query
Number of documents returned
Current offset for pagination
Response Example
{
"documents" : [
{
"publication_id" : "0000320193-24-000123" ,
"ticker" : "AAPL" ,
"company_name" : "Apple Inc." ,
"cik" : "320193" ,
"doc_type" : "10-K" ,
"title" : "Annual Report for fiscal year ended September 28, 2024" ,
"filing_date" : "2024-11-01" ,
"period" : "FY 2024" ,
"url" : "/v1/documents/0000320193-24-000123" ,
"sec_url" : "https://www.sec.gov/Archives/edgar/data/320193/000032019324000123"
},
{
"publication_id" : "0000320193-24-000089" ,
"ticker" : "AAPL" ,
"company_name" : "Apple Inc." ,
"cik" : "320193" ,
"doc_type" : "10-Q" ,
"title" : "Quarterly Report for period ended June 29, 2024" ,
"filing_date" : "2024-08-02" ,
"period" : "Q3 2024" ,
"url" : "/v1/documents/0000320193-24-000089" ,
"sec_url" : "https://www.sec.gov/Archives/edgar/data/320193/000032019324000089"
},
{
"publication_id" : "0000789019-24-000456" ,
"ticker" : "MSFT" ,
"company_name" : "Microsoft Corporation" ,
"cik" : "789019" ,
"doc_type" : "10-K" ,
"title" : "Annual Report for fiscal year ended June 30, 2024" ,
"filing_date" : "2024-07-30" ,
"period" : "FY 2024" ,
"url" : "/v1/documents/0000789019-24-000456" ,
"sec_url" : "https://www.sec.gov/Archives/edgar/data/789019/000078901924000456"
}
],
"total" : 47 ,
"limit" : 20 ,
"offset" : 0
}
Use Cases
Document Analysis Fetch full SEC filings for detailed analysis and processing
Data Pipelines Build automated workflows to ingest new filings as they’re published
Compliance Monitoring Track 8-K filings for material events across your portfolio
Research Archives Build searchable archives of historical filings
For large result sets, use offset and limit to paginate:
import requests
def get_all_documents ( tickers , doc_types , start_date ):
"""Fetch all documents with pagination"""
url = "https://api.fintool.com/v1/documents"
headers = { "Authorization" : "Bearer YOUR_API_KEY" }
all_documents = []
offset = 0
limit = 100
while True :
params = {
"tickers" : tickers,
"doc_types" : doc_types,
"start_date" : start_date,
"limit" : limit,
"offset" : offset
}
response = requests.get(url, headers = headers, params = params)
data = response.json()
all_documents.extend(data[ "documents" ])
# Check if we've fetched all documents
if offset + limit >= data[ "total" ]:
break
offset += limit
return all_documents
# Fetch all 10-K and 10-Q filings for 2024
docs = get_all_documents( "AAPL,MSFT,GOOGL" , "10-K,10-Q" , "2024-01-01" )
print ( f "Found { len (docs) } documents" )
Returns the full document as a single markdown string. Best for displaying or processing entire documents. response = requests.get(
f " { url } / { publication_id } " ,
params = { "format" : "markdown" }
)
print (response.json()[ "body" ]) # Full markdown content
Returns the document split into labeled sections. Useful for navigating to specific parts of a filing. response = requests.get(
f " { url } / { publication_id } " ,
params = { "format" : "sections" }
)
for section in response.json()[ "sections" ]:
print ( f " { section[ 'title' ] } (page { section[ 'page_start' ] } )" )
Rate Limits
Plan Limit Standard 100 requests/minute Enterprise Custom limits available
Rate limit headers are included in every response:
X-RateLimit-Limit - Maximum requests per minute
X-RateLimit-Remaining - Requests remaining in current window
X-RateLimit-Reset - Unix timestamp when the limit resets
Error Responses
Status Code Description 400 invalid_requestInvalid publication_id format or missing required parameters 401 unauthorizedMissing or invalid API key 404 document_not_foundDocument with the specified publication_id doesn’t exist 429 rate_limit_exceededToo many requests - wait and retry
404 Not Found
400 Bad Request
401 Unauthorized
429 Rate Limit Exceeded
{
"error" : {
"code" : "document_not_found" ,
"message" : "Document with publication_id '0001193125-25-000000' not found"
}
}
Next Steps