# US ITC Section 337 Patent Investigations & Filings Scraper (`scrapers_lat/usitc-section-337-investigations-scraper`) Actor

Scrape US ITC Section 337 patent-import investigations: complaints, notices, determinations, exclusion and cease-and-desist orders and every docket filing with parties, firms, accused products, status and dates. Filter by investigation number, type, party or date. Export to JSON, CSV or Excel.

- **URL**: https://apify.com/scrapers\_lat/usitc-section-337-investigations-scraper.md
- **Developed by:** [Scrapers Lat](https://apify.com/scrapers_lat) (community)
- **Categories:** News, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $10.20 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## US ITC Section 337 Patent Investigations & Filings Scraper

> Track every US International Trade Commission Section 337 patent-import investigation and its full docket: complaints, notices of investigation, initial and final determinations, exclusion and cease-and-desist orders, Commission opinions and every other filing, with parties, law firms, accused products, phase, status, dates and document links. Search by investigation number, document type, party or firm, or filing date range, and export clean structured data for litigation, monitoring and analytics.

**📥 [Input](https://apify.com/scrapers_lat/usitc-section-337-investigations-scraper/input-schema) · 📤 [Output](https://apify.com/scrapers_lat/usitc-section-337-investigations-scraper/output-schema) · 💰 [Pricing](https://apify.com/scrapers_lat/usitc-section-337-investigations-scraper/pricing) · ▶️ [Examples](https://apify.com/scrapers_lat/usitc-section-337-investigations-scraper/examples)**

![Apify](https://img.shields.io/badge/Platform-Apify-1CE1CE?logo=apify\&logoColor=white)
![Data](https://img.shields.io/badge/Data-Patent%20litigation-blue)
![Output](https://img.shields.io/badge/Output-JSON%20%7C%20CSV%20%7C%20Excel-orange)

<table><tr>
<td align="center"><strong>Every docket filing</strong><br>complaints to final orders</td>
<td align="center"><strong>Parties, firms & accused products</strong><br>plus status, phase & dates</td>
<td align="center"><strong>JSON / CSV / Excel</strong><br>output formats</td>
</tr></table>

<br>

### What you get

Two ways to pull the data:

- **Documents mode** returns one row per docket filing: investigation number, filing type and title, the party it was filed on behalf of, the filing firm, accused products, investigation phase and status, official received date and a link to the filing's attachments.
- **Investigations mode** rolls a case up into one summary row: complainants, law firms on the docket, document count, first and last filing dates, the filing types present, and flags for whether the docket already has a complaint, notice of investigation, initial determination, final determination or a remedial exclusion / cease-and-desist order.

Only real filings are billed. A run that matches nothing costs nothing.

### Who is it for

| Use case | Who benefits |
|---|---|
| Patent litigation | Trial and appellate counsel tracking Section 337 dockets and outcomes |
| Competitive & supply-chain risk | Importers and IP teams watching for exclusion orders on rival products |
| IP analytics & litigation finance | Analysts building datasets of complainants, respondents and remedies |
| Docket monitoring | Firms alerting on new complaints, institutions and determinations |

### How to use it

1. Pick a **mode**: documents (one row per filing) or investigations (one summary row per case).
2. Either enter one or more **investigation numbers** (for example `337-TA-1409`) to pull a full docket, or set a **filed-from / filed-to** date range to sweep recent Section 337 activity.
3. Optionally filter by **document type** (Complaint, Notice, Order, Determination, Opinion), by **party or firm** name, and choose whether to include confidential filings.
4. Set the max and run. Export as JSON, CSV or Excel, or pull it through the Apify API.

### Frequently Asked Questions

**What is a Section 337 investigation?**
Section 337 is the US International Trade Commission forum where patent (and other IP) holders seek to block infringing imports. Each investigation can end in an exclusion order or cease-and-desist order, so it is high-stakes and closely watched by IP litigators and importers.

**How do I find an investigation number?**
Use the `337-TA-####` format shown in ITC notices (for example `337-TA-1409`). The scraper also accepts `337-1409` or just `1409`.

**Can I monitor for new complaints and determinations?**
Yes. Leave the investigation numbers empty and set a recent filed-from date, then filter by document type such as `Complaint` or `Determination`. Schedule the run to get a rolling feed.

**Are the underlying documents included?**
Each filing row includes a link to its attachments so you can retrieve the public PDFs. Confidential filings are excluded by default.

**How fresh is the data?**
Filings are read live at run time, so each record reflects the docket at the moment of the run (see observedAt).

### Export, API and AI agents (x402 + MCP)

Export the scraped data to **JSON, CSV or Excel**, pull it as a **dataset** through the Apify **API**, or wire it into your app with **no code**. This web scraper and data extractor also works for bulk data extraction and scheduled runs.

For AI agents: this Actor is available on **x402**, Apify's agentic payment standard built with Coinbase. An AI agent can discover, pay for and run it on its own with a funded wallet and a single HTTP request: no account, no subscription, no API key and no human in the loop. It also runs as an **MCP** tool inside Claude, Cursor and other AI clients out of the box. Learn more about [x402 agentic payments on Apify](https://docs.apify.com/platform/integrations/x402).

### Related scrapers

- [USPTO Trademark Search Scraper](https://apify.com/scrapers_lat/uspto-trademarks-scraper)
- [CourtListener Court Cases & Opinions Scraper](https://apify.com/scrapers_lat/courtlistener-scraper)
- [SEC EDGAR 10-K, 10-Q & 8-K Filings Scraper](https://apify.com/scrapers_lat/sec-edgar-filings-scraper)

### More scrapers at scrapers.lat

This actor is built and maintained by [scrapers.lat](https://scrapers.lat), where we publish scrapers for public platforms: finance, news, real estate, jobs, e-commerce and government data. Browse the full catalog or ask us for a custom scraper at [scrapers.lat](https://scrapers.lat).

***

> This actor is an independent tool and has no affiliation with the US International Trade Commission. It only accesses publicly available filing data. Use the results in accordance with the source's terms.

# Actor input Schema

## `mode` (type: `string`):

documents = one row per docket filing (complaints, notices, determinations, orders, opinions). investigations = one summary row per Section 337 investigation (parties, status, document counts, remedial-order flags).

## `investigationNumbers` (type: `array`):

Optional. One or more Section 337 investigation numbers to pull the full docket for, e.g. '337-TA-1409'. Accepts '337-TA-1409', '337-1409' or '1409'. Leave empty to search by filing date range instead.

## `fromFiledDate` (type: `string`):

Optional. Only include filings officially received on or after this date. Ignored when specific investigation numbers are given. Defaults to 90 days ago.

## `toFiledDate` (type: `string`):

Optional. Only include filings officially received on or before this date. Ignored when specific investigation numbers are given. Defaults to today.

## `documentTypes` (type: `array`):

Optional. Keep only filings whose type contains one of these terms, e.g. 'Complaint', 'Notice', 'Order', 'Initial Determination', 'Opinion'. Leave empty for all document types.

## `firmOrganization` (type: `string`):

Optional. Keep only filings whose filing firm/organization or on-behalf-of party contains this text (for example a company or law-firm name).

## `includeConfidential` (type: `boolean`):

By default only public filings are returned. Confidential filings have no downloadable content but their metadata exists; enable to include them.

## `maxDocuments` (type: `integer`):

Maximum number of document/filing rows to collect (documents mode).

## `maxInvestigations` (type: `integer`):

Maximum number of investigation summary rows to collect (investigations mode).

## Actor input object example

```json
{
  "mode": "documents",
  "investigationNumbers": [
    "337-TA-1409"
  ],
  "includeConfidential": false,
  "maxDocuments": 50,
  "maxInvestigations": 30
}
```

# Actor output Schema

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

No description

# 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 = {
    "investigationNumbers": [
        "337-TA-1409"
    ],
    "maxDocuments": 50,
    "maxInvestigations": 30
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapers_lat/usitc-section-337-investigations-scraper").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 = {
    "investigationNumbers": ["337-TA-1409"],
    "maxDocuments": 50,
    "maxInvestigations": 30,
}

# Run the Actor and wait for it to finish
run = client.actor("scrapers_lat/usitc-section-337-investigations-scraper").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 '{
  "investigationNumbers": [
    "337-TA-1409"
  ],
  "maxDocuments": 50,
  "maxInvestigations": 30
}' |
apify call scrapers_lat/usitc-section-337-investigations-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,scrapers_lat/usitc-section-337-investigations-scraper"
        }
    }
}

```

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/9e2BRmJBf39BKnj4d/builds/ndxZBugUrLWEoc24M/openapi.json
