# SEC Schedule 13D/13G Beneficial Ownership Scraper API (`pink_comic/sec-schedule-13d-13g-beneficial-ownership`) Actor

Search official SEC EDGAR Schedule 13D and 13G beneficial-ownership filing metadata by issuer, reporting person, CIK, accession, form, amendment, date, and state. Returns source-linked, bounded filer-submitted evidence.

- **URL**: https://apify.com/pink\_comic/sec-schedule-13d-13g-beneficial-ownership.md
- **Developed by:** [Ava Torres](https://apify.com/pink_comic) (community)
- **Categories:** Business, Lead generation, AI
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 sec schedule 13d/13g beneficial ownership scraper  evidence items

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## SEC Schedule 13D/13G Beneficial Ownership Scraper API

Search structured metadata for official SEC EDGAR **Schedule 13D, 13D/A, 13G, and 13G/A** filings. Use it for beneficial-ownership filing discovery, activist-investor research, issuer monitoring, and source-linked diligence workflows.

No key, browser, proxy, or login is required. The actor uses SEC EFTS with a descriptive User-Agent, conservative pacing, bounded retries, and bounded pagination.

### Fast start

The deterministic default searches `Berkshire Hathaway`, Schedule 13G originals and amendments, and returns no more than five paid rows:

```json
{"query":"Berkshire Hathaway","formFamily":"13G","amendmentFilter":"any","sortBy":"latest","maxResults":5,"maxScan":100}
```

Maximum default charge: **$0.0101** ($0.0001 start + 5 × $0.002 dataset items). A run charge limit can reduce `maxResults` before the search.

Search Schedule 13D amendments in a date window:

```json
{"query":"technology","formFamily":"13D","amendmentFilter":"amendment","startDate":"2025-01-01","endDate":"2025-12-31","maxResults":25,"maxScan":250}
```

Search one entity or filing:

```json
{"cik":"1067983","formFamily":"all","maxResults":10}
```

```json
{"accessionNumber":"0001193125-20-038343","formFamily":"13G","maxResults":1}
```

### Filters

- issuer or reporting-person full-text keyword
- Schedule 13D, Schedule 13G, or both families
- originals, amendments, or both
- filing date range
- EFTS business state
- exact CIK (issuer or reporting person)
- exact accession number
- latest/oldest sorting
- total result cap and bounded candidate scan

### Stable evidence

Found rows include filing date, form/amendment status, accession, file/film number, primary document, normalized display names and CIKs, business/incorporation geography metadata, exact SEC filing document/index URLs, retrieval time, search totals, scan disclosure, and mandatory interpretation limits.

SEC EFTS provides ordered `display_names` and `ciks`, but does not explicitly label issuer versus reporting-person roles. The actor preserves `allDisplayNames` and `allCiks` and transparently normalizes the final entity as issuer and preceding entities as reporting persons according to observed Schedule 13D/G EFTS ordering. Confirm roles in the linked filing.

Ownership percentage and shares are intentionally absent: structured EFTS metadata does not expose them, and this actor never invents them. Blank fields mean not present in the returned metadata, not zero or none.

No result emits `NO_MATCH`; exhausted transient source failures emit `SOURCE_UNAVAILABLE`. Neither outcome proves that no filing or ownership exists.

### Evidence boundaries

Schedules 13D and 13G are **filer-submitted disclosures generally associated with beneficial ownership above 5%**. They are not SEC verification, current ownership, control, identity resolution, investment advice, or proof that holdings remained unchanged after filing. Amendments and later transactions can change the picture. Search and state filtering are bounded to SEC EFTS metadata and may be incomplete for the broader universe.

Always review the official filing and later amendments before making investment, compliance, legal, or diligence decisions.

### Official sources

- [SEC EDGAR search](https://www.sec.gov/edgar/search/)
- [SEC EFTS endpoint](https://efts.sec.gov/LATEST/search-index)
- [SEC Schedule 13D/13G guidance](https://www.sec.gov/divisions/corpfin/guidance/reg13d-interp.htm)

# Actor input Schema

## `query` (type: `string`):

SEC full-text keyword. Empty input falls back to Berkshire Hathaway.

## `formFamily` (type: `string`):

Optional form family filter or result-control setting. See the README for source semantics and examples.

## `amendmentFilter` (type: `string`):

Optional filing / amendment status filter or result-control setting. See the README for source semantics and examples.

## `startDate` (type: `string`):

Optional inclusive YYYY-MM-DD.

## `endDate` (type: `string`):

Optional inclusive YYYY-MM-DD.

## `states` (type: `array`):

Optional EFTS business-state codes.

## `cik` (type: `string`):

1-10 digits; may identify an issuer or reporting person.

## `accessionNumber` (type: `string`):

Optional exact accession number filter or result-control setting. See the README for source semantics and examples.

## `sortBy` (type: `string`):

Optional sort filter or result-control setting. See the README for source semantics and examples.

## `maxResults` (type: `integer`):

Total output cap. Live charge budget can reduce it.

## `maxScan` (type: `integer`):

Bounds pagination and state/accession post-filtering.

## Actor input object example

```json
{
  "query": "Berkshire Hathaway",
  "formFamily": "13G",
  "amendmentFilter": "any",
  "states": [],
  "sortBy": "latest",
  "maxResults": 5,
  "maxScan": 100
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "query": "Berkshire Hathaway",
    "maxResults": 5,
    "maxScan": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("pink_comic/sec-schedule-13d-13g-beneficial-ownership").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "query": "Berkshire Hathaway",
    "maxResults": 5,
    "maxScan": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("pink_comic/sec-schedule-13d-13g-beneficial-ownership").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "query": "Berkshire Hathaway",
  "maxResults": 5,
  "maxScan": 100
}' |
apify call pink_comic/sec-schedule-13d-13g-beneficial-ownership --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=pink_comic/sec-schedule-13d-13g-beneficial-ownership",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/OkR80QPQjbr6MZEnL/builds/8JgLb83O8t8yL1zg2/openapi.json
