# SEC Form D Financial Filing Export (`jpmarketdata/sec-form-d-financial-export`) Actor

Discover SEC Form D and D/A legal-entity fundraising filings by published date. Export issuer IDs, offering and sold amounts, amendment links and explicit bounded coverage for repeat ingestion. No executive contacts. Unofficial.

- **URL**: https://apify.com/jpmarketdata/sec-form-d-financial-export.md
- **Developed by:** [h ichi](https://apify.com/jpmarketdata) (community)
- **Categories:** Automation, Developer tools, Lead generation
- **Stats:** 2 total users, 1 monthly users, 80.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$1.00 / 1,000 financial filing delivereds

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/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

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

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## SEC Form D Financial Filing Export

> **Unofficial** — independent tool, **not an official service of SEC or EDGAR**. It reads publicly available registry pages only. Support, reliability guarantees and the full disclaimer are at the bottom of this page.

Discover public legal-entity and fund Form D/D/A filings by published date, then export issuer/offering financial facts for repeat dataset ingestion. No executive contacts or investor identities. This is filing evidence, not a confirmed funding-round feed.

### Input

Use {"maxItems":25,"maxFilingsScanned":100,"includeAmendments":true} for the latest actually published index. Optional dateFrom/dateTo select at most seven calendar days. Optional issuerNameContains, industryContains and minAmountSoldUSD filter financial issuer records. maxItems and maxFilingsScanned are 1..250; maxItems must not exceed scan limit. Use the opaque COVERAGE.nextCursor with identical non-budget filters to continue. No user URLs, people lookup or credentials.

### Output

One accession-keyed financial filing per dataset row: public entity identity, source dates, D/D/A lineage, industry/fund type, jurisdiction/state-country, offering target, reported sold and remaining USD, indefinite flags, investor count, first-sale flags, exemption/security codes and official link. Missing values stay null. Indefinite is not zero/infinity; sold is issuer-reported and not verified financing. Original/amendment amounts must not be summed as separate rounds. COVERAGE in key-value storage records selected/unpublished dates, discovered/scanned/emitted/withheld counts, completeness scope, index hashes and continuation.

### Limits

At most seven calendar days,250 scanned filings/250 delivered rows,260 requests,24 MiB transferred and 270 seconds acquisition deadline,256 MB. Planned result/scan caps explicitly return a partial page; source failures fail before output. latest means latest published daily index, not live intraday data. Input/source/acquisition/validation failures before delivery and no-deliverable pages emit no charged rows. SDK delivery is not atomic: later batch, acknowledgement or report-write failures may leave earlier rows delivered/charged; no rollback or free-run promise. A spending cap continues from before the first eligible accession not successfully delivered, never the farthest inspected item. Ambiguous delivery requires dataset/billing reconciliation before automatic resume; a missing final coverage report does not imply zero delivery. NO_MATCHES is an error with uncharged coverage and continuation if candidates remain. Date bounds 2009-01-01..today. Directory/index corrections can invalidate cursors.

**Price**: $0.001 per delivered financial filing ($1 per 1,000), with no start or diagnostic event charge. Repeated runs charge delivered filings again.

### Privacy

Only classified public legal-entity/fund names and financial facts are returned. Natural-person or ambiguous noninstitutional issuers are withheld. Related persons, signatures, investor identities, street/ZIP addresses, phone/email and full raw documents are excluded. Source XML is parsed transiently, not archived or logged. SEC sources are linked for validation; no SEC approval, proprietary-source or universal public-domain claim.

### If something goes wrong

- **Wrong number or a failed run?** Open a ticket on the **Issues** tab. I read every one and reply within 2 business days (Japan time).
- **Source failures are explicit.** Input/source/validation failures occur before delivery. A valid zero-row page fails NO_MATCHES with uncharged coverage; it is not proof of no filings in an unscanned window.
- **Pay for delivered financial filing rows.** No start or report charge. Later delivery failures may retain earlier rows and charges; there is no whole-run rollback.
- **Checked every week.** An automatic test runs this tool weekly; if the site changes, I fix it.
- **Public legal-entity and fund filings only.** No login. Contacts, related people, signatures and street addresses are excluded.

### More tools by the same author

- [Mercari Japan Price Summary — Sold Out & Live](https://apify.com/jpmarketdata/mercari-japan-price-checker)
- [Yahoo! Auctions Japan Sold Price Summary & History](https://apify.com/jpmarketdata/yahoo-auction-sold-comps)

All tools (Japan marketplaces, real estate, jobs, racing, prediction markets): <https://apify.com/jpmarketdata>

### Disclaimer

Unofficial, independent tool — **not an official service of SEC or EDGAR**. Names of public bodies only say where the data comes from. Data is read from public government pages; confirm with the official register before you act on it.

# Actor input Schema

## `dateFrom` (type: `string`):

Optional YYYY-MM-DD,2009-01-01 through today. Supply dateTo too; inclusive range at most7 calendar days. Omit both to use the latest actually published daily master index.

## `dateTo` (type: `string`):

Optional YYYY-MM-DD paired with dateFrom. Only actually published index dates are scanned; unpublished days are explicitly reported, never counted complete.

## `includeAmendments` (type: `boolean`):

Include amended filings as distinct accession records; reported amount sold is not additive across amendments.

## `issuerNameContains` (type: `string`):

Optional case-insensitive substring in public corporate/fund issuer name, not people or full filing text. Empty means all eligible issuers.

## `industryContains` (type: `string`):

Optional case-insensitive substring in FormD industry group. Empty means all industries. Pooled investment funds are supported.

## `minAmountSoldUSD` (type: `number`):

Minimum source-reported sold amount, not offering target or proof of completed financing. Missing sold value cannot pass a positive minimum.

## `maxItems` (type: `integer`):

1..250 financial filing rows per page. Must not exceed maxFilingsScanned. A capped page reports partial coverage and a continuation cursor. Each delivered financial filing costs $0.001; repeated runs charge delivered rows again. The run spending limit also applies.

## `maxFilingsScanned` (type: `integer`):

1..250 index candidates whose filing XML may be inspected. Filters can yield fewer rows. Scan cap produces explicit continuation, not a complete-window claim.

## `cursor` (type: `string`):

Opaque cursor from COVERAGE; resume same resolved dates and non-budget filters. Budgets may change. Stale indexes or invalid tokens fail before output. Omit for first page.

## Actor input object example

```json
{
  "includeAmendments": true,
  "issuerNameContains": "",
  "industryContains": "",
  "minAmountSoldUSD": 0,
  "maxItems": 25,
  "maxFilingsScanned": 100,
  "cursor": ""
}
```

# Actor output Schema

## `results` (type: `string`):

One public financial filing per accession, with reported offering amounts and official source.

## `coverage` (type: `string`):

Selected index dates, confirmed progress, delivery status and the next cursor.

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("jpmarketdata/sec-form-d-financial-export").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 = {}

# Run the Actor and wait for it to finish
run = client.actor("jpmarketdata/sec-form-d-financial-export").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{}' |
apify call jpmarketdata/sec-form-d-financial-export --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,jpmarketdata/sec-form-d-financial-export"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/3YIdbXVsMfNe9CyTY/builds/MyVNdMB69Map17wdK/openapi.json
