SEC Comment Letters Scraper
Pricing
Pay per event + usage
SEC Comment Letters Scraper
Extract SEC staff comment letters and company responses from EDGAR by ticker or CIK for compliance, due diligence, and disclosure monitoring.
Pricing
Pay per event + usage
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Extract SEC staff comment letters and company responses from EDGAR by ticker or CIK.
The actor focuses on the SEC forms that matter for disclosure-review workflows:
UPLOAD— SEC staff comment lettersCORRESP— company response letters
It resolves tickers to CIKs, reads the SEC submissions API, follows older archive shards when requested, and returns normalized document rows with direct EDGAR URLs.
What does SEC Comment Letters Scraper do?
SEC Comment Letters Scraper helps you collect public SEC correspondence records without manually searching EDGAR company pages.
It can:
- Resolve company tickers such as
AAPL,MSFT, orAMZNto CIKs - Read public SEC submissions JSON
- Filter filings to
UPLOADandCORRESP - Include recent filings and older SEC archive shards
- Return direct document and filing-detail URLs
- Optionally fetch cleaned text previews from HTML/text documents
- Label each row as a staff letter or company response
- Save everything to an Apify dataset for export or automation
Who is it for?
Securities lawyers
Use it to review how the SEC staff has commented on an issuer's disclosures before drafting, diligence, or transaction work.
Compliance teams
Monitor staff comments and responses for companies you track, competitors, or portfolio entities.
Investor relations teams
Find historical correspondence that may explain disclosure changes, risk-factor emphasis, accounting questions, or SEC review timelines.
Investors and analysts
Collect due-diligence signals from SEC review correspondence and compare comment histories across issuers.
Data teams
Build recurring EDGAR correspondence pipelines without writing ticker resolution, submissions pagination, and archive URL logic yourself.
Why use it?
SEC EDGAR is public, but comment-letter workflows are repetitive:
- You must know the CIK or resolve a ticker
- You must inspect the submissions JSON
- You must filter form types correctly
- You may need older archive shards
- You need stable URLs for documents and filing detail pages
- You need clean rows for spreadsheets, CRMs, dashboards, or internal research tools
This actor packages those steps into a repeatable Apify run.
What data can I extract?
| Field | Description |
|---|---|
cik | SEC Central Index Key, zero padded to 10 digits |
ticker | Resolved ticker when available |
companyName | SEC company name |
form | UPLOAD or CORRESP |
filingDate | SEC filing date |
reportDate | SEC report date when present |
accessionNumber | SEC accession number |
primaryDocument | Primary document filename |
documentDescription | SEC primary document description when present |
documentUrl | Direct EDGAR document URL |
filingDetailUrl | EDGAR filing detail page URL |
submissionsUrl | SEC submissions JSON URL |
archiveFile | Older submissions shard name when used |
isStaffLetter | true for SEC staff UPLOAD letters |
isCompanyResponse | true for issuer CORRESP responses |
documentType | html, pdf, text, or unknown |
documentText | Optional cleaned text preview |
scrapedAt | Extraction timestamp |
How much does it cost to scrape SEC comment letters?
This actor uses pay-per-event pricing.
- A small start fee is charged once per run.
- A per-record fee is charged for each SEC comment-letter row produced.
- You control spend with
maxItems, date filters, and company list size.
For most workflows, start with a few tickers and a date range. Increase maxItems only after confirming the output matches your needs.
Input options
companies
Required list of tickers or CIKs.
Examples:
AAPLMSFTAMZN0000320193
startDate
Only include filings on or after this date.
Example:
2021-01-01
endDate
Only include filings on or before this date.
Leave empty for no upper bound.
maxItems
Global output cap across all companies.
Use this to control cost and runtime.
includeArchiveShards
When enabled, the actor follows older SEC submissions shard files.
Disable it for a fast recent-filings-only run.
includeDocumentText
When enabled, the actor downloads each primary document and saves a cleaned text preview for HTML/text documents.
PDF documents keep the URL but may not include text.
maxDocumentTextChars
Maximum characters of document preview stored per row.
requestDelayMs
Delay between SEC requests.
The default is conservative to respect SEC fair-access guidance.
Example input
{"companies": ["AAPL", "MSFT", "AMZN"],"startDate": "2021-01-01","maxItems": 100,"includeArchiveShards": true,"includeDocumentText": false,"requestDelayMs": 150}
Example output
{"cik": "0000320193","ticker": "AAPL","companyName": "Apple Inc.","form": "CORRESP","filingDate": "2024-04-29","accessionNumber": "0000320193-24-000061","primaryDocument": "filename1.htm","documentUrl": "https://www.sec.gov/Archives/edgar/data/320193/000032019324000061/filename1.htm","isStaffLetter": false,"isCompanyResponse": true,"documentType": "html","source": "sec-edgar-submissions"}
How to run it
- Open the actor on Apify.
- Add tickers or CIKs to
companies. - Choose a date range.
- Set
maxItems. - Decide whether to include archive shards.
- Run the actor.
- Export the dataset as JSON, CSV, Excel, XML, or RSS.
Tips for best results
- Use tickers for convenience.
- Use CIKs for exact entity matching.
- Keep
includeArchiveShardsenabled for historical due diligence. - Disable document text for faster URL-only monitoring.
- Enable document text for legal-review samples or LLM workflows.
- Increase
requestDelayMsif the SEC returns rate-limit errors. - Use
startDateto avoid collecting old correspondence you do not need.
SEC fair-access behavior
The actor uses direct SEC HTTP endpoints and a descriptive User-Agent.
It intentionally avoids high concurrency.
SEC can rate-limit abusive traffic. If you run very large company lists, use a larger delay and reasonable item limits.
Integrations
Compliance dashboard
Schedule the actor daily or weekly and send new rows to your dashboard.
Due-diligence data room
Export comment letters and response URLs to CSV for deal teams.
Legal research workflow
Enable document text previews, then send rows to an internal review or summarization pipeline.
Investor monitoring
Track peer companies and alert when new UPLOAD or CORRESP filings appear.
Data warehouse
Use Apify webhooks or the API to load dataset rows into Snowflake, BigQuery, Postgres, or an internal lake.
API usage
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/sec-comment-letters-scraper').call({companies: ['AAPL', 'MSFT'],startDate: '2021-01-01',maxItems: 50,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
from apify_client import ApifyClientimport osclient = ApifyClient(os.environ['APIFY_TOKEN'])run = client.actor('automation-lab/sec-comment-letters-scraper').call(run_input={'companies': ['AAPL', 'MSFT'],'startDate': '2021-01-01','maxItems': 50,})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items)
cURL
curl -X POST "https://api.apify.com/v2/acts/automation-lab~sec-comment-letters-scraper/runs?token=$APIFY_TOKEN" \-H 'Content-Type: application/json' \-d '{"companies":["AAPL","MSFT"],"startDate":"2021-01-01","maxItems":50}'
MCP usage
You can use this actor from MCP-enabled tools through Apify MCP.
MCP URL:
https://mcp.apify.com/?tools=automation-lab/sec-comment-letters-scraper
Claude Code add command:
$claude mcp add apify-sec-comment-letters https://mcp.apify.com/?tools=automation-lab/sec-comment-letters-scraper
Claude Desktop MCP server configuration:
{"mcpServers": {"apify-sec-comment-letters": {"url": "https://mcp.apify.com/?tools=automation-lab/sec-comment-letters-scraper"}}}
Example prompts showing MCP usage:
Claude Desktop prompt:
Use the SEC Comment Letters Scraper MCP tool to collect Apple and Microsoft comment letters since 2021, then summarize recurring disclosure topics.
Claude Code prompt:
Run automation-lab/sec-comment-letters-scraper through MCP for AAPL, MSFT, and AMZN. Save the dataset as a CSV and identify company responses filed after staff uploads.
Example compliance prompt:
Monitor my issuer watchlist with the SEC comment letter scraper and return new EDGAR correspondence URLs grouped by company.
Related scrapers
Explore related Automation Lab actors:
- https://apify.com/automation-lab/sec-form-4-insider-trading-scraper
- https://apify.com/automation-lab/sec-13f-filings-scraper
- https://apify.com/automation-lab/sec-form-d-scraper
- https://apify.com/automation-lab/sec-litigation-releases
Legality
This actor uses publicly available SEC EDGAR data.
You are responsible for using the data lawfully, respecting SEC fair-access policies, and complying with your organization's legal and compliance requirements.
Do not use the output as legal advice. Have qualified counsel review legal conclusions.
Troubleshooting
Why did I get zero rows?
The company may not have recent UPLOAD or CORRESP filings in your date range. Try widening the date range, enabling archive shards, or checking the CIK.
Why is document text empty?
Some primary documents are PDFs. The actor preserves the PDF URL but does not OCR PDFs. HTML and text documents are best for previews.
Why did SEC return an error?
SEC may rate-limit high-volume runs. Increase requestDelayMs, reduce the company list, or lower maxItems.
Why are staff letters and company responses mixed together?
They are related correspondence records and share the same schema. Use form, isStaffLetter, or isCompanyResponse to filter them.
FAQ
Can I scrape by ticker?
Yes. The actor resolves tickers with the SEC company ticker file.
Can I scrape by CIK?
Yes. Enter a CIK with or without leading zeros.
Does it require an SEC API key?
No. The actor uses public SEC endpoints.
Does it use a browser?
No. It is an HTTP/API actor.
Can it monitor new letters?
Yes. Schedule recurring runs and compare new dataset rows by accession number.
Can it fetch full document text?
It can include cleaned previews for HTML/text documents. PDF OCR is not included.
Can it collect more than 100 records?
Yes. Increase maxItems and include more companies or wider date ranges.
What forms are included?
Only UPLOAD and CORRESP, which correspond to SEC staff letters and company responses.
Changelog
0.1
Initial private build for SEC comment letter and correspondence extraction.