Skip to content
cccskills
FreePublished on GitHub

edgartools-sec-data

How to pull SEC EDGAR data with the edgartools Python package — company lookup, filings, XBRL financial statements, and filing sections like Item 1A risk factors. Use whenever a task involves SEC filings, 10-K/10-Q data, or company financials.

The English summary is being prepared. Showing the original description.

Works withSEC EDGAR
See how to install

Files included (1)

  • SKILL.md4.3 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

edgartools: SEC EDGAR data access

edgartools is the desk's standard way to read SEC data. It is preinstalled in your environment. Work in Python (a script or python -c), not by fetching sec.gov pages by hand.

Always set your identity first

The SEC requires a contact identity on automated requests. Do this before any other call, every session:

from edgar import set_identity
set_identity("Research Desk workshop attendee@example.com")  # use the EDGAR_IDENTITY value you were given

(Equivalently, the EDGAR_IDENTITY environment variable, exported before running Python.)

Companies and filings

from edgar import Company

company = Company("NVDA")              # by ticker (or CIK)
company.name, company.cik, company.industry

filings = company.get_filings(form="10-K")   # also "10-Q", "8-K", "DEF 14A", ...
latest_10k = filings.latest()                # most recent of that form
latest_10q = company.get_filings(form="10-Q").latest()

latest_10k.form, latest_10k.filing_date, latest_10k.accession_no

Pick whichever of the latest 10-K / 10-Q is more recent when asked for "the most recent filing". Foreign private issuers file 20-F instead of 10-K.

Reading the filing

filing = latest_10k
tenk = filing.obj()        # rich object for 10-K/10-Q: sections, financials

# Sections (10-K item numbers; 10-Q uses Part/Item naming)
risk_factors = tenk["Item 1A"]      # Risk Factors text
mda = tenk["Item 7"]                # Management's Discussion & Analysis
business = tenk["Item 1"]

# Plain text of the whole filing if you need to search it
text = filing.text()

Sections are long — extract what you need rather than pasting whole sections into your reply.

Financial statements (XBRL)

financials = tenk.financials          # also: company.get_financials() for the latest annual figures

income = financials.income_statement()
balance = financials.balance_sheet()
cashflow = financials.cashflow_statement()

These return tabular objects (pandas-friendly). Typical fields: total revenue, gross profit, operating income, net income, cash and equivalents, total debt, inventory, R&D expense. The same statement usually carries the prior period's column — use it for year-over-year comparisons instead of fetching another filing.

Segment and geographic revenue

Consolidated revenue hides the story; the segment note is where concentration and regional shifts show up. Segment data lives in the financial-statement notes (ASC 280), not the primary statements:

# The segment/geography breakdown is a note, not a primary statement.
# Search the filing text for the segment note and read the tables around it.
text = filing.text()
for marker in ["Segment Information", "revenue by geographic", "Disaggregation of Revenue"]:
    idx = text.find(marker)
    if idx != -1:
        print(text[idx : idx + 3000])   # the note's tables follow the heading
        break

Report segment/geography revenue alongside the consolidated figure and call out: any region or segment that moved more than ~20% year over year, and any customer-concentration disclosure (usually phrased "one customer accounted for X% of revenue").

Useful patterns

  • Year-over-year risk-factor diff: pull Item 1A from this year's and last year's 10-K (company.get_filings(form="10-K") is sorted; take the first two) and compare.
  • Insider activity: company.get_filings(form="4") lists Form 4 insider transaction filings.
  • Be defensive: the API surface evolves. If an attribute or method isn't there, inspect it (dir(obj), help(obj)) or fall back to filing.text() and targeted searching, and note the fallback in your output.
  • Be polite to EDGAR: keep requests to what you need; everything is cached within the session by the library.

Units and reporting hygiene

  • Statement values are typically raw USD; convert to millions when reporting (value / 1e6) and label them.
  • Always state which filing (form, fiscal period, filing date) a number came from.
  • If a figure is missing or ambiguous in XBRL, say so rather than estimating.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

How to produce a demand forecast for a SKU, and when to delegate that to a subagent vs. compute it yourself. Load this for any task involving "forecast", "how much will we sell", "next month", promos, or seasonal SKUs.

The English summary is being prepared. Showing the original description.

anthropics/cwc-workshops2.2KUpdated Oct 17, 2026

The SRE team's runbook for triaging production latency and error-rate incidents. Use this whenever investigating an incident, a latency spike, elevated error rates, or when asked "what caused X" about a production service.

The English summary is being prepared. Showing the original description.

anthropics/cwc-workshops2.2KUpdated Oct 17, 2026

mining

Free

Where diamonds spawn in Minecraft 1.20.

The English summary is being prepared. Showing the original description.

anthropics/cwc-workshops2.2KUpdated Oct 17, 2026

Fixed-format templates for Slack alerts, supplier emails, and escalations. Load this whenever the task is "notify", "alert", "email", or "tell ops".

The English summary is being prepared. Showing the original description.

anthropics/cwc-workshops2.2KUpdated Oct 17, 2026

How the SRE team writes a postmortem PDF. Use this whenever asked for a postmortem, an incident report, a write-up to share, or a PDF of what happened.

The English summary is being prepared. Showing the original description.

anthropics/cwc-workshops2.2KUpdated Oct 17, 2026

How to decide whether and how much to reorder a SKU. Load this whenever a task involves reorder recommendations, purchase orders, or "should we restock" questions.

The English summary is being prepared. Showing the original description.

anthropics/cwc-workshops2.2KUpdated Oct 17, 2026

See all skills by anthropics

Report a problem with this skill