SEC Comment Letters Scraper avatar

SEC Comment Letters Scraper

Pricing

Pay per event + usage

Go to Apify Store
SEC Comment Letters Scraper

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

Stas Persiianenko

Maintained by Community

Actor 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 letters
  • CORRESP — 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, or AMZN to CIKs
  • Read public SEC submissions JSON
  • Filter filings to UPLOAD and CORRESP
  • 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?

FieldDescription
cikSEC Central Index Key, zero padded to 10 digits
tickerResolved ticker when available
companyNameSEC company name
formUPLOAD or CORRESP
filingDateSEC filing date
reportDateSEC report date when present
accessionNumberSEC accession number
primaryDocumentPrimary document filename
documentDescriptionSEC primary document description when present
documentUrlDirect EDGAR document URL
filingDetailUrlEDGAR filing detail page URL
submissionsUrlSEC submissions JSON URL
archiveFileOlder submissions shard name when used
isStaffLettertrue for SEC staff UPLOAD letters
isCompanyResponsetrue for issuer CORRESP responses
documentTypehtml, pdf, text, or unknown
documentTextOptional cleaned text preview
scrapedAtExtraction 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:

  • AAPL
  • MSFT
  • AMZN
  • 0000320193

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

  1. Open the actor on Apify.
  2. Add tickers or CIKs to companies.
  3. Choose a date range.
  4. Set maxItems.
  5. Decide whether to include archive shards.
  6. Run the actor.
  7. 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 includeArchiveShards enabled for historical due diligence.
  • Disable document text for faster URL-only monitoring.
  • Enable document text for legal-review samples or LLM workflows.
  • Increase requestDelayMs if the SEC returns rate-limit errors.
  • Use startDate to 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.

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 ApifyClient
import os
client = 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().items
print(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.

Explore related Automation Lab actors:

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.