Research SEC EDGAR filings and financial disclosures through Crawlora, including company filings, extracted sections, normalized financials, insider transactions, and institutional holdings. Use for sourced filing briefs and period-aware company or disclosure comparisons.
Installs into .claude/skills of the current project.
Are you the author of sec-filings-research?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/crawlora-org-sec-filings-research)
---
name: sec-filings-research
description: Research SEC EDGAR filings and financial disclosures through Crawlora, including company filings, extracted sections, normalized financials, insider transactions, and institutional holdings. Use for sourced filing briefs and period-aware company or disclosure comparisons.
---
# SEC filings research
Answer filing questions with identifiable documents, reporting periods, and
source links. Separate reported facts, management statements, and analytical
interpretations; a filing lookup alone does not support a buy/sell conclusion.
## Setup
Set `CRAWLORA_API_KEY` to your key from [crawlora.net](https://crawlora.net).
Run the bundled `scripts/crawlora.sh` from this skill directory or by absolute
path. It uses `x-api-key` at `https://api.crawlora.net/api/v1`; keep the key in
the environment. Read [reference/endpoints.md](reference/endpoints.md) for live
SEC tools and the selected stored company/position datasets.
## Resolve, retrieve, compare
1. Resolve the correct legal entity with `/sec/company/search?q=...`. Preserve
the CIK, ticker when available, and company name; tickers and names can change.
2. Use `/sec/company/submissions` with `cik` or `ticker`, optional `form`,
`from`, `to`, and `limit` (max 500). One company identifier is required even
when the catalog marks each individual field optional. Filing-date filters
are not reporting-period filters. Resolve accession numbers from results.
3. Retrieve `/sec/filing` with `accession` plus the company identifier. For a
10-K/10-Q/8-K analysis, `/sec/filing/sections` accepts `items` and `max_chars`
(default 20,000; max 200,000 per section). Item numbering differs by form;
read the returned form/title rather than assuming every Item 7 is MD&A.
4. Compare equivalent sections from the requested filings. If `truncated=true`,
increase the cap within limits or inspect the primary document using
`/web/scrape`. If text is still unavailable, narrow the claim. Never conclude
a risk disappeared solely because it is absent from truncated extraction.
5. For numeric comparisons, `/sec/financials` supports `statement=income`,
`balance`, or `cash_flow`; `period=annual` or `quarterly`; `limit` up to 20.
Preserve fiscal period, end date, currency, form, and returned source URL.
Normalized values use latest-filed figures per period and may reflect
restatements; they are not necessarily what was known on a historical date.
6. Use the specialized surfaces only when needed:
| Question | Surface and constraint |
|---|---|
| Find filings mentioning a topic | `/sec/full-text-search`; confirm hits in the actual filing |
| Company overview | `/sec/company/intelligence`; requested unavailable enrichments appear in `degraded` |
| Insider disclosures | `/sec/insider` with company identifier; inspect transaction codes/roles instead of calling every acquisition a market purchase |
| Manager's holdings | `/sec/institutional-holdings` requires the **manager's CIK**, not the issuer's ticker; returns latest 13F-HR holdings |
| Cross-company XBRL fact | `/sec/frames` requires `concept` and `period`; match taxonomy/unit and distinguish duration from instant frames |
| Bulk company/position discovery | Selected `/datasets/sec-companies/*` and `/datasets/sec-institutional-positions/*`; discover facet values and label these stored snapshots |
```sh
scripts/crawlora.sh /sec/company/search q=Apple
scripts/crawlora.sh /sec/company/submissions ticker=AAPL form=10-K limit=2
# Use a returned accession for filing/sections; do not reuse a stale example ID.
scripts/crawlora.sh /sec/financials ticker=AAPL statement=income period=annual limit=2
```
## Evidence and limits
Return a brief or comparison with entity/CIK, accession, form, filing date,
reporting date/period, cited section or fact, source URL, and retrieval time.
Show calculations and distinguish missing values from zeros.
- Match currency, units, duration, and fiscal calendars. A quarterly cash-flow
disclosure can be year-to-date; do not assume it is a standalone quarter.
Calendar frames can contain different start/end dates across filers. Verify
comparability before calculating growth or ranking companies.
- Check amendments and restatements when the question depends on historical
changes. An incomplete recent-submissions window is not an exhaustive archive.
- 13F is a delayed reporting snapshot with defined coverage, not a current
complete portfolio or a record of every trade. Do not infer trade dates or
investor intent from a change in reported holdings alone.
- Dataset results may lag live filings. Keep data-as-of dates distinct from
collection time. Inspect `degraded` rather than silently filling enrichment gaps.
- Back off on `429`, retry a transient `5xx` once, stop on `401`/`403`, and
check application `code`. Preserve partial evidence with explicit gaps.
For XBRL context and frame semantics, see the [SEC's API documentation](https://www.sec.gov/search-filings/edgar-application-programming-interfaces).