Coding

sec-filings-research

Try it

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.

What it does

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.

The skill document

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. 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 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:

    QuestionSurface 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 discoverySelected /datasets/sec-companies/* and /datasets/sec-institutional-positions/*; discover facet values and label these stored snapshots
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.

Related skills

Trade crypto, manage a multi-chain wallet, and query an AI analyst from one CLI.

by lowesyang162 installs109 stars

Post videos, photos, text, and documents to 10 social platforms through a single REST API call.

by victorcavero14375 installs50 stars

Generate and edit Draw.io, Mermaid, and Excalidraw diagrams from natural language using a structured JSON spec.

by nssa.io1.0k installs47 stars

Fetch raw ad creative, app, ranking, and revenue data from AdMapix as structured JSON.

by fly0pants4.3k installs296 stars

Adaptive web scraping in Python that bypasses anti-bot systems and scales from single requests to concurrent crawls.

by d4vinci399 installs28 stars

Stores durable facts in a categorized, plain-markdown vault on disk, alongside your agent's built-in memory.

by Iván555 installs18 stars

More from crawlora-org

Browse all skills

Researches products, prices, sellers, and reviews across major online marketplaces and big-box/specialty retailers (Amazon, eBay, Shopify stores, Shop.app, Target, Costco, Walmart, Nike, Zara, Adidas, Best Buy, Home Depot, Sephora, SHEIN, IKEA, Chewy, and more) using the Crawlora API, returning clean JSON. Use when the user asks to find a product, compare prices or sellers, track listings, or pull marketplace/retailer reviews — instead of scraping store pages.

by crawlora-org1 installs

Researches hotels, flights, attractions, short-term rentals, and live events via the Crawlora API — Booking.com, Expedia, Agoda, TripAdvisor, Trip.com, Airbnb, and Ticketmaster — returning clean JSON. Use when the user wants to search or compare hotel/stay prices and reviews, look up flight options, find attractions/things-to-do or concerts/events, or research an Airbnb host or listing.

by crawlora-org1 installs

Fetches any company's job openings straight from its Applicant Tracking System (ATS) via the Crawlora API — Greenhouse, Lever, Workday, Ashby, SmartRecruiters, Workable, Personio, Recruitee, iCIMS, Oracle Recruiting, Rippling, Pinpoint, Eightfold, Gem, UKG, and Teamtailor — returning clean JSON. Use when the user wants every open role from a specific company's ATS-hosted career page, a single job posting's full detail, or a hiring-velocity snapshot for a company, given its ATS platform and company/board slug.

by crawlora-org1 installs

Queries Crawlora's pre-built hosted datasets — Airbnb markets, App Store/Google Play apps, GitHub/Instagram/X users, job postings, US housing markets, Google Maps businesses, Goodreads, PitchBook, Steam, TrustMRR, Product Hunt, SEC companies, tech-stack, and more — via search/facets/item/nearby endpoints, returning clean JSON without live-crawling each platform. Use when the user wants bulk or aggregate analysis, to search a pre-indexed corpus, to facet/filter a large population, or to look up one record by its dataset id, instead of scraping pages one at a time.

by crawlora-org1 installs

Researches music, artists, playlists, and podcasts via the Crawlora API — Spotify tracks/albums/artists/playlists/profiles, Spotify Podcasts, Apple Podcasts, Discogs, and SoundCloud tracks/profiles/playlists — returning clean JSON. Use when the user wants a track/album/artist's details, a playlist or profile, podcast show/episode info and charts, a record's Discogs release/pressing data, or a SoundCloud track/user's stats.

by crawlora-org1 installs

Researches Zara's catalog — category taxonomy, category listings, product detail, keyword search, search suggestions, and nearby physical stores — using the Crawlora API, returning clean JSON. Use when the user asks to find a product on Zara, browse a Zara category, search Zara's catalog by keyword, pull a Zara product's colors/sizes/images, or find a nearby Zara store — instead of scraping zara.com.

by crawlora-org1 installs