US ITC Section 337 Patent Investigations & Filings Scraper
Pricing
from $10.20 / 1,000 results
US ITC Section 337 Patent Investigations & Filings Scraper
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.
Pricing
from $10.20 / 1,000 results
Rating
0.0
(0)
Developer
Scrapers Lat
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
US ITC Section 337 Patent Investigations & Filings Scraper
Here is one real result, with every field the actor returns in documents mode:
{"documentId": "890685","documentType": "Voting Sheet","documentTitle": null,"securityLevel": "Public","isPublic": true,"investigationNumber": "337-TA-1409","investigationNumberRaw": "337-1409","investigationTitle": "Certain Storage Containers and Toolboxes, Organizers, Component Boxes, Coolers, and Accessories Used Therewith; Inv. No. 337-TA-1409 (Violation)","accusedProducts": "Certain Storage Containers and Toolboxes, Organizers, Component Boxes, Coolers, and Accessories Used Therewith","investigationPhase": "Violation","investigationStatus": "Active","investigationType": "Sec 337","firmOrganization": "USITC","filedBy": "Lisa R. Barton","onBehalfOf": "Office of the Secretary","documentDate": "2026-08-05","officialReceivedDate": "2026-08-06T09:52:00Z","modifiedDate": "2026-08-06T10:26:34Z","actionJacketControlNumber": "GC-26-265","memorandumControlNumber": null,"attachmentListUri": "https://edis.usitc.gov/data/attachment/890685","investigationUrl": "https://edis.usitc.gov/data/document?investigationNumber=337-1409","source": "USITC EDIS (Section 337)","observedAt": "2026-08-10T14:36:24.896Z"}
The most complete US ITC Section 337 scraper available. It returns every field the ITC EDIS docket exposes for each patent-import investigation and filing, including the investigation identity, accused products, phase and status, the filing type, security level, firm, filer and on-behalf-of party, control numbers and dates, plus an investigations mode that rolls each case up with parties, law firms, document counts and remedial-order flags, and gives you filters for investigation number, date range, document type and party to target exactly the records you need.
📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples
Table of contents
- What it does
- Quickstart
- Input reference
- Output reference
- Example output record
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
What it does
The actor reads the US International Trade Commission EDIS docket for Section 337 patent-import investigations, applies the filters you pass as input, and writes normalized records to the run's dataset. It runs in one of two modes:
documents(default): one row per docket filing (complaints, notices, determinations, orders, opinions), with the filing metadata plus the parent investigation context.investigations: one summary row per Section 337 case, rolling up parties, law firms, document counts, the filing types present, and remedial-order flags (hasComplaint,hasFinalDetermination,hasRemedialOrderand more).
Dates are normalized (filing dates to YYYY-MM-DD, received / modified timestamps kept with time), and missing source values are returned as null. By default only public filings are returned; enable includeConfidential to include confidential filings (metadata only, no downloadable content).
Quickstart
Open the actor, paste this into the input, and press Run. It returns up to 50 public filings from investigation 337-TA-1409.
{"mode": "documents","investigationNumbers": ["337-TA-1409"],"maxDocuments": 50}
Leave investigationNumbers empty to search by filing date range instead (defaults to the last 90 days). Every input field is optional.
Input reference
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
mode | enum | no | documents | documents = one row per docket filing. investigations = one summary row per Section 337 case. |
investigationNumbers | string[] | no | ["337-TA-1409"] | Section 337 investigation numbers to pull the full docket for. Accepts 337-TA-1409, 337-1409, or 1409. Leave empty to search by filing date range. |
fromFiledDate | string | no | 90 days ago | Only include filings officially received on or after this date (YYYY-MM-DD). Ignored when investigation numbers are given. |
toFiledDate | string | no | today | Only include filings officially received on or before this date (YYYY-MM-DD). Ignored when investigation numbers are given. |
documentTypes | string[] | no | (empty) | Keep only filings whose type contains one of these terms, for example Complaint, Notice, Order, Initial Determination, Opinion. |
firmOrganization | string | no | (empty) | Keep only filings whose filing firm / organization or on-behalf-of party contains this text (for example a company or law-firm name). |
includeConfidential | boolean | no | false | Include confidential filings (metadata only, no downloadable content). By default only public filings are returned. |
maxDocuments | integer | no | 50 | Maximum document / filing rows to collect (documents mode). |
maxInvestigations | integer | no | 30 | Maximum investigation summary rows to collect (investigations mode). |
Output reference
One dataset item per filing (documents mode) or per case (investigations mode). Types: string, boolean, integer, string[], or null when the source value is absent.
| Field | Type | Mode | Description |
|---|---|---|---|
investigationNumber | string | both | Investigation No. (337-TA-####). |
investigationNumberRaw | string | both | EDIS internal investigation number. |
investigationTitle | string | both | Full investigation title. |
accusedProducts | string | both | Accused products / subject goods. |
investigationType | string | both | Investigation type (Sec 337). |
investigationPhase | string | both | Phase (Violation, Review, and so on). |
investigationStatus | string | both | Status (Active, Inactive, Preinstitution). |
investigationUrl | string | both | ITC notices page for the investigation. |
documentId | string | documents | EDIS document id. |
documentType | string | documents | Filing type (Complaint, Notice, Order, Determination and so on). |
documentTitle | string | documents | Filing title, or null. |
securityLevel | string | documents | Public or Confidential. |
isPublic | boolean | documents | Whether the filing is public. |
firmOrganization | string | documents | Filing firm / organization. |
filedBy | string | documents | Person who filed. |
onBehalfOf | string | documents | Party the filing was made on behalf of. |
documentDate | string | documents | Document date (YYYY-MM-DD). |
officialReceivedDate | string | documents | Official received date / time. |
modifiedDate | string | documents | Last modified date / time. |
actionJacketControlNumber | string | documents | Action jacket control number, or null. |
memorandumControlNumber | string | documents | Memorandum control number, or null. |
attachmentListUri | string | documents | Link to the filing's attachments. |
complainants | string[] | investigations | Complainant parties. |
complainantCount | integer | investigations | Number of complainants. |
lawFirms | string[] | investigations | Law firms / organizations on the docket. |
documentCount | integer | investigations | Number of filings collected for the case. |
firstFiledDate | string | investigations | Earliest filing date collected (YYYY-MM-DD). |
lastFiledDate | string | investigations | Latest filing date collected (YYYY-MM-DD). |
documentTypes | string[] | investigations | Filing types present on the docket. |
hasComplaint | boolean | investigations | Docket includes a complaint. |
hasNoticeOfInvestigation | boolean | investigations | Docket includes a notice of investigation / institution. |
hasInitialDetermination | boolean | investigations | Docket includes an initial determination. |
hasFinalDetermination | boolean | investigations | Docket includes a final determination / opinion. |
hasRemedialOrder | boolean | investigations | Docket includes an exclusion / cease-and-desist order. |
latestDocumentType | string | investigations | Most recent filing type. |
latestDocumentTitle | string | investigations | Most recent filing title. |
latestDocumentDate | string | investigations | Most recent filing date (YYYY-MM-DD). |
source | string | both | Data source. |
observedAt | string | both | ISO 8601 timestamp of when the record was collected. |
On a failed run, the actor writes a single item with a populated error field instead, and does not charge for it.
Example output record
Real record from a live run (input {"mode": "documents", "investigationNumbers": ["337-TA-1409"], "maxDocuments": 50}):
{"documentId": "890685","documentType": "Voting Sheet","documentTitle": null,"securityLevel": "Public","isPublic": true,"investigationNumber": "337-TA-1409","investigationNumberRaw": "337-1409","investigationTitle": "Certain Storage Containers and Toolboxes, Organizers, Component Boxes, Coolers, and Accessories Used Therewith; Inv. No. 337-TA-1409 (Violation)","accusedProducts": "Certain Storage Containers and Toolboxes, Organizers, Component Boxes, Coolers, and Accessories Used Therewith","investigationPhase": "Violation","investigationStatus": "Active","investigationType": "Sec 337","firmOrganization": "USITC","filedBy": "Lisa R. Barton","onBehalfOf": "Office of the Secretary","documentDate": "2026-08-05","officialReceivedDate": "2026-08-06T09:52:00Z","modifiedDate": "2026-08-06T10:26:34Z","actionJacketControlNumber": "GC-26-265","memorandumControlNumber": null,"attachmentListUri": "https://edis.usitc.gov/data/attachment/890685","investigationUrl": "https://edis.usitc.gov/data/document?investigationNumber=337-1409","source": "USITC EDIS (Section 337)","observedAt": "2026-08-10T14:36:24.896Z"}
Run via API and CLI
Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.
Run synchronously and get dataset items in one call:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~usitc-section-337-investigations-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"mode":"documents","investigationNumbers":["337-TA-1409"],"maxDocuments":50}'
Start a run asynchronously (investigations mode, by date range):
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~usitc-section-337-investigations-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"mode":"investigations","fromFiledDate":"2026-01-01","toFiledDate":"2026-06-30","maxInvestigations":30}'
Apify CLI:
apify call scrapers_lat/usitc-section-337-investigations-scraper \--input '{"documentTypes":["Complaint"],"fromFiledDate":"2026-01-01"}'
Fetch results
Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginate large datasetscurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"
<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.
Billing and limits
- Pay per result. You are charged per record returned (
resultevent). See the pricing tab for the current per-result price. - No charge on failure. If a run errors, the actor writes a single item with a populated
errorfield and does not charge for it. Empty runs cost nothing. - Spend cap respected. Set
maxTotalChargeUsdon the run; once reached, the actor stops emitting and charging further billable results. - Free Apify plans are capped at 10 records per run. Upgrade for higher
maxDocuments/maxInvestigations.
FAQ and troubleshooting
A run returned 0 records. Why?
No filings matched the filters. If you searched by date range, widen fromFiledDate / toFiledDate (the default window is the last 90 days) or remove documentTypes / firmOrganization. If you searched by investigation number, confirm the number exists. Zero-result runs are not charged.
What is the difference between the two modes?
documents returns one row per docket filing; investigations returns one rolled-up summary row per case, with parties, counts and remedial-order flags. Choose the one that matches how you want to analyze the data.
How do I find cases that ended in an exclusion order?
Run investigations mode and filter results on hasRemedialOrder being true, optionally combined with hasFinalDetermination.
Why do some filings have no title or content?
Confidential filings expose metadata but no downloadable content, and some routine filings carry no separate title. Missing source values are returned as null, never invented. Set includeConfidential to include confidential entries.
Can I pull several investigations at once?
Yes. Pass multiple entries in investigationNumbers; the docket for each is collected up to maxDocuments.
Is this an official ITC tool? No. This actor is independent and has no affiliation with the US International Trade Commission. It reads only data that is publicly available through ITC EDIS. Use it in accordance with the ITC's terms of service.
Related scrapers
- USPTO Patent Assignments Scraper: US patent assignment (ownership) records.
- SEC EDGAR Company Filings Scraper: SEC filings by ticker or CIK.
- Federal Register Document Scraper: US Federal Register documents.
- USAspending Federal Award Scraper: US federal prime awards.
More scrapers at scrapers.lat
Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.
Independent tool, not affiliated with the US International Trade Commission. Accesses only publicly available ITC EDIS data. Use in accordance with the ITC's terms of service.
