Skip to content
Back to skills

2551 Data Objects 9c7f5f52

ASecurity

Every SEC filing can be parsed into a structured Python object: ```python obj = filing.obj() # returns TenK, EightK, ThirteenF, Form4, etc. ```

  • 9 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 11, 2026
businesspythongosecurity

Security analysis

A100/100

Scanned October 11, 2026

npx -y skills add tools-only/X-Skills --skill 2551-data-objects_9c7f5f52 --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of 2551 Data Objects 9c7f5f52?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for 2551 Data Objects 9c7f5f52
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tools-only-2551-data-objects-9c7f5f52/badge)](https://www.skillsdirectory.com/skills/tools-only-2551-data-objects-9c7f5f52)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

SKILL.md
# edgartools — Data Objects Reference

Every SEC filing can be parsed into a structured Python object:

```python
obj = filing.obj()  # returns TenK, EightK, ThirteenF, Form4, etc.
```

## Supported Forms

### Annual & Quarterly Reports (10-K / 10-Q) → TenK / TenQ

```python
tenk = filing.obj()  # or tenq for 10-Q

# Financial statements
tenk.income_statement    # formatted income statement
tenk.balance_sheet       # balance sheet
tenk.financials          # Financials object with all statements

# Document sections
tenk.risk_factors        # full risk factors text
tenk.business            # business description
tenk.mda                 # management discussion & analysis

# Usage via Financials
if tenk.financials:
    income = tenk.financials.income_statement
    balance = tenk.financials.balance_sheet
    cashflow = tenk.financials.cash_flow_statement
```

**Note:** Always check `tenk.financials` before accessing — not all filings have XBRL data.

---

### Current Events (8-K) → EightK

```python
eightk = filing.obj()

eightk.items           # list of reported event codes (e.g. ["2.02", "9.01"])
eightk.press_releases  # attached press releases

print(f"Items: {eightk.items}")
```

Common 8-K item codes:
- `1.01` — Entry into material agreement
- `2.02` — Results of operations (earnings)
- `5.02` — Director/officer changes
- `8.01` — Other events

---

### Insider Trades (Form 4) → Form4 (Ownership)

```python
form4 = filing.obj()

form4.reporting_owner  # insider name
form4.transactions     # buy/sell details with prices, shares, dates

# Get HTML table
html = form4.to_html()
```

Also covers:
- Form 3 — Initial ownership statement
- Form 5 — Annual changes in beneficial ownership

---

### Beneficial Ownership (SC 13D / SC 13G) → Schedule13D / Schedule13G

```python
schedule = filing.obj()

schedule.total_shares                          # aggregate beneficial ownership
schedule.items.item4_purpose_of_transaction    # activist intent (13D only)
schedule.items.item5_interest_in_securities    # ownership percentage
```

- **SC 13D**: Activist investors (5%+ with intent to influence)
- **SC 13G**: Passive holders (5%+)

---

### Institutional Portfolios (13F-HR) → ThirteenF

```python
thirteenf = filing.obj()

thirteenf.infotable    # full holdings DataFrame
thirteenf.total_value  # portfolio market value

# Analyze holdings
holdings_df = thirteenf.infotable
print(holdings_df.head())
print(f"Total AUM: ${thirteenf.total_value/1e9:.1f}B")
```

---

### Proxy & Governance (DEF 14A) → ProxyStatement

```python
proxy = filing.obj()

proxy.executive_compensation  # pay tables (5-year DataFrame)
proxy.proposals               # shareholder vote items
proxy.peo_name                # "Mr. Cook" (principal exec officer)
proxy.peo_total_comp          # CEO total compensation
```

---

### Private Offerings (Form D) → FormD

```python
formd = filing.obj()

formd.offering    # offering details and amounts
formd.recipients  # related persons
```

---

### Crowdfunding Offerings (Form C) → FormC

```python
formc = filing.obj()

formc.offering_information       # target amount, deadline, securities
formc.annual_report_disclosure   # issuer financials (C-AR)
```

---

### Insider Sale Notices (Form 144) → Form144

```python
form144 = filing.obj()

form144.proposed_sale_amount  # shares to be sold
form144.securities            # security details
```

---

### Fund Voting Records (N-PX) → FundReport

```python
npx = filing.obj()

npx.votes  # vote records by proposal
```

---

### ABS Distribution Reports (Form 10-D) → TenD (CMBS only)

```python
ten_d = filing.obj()

ten_d.loans           # loan-level DataFrame
ten_d.properties      # property-level DataFrame
ten_d.asset_data.summary()  # pool statistics
```

---

### Municipal Advisors (MA-I) → MunicipalAdvisorForm

```python
mai = filing.obj()
mai.advisor_name  # advisor details
```

---

### Foreign Private Issuers (20-F) → TwentyF

```python
twentyf = filing.obj()
twentyf.financials  # financial data for foreign issuers
```

---

## Complete Form → Class Mapping

| Form | Class | Key Attributes |
|------|-------|----------------|
| 10-K | TenK | `financials`, `income_statement`, `risk_factors`, `business` |
| 10-Q | TenQ | `financials`, `income_statement`, `balance_sheet` |
| 8-K | EightK | `items`, `press_releases` |
| 20-F | TwentyF | `financials` |
| 3 | Form3 | initial ownership |
| 4 | Form4 | `reporting_owner`, `transactions` |
| 5 | Form5 | annual ownership changes |
| DEF 14A | ProxyStatement | `executive_compensation`, `proposals`, `peo_name` |
| 13F-HR | ThirteenF | `infotable`, `total_value` |
| SC 13D | Schedule13D | `total_shares`, `items` |
| SC 13G | Schedule13G | `total_shares` |
| NPORT-P | NportFiling | fund portfolio |
| 144 | Form144 | `proposed_sale_amount`, `securities` |
| N-PX | FundReport | `votes` |
| Form D | FormD | `offering`, `recipients` |
| Form C | FormC | `offering_information` |
| 10-D | TenD | `loans`, `properties`, `asset_data` |
| MA-I | MunicipalAdvisorForm | `advisor_name` |

---

## How It Works

```python
from edgar import Company

apple = Company("AAPL")
filing = apple.get_latest_filing("10-K")
tenk = filing.obj()          # returns TenK with all sections and financials
```

If a form type is not yet supported, `filing.obj()` raises `UnsupportedFilingTypeError`.

## Pattern for Unknown Form Types

```python
obj = filing.obj()
if obj is None:
    # Fallback to raw content
    text = filing.text()
    html = filing.html()
    xbrl = filing.xbrl()
```

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.