USPTO Office Actions Scraper
Pricing
from $19.00 / 1,000 results
USPTO Office Actions Scraper
Export USPTO patent office actions. Search 19M+ examiner correspondence records by patent number, application number, examiner, art unit, filing date, or free-text. Pull body text, status, classification, dates.
Pricing
from $19.00 / 1,000 results
Rating
0.0
(0)
Developer
ParseForge
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
16 days ago
Last modified
Categories
Share

📑 USPTO Office Actions Scraper
🚀 Export USPTO examiner correspondence in seconds. Search 19M+ patent office-action records by patent number, application number, examiner, art unit, filing date, or free-text Lucene query. Pull body-text snippets, status, classification codes, and prosecution dates.
🕒 Last updated: 2026-05-27 · 📊 19 fields per record · 📜 19M+ office actions · 🇺🇸 USPTO · 📚 Lucene query syntax
The USPTO Office Actions Scraper queries the U.S. Patent and Trademark Office's official open-data service for office actions, the formal examiner correspondence that drives every U.S. patent prosecution. Each run returns 19 structured fields per record, including the patent number, application number, invention title, application status code, type category, filing/grant/submission dates, examiner employee number, art unit, tech center, work group, national class and subclass, document-code identifier, and a body-text snippet.
The catalog covers every USPTO office action published since the data set went live, from non-final rejections to allowance notices to restriction requirements. This Actor lets you target by examiner, by art unit, by patent or application number, by free-text Lucene query, and by filing-date window, and downloads the result as CSV, Excel, JSON, or XML.
| 🎯 Target Audience | 💡 Primary Use Cases |
|---|---|
| Patent attorneys, IP analytics teams, litigation-support firms, examiner-analytics startups, journalists, R&D competitive-intelligence groups | Prosecution analytics, examiner profiling, art-unit benchmarks, due-diligence on patent portfolios, FTO research, litigation evidence |
📋 What the USPTO Office Actions Scraper does
Five filtering workflows in a single run:
- 🔍 Free-text Lucene query. Use
inventionTitle:semiconductororworkGroup:1710to scope by metadata field. - 🔢 Patent / application number. Filter to a single granted patent or pending application.
- 👨⚖️ Examiner employee number. Track everything a specific examiner has issued.
- 📅 Filing-date window. Constrain to applications filed in a date range.
- 🧩 Combine filters. Every filter combines with AND, so you can scope to "examiner X in art unit Y between dates A and B".
Each record carries the patent and application numbers, invention title, application status and type, the three key dates (filing, grant, submission), the examiner and art-unit identifiers, the full USPC class and subclass, the document-code identifier, the body-text snippet, the source system name, and a scrapedAt timestamp.
💡 Why it matters: patent prosecution outcomes are predictable from the examiner you draw and the art unit your application lands in. Allowance rates, average time-to-allowance, and the kinds of rejections an examiner issues are decisive factors in claim-drafting strategy. This Actor turns the raw USPTO feed into a queryable analytics dataset.
🎬 Full Demo
🚧 Coming soon: a 3-minute walkthrough showing how to go from sign-up to a downloaded dataset of office actions.
⚙️ Input
| Input | Type | Default | Behavior |
|---|---|---|---|
| maxItems | integer | 10 | Records to return. Free plan caps at 10, paid plan at 1,000,000. |
| criteria | string | "*:*" | Lucene query. Field:value syntax (e.g. `inventionTitle:semiconductor`). `*:*` returns everything (newest first). |
| patentNumber | string | "" | Granted patent number (e.g. `10000000`). |
| applicationNumber | string | "" | Patent application number (e.g. `14484000`). |
| examinerName | string | "" | Examiner employee number (USPTO-issued ID). |
| startDate | string | "" | Earliest filing date in YYYY-MM-DD format. |
| endDate | string | "" | Latest filing date in YYYY-MM-DD format. |
Example: all office actions in Art Unit 1710 from 2022.
{"maxItems": 500,"criteria": "workGroup:1710","startDate": "2022-01-01","endDate": "2022-12-31"}
Example: office actions on application 14484000.
{"maxItems": 50,"applicationNumber": "14484000"}
⚠️ Good to Know: the
bodyTextSnippetfield returns the first 500 characters of the office-action body. For the full text, follow the prosecution-history link in PAIR using the application number. Lucene field names are case-sensitive (e.g.inventionTitle, notinventiontitle).
📊 Output
Each office-action record contains 19 fields. Download the dataset as CSV, Excel, JSON, or XML.
🧾 Schema
| Field | Type | Example |
|---|---|---|
🆔 id | string | "OAS_10000000_001" |
📜 patentNumber | string | null | "10000000" |
📂 patentApplicationNumber | string | null | "14484000" |
🏷️ inventionTitle | string | "Coherent ladar using intra-pixel quadrature detection" |
🚦 applicationStatusNumber | string | null | "150" |
🗂️ applicationTypeCategory | string | null | "Utility" |
📅 filingDate | ISO 8601 | "2014-09-12T00:00:00Z" |
🎖️ grantDate | ISO 8601 | null | "2018-06-19T00:00:00Z" |
📨 submissionDate | ISO 8601 | "2017-08-15T00:00:00Z" |
👨⚖️ examinerEmployeeNumber | string | "79215" |
🧪 groupArtUnitNumber | string | "2486" |
🏛️ techCenter | string | "2400" |
🧩 workGroup | string | "2480" |
🔖 nationalClass | string | "356" |
🔖 nationalSubclass | string | "5.01" |
🧾 legacyDocumentCodeIdentifier | string | "CTNF" |
📝 bodyTextSnippet | string | null | "The following is a Non-Final Office Action..." |
🏛️ sourceSystemName | string | "PALM" |
🕒 scrapedAt | ISO 8601 | "2026-05-27T00:00:00.000Z" |
📦 Sample records
✨ Why choose this Actor
| Capability | |
|---|---|
| 🏛️ | Official USPTO source. Same record stream used by PAIR and the USPTO Public Search portal. |
| 📜 | 19M+ office actions. Every published examiner correspondence in the dataset. |
| 🧠 | Full Lucene query. Field-targeted searches with boolean operators. |
| 👨⚖️ | Examiner-level granularity. Drill into a single examiner's history. |
| 📅 | Date-window scoping. Restrict by filing date for cohort analysis. |
| 🔁 | Always fresh. Every run hits the live USPTO feed. |
| 🚫 | No paid subscription. Uses publicly available open-data records only. |
📊 The examiner you draw and the art unit you land in are the single largest predictors of allowance outcome. Quantify that signal at scale.
📈 How it compares to alternatives
| Approach | Cost | Coverage | Refresh | Query power | Setup |
|---|---|---|---|---|---|
| ⭐ USPTO Office Actions Scraper (this Actor) | $5 free credit, then pay-per-use | 19M+ records | Live per run | Full Lucene | ⚡ 2 min |
| Direct USPTO Open Data portal | Free | Same | Live | Lucene, but UI-driven | 🐢 Manual per query |
| Patent-analytics SaaS (PatSnap, Innography) | $10,000+/year | Broad + extras | Daily | Many | ⏳ Sales cycle |
| PAIR per-application lookup | Free | One application at a time | Live | None | 🐢 No batch access |
Pick this Actor when you need batch-scale prosecution analytics without a $10k SaaS subscription.
🚀 How to use
- 📝 Sign up. Create a free account with $5 credit (takes 2 minutes).
- 🌐 Open the Actor. Go to the USPTO Office Actions Scraper page on the Apify Store.
- 🎯 Set input. Write a Lucene query, pick filters, and set
maxItems. - 🚀 Run it. Click Start and let the Actor collect your data.
- 📥 Download. Grab your results in the Dataset tab as CSV, Excel, JSON, or XML.
⏱️ Total time from signup to downloaded dataset: 3-5 minutes. No coding required.
💼 Business use cases
🔌 Automating USPTO Office Actions Scraper
Control the scraper programmatically for scheduled runs and pipeline integrations:
- 🟢 Node.js. Install the
apify-clientNPM package. - 🐍 Python. Use the
apify-clientPyPI package. - 📚 See the Apify API documentation for full details.
The Apify Schedules feature lets you trigger this Actor on any cron interval. A daily refresh on a tracked applicant or examiner keeps your competitive-intelligence dashboard always current.
🌟 Beyond business use cases
Data like this powers more than commercial workflows. The same structured records support research, education, civic projects, and personal initiatives.
🤖 Ask an AI assistant about this scraper
Open a ready-to-send prompt about this ParseForge actor in the AI of your choice:
- 💬 ChatGPT
- 🧠 Claude
- 🔍 Perplexity
- 🅒 Copilot
❓ Frequently Asked Questions
🧩 How does it work?
You write a Lucene query (or pass a patent number, application number, or examiner ID), set maxItems, and click Start. The Actor calls the USPTO open-data office-actions feed, paginates through results, and emits one clean JSON record per office action.
🔍 What can I query?
Any indexed field: inventionTitle, patentNumber, patentApplicationNumber, examinerEmployeeNumber, workGroup, techCenter, groupArtUnitNumber, legacyDocumentCodeIdentifier, plus the filing-date range. Combine with AND, OR, and NOT.
📝 Does it include the full office-action text?
The bodyTextSnippet field returns the first 500 characters. For full body text, follow the application number into PAIR's prosecution history.
👨⚖️ How do I find an examiner's employee number?
It's printed on every office action and notice of allowance. Once you have one number, this Actor lets you pull every action that examiner has issued.
📅 How far back does the data go?
The USPTO open-data office-actions dataset covers actions published from roughly 2007 onward, with the full dataset growing as USPTO digitizes older records.
🚦 What do the application status codes mean?
USPTO uses three-digit status codes. 020 is allowed, 030 is in examination, 150 is patented and so on. The official status-code lookup is published by USPTO.
⏰ Can I schedule regular runs?
Yes. Use Apify Schedules to run this Actor on any cron interval. A daily refresh on a tracked examiner or applicant keeps your dashboard current.
⚖️ Is this data legal to use?
Yes. USPTO office actions are public records published by the U.S. federal government, freely usable for research, analytics, commercial products, and journalism.
💳 Do I need a paid Apify plan?
No. The free Apify plan is enough for testing and small runs (10 records). A paid plan lifts the limit and gives you scheduling, higher concurrency, and larger datasets.
🔁 What happens if a run fails?
The Actor retries transient errors. If a run still fails, the dataset includes a { error: ... } record. Partial datasets from failed runs are preserved.
🆘 What if I need help?
Contact us through the Apify platform or use the Tally form linked below.
🔌 Integrate with any app
USPTO Office Actions Scraper connects to any cloud service via Apify integrations:
- Make - Automate multi-step workflows
- Zapier - Connect with 5,000+ apps
- Slack - Get run notifications in your channels
- Airbyte - Pipe office-action data into your warehouse
- GitHub - Trigger runs from commits and releases
- Google Drive - Export datasets straight to Sheets
You can also use webhooks to trigger downstream actions when a run finishes. Push fresh office-action records into your IP-analytics stack, or alert your team in Slack when a tracked examiner issues a new action.
🔗 Recommended Actors
- 🏛️ USPTO Patent Assignments Scraper - Ownership transfers and recordations
- 🩺 CDC WONDER Mortality Scraper - U.S. mortality and cause-of-death records
- 📐 arXiv Preprint Scraper - Open-access research papers
- 💼 Greenhouse Jobs Scraper - IP-attorney and tech-lead roles
- 🧑💼 Indeed Scraper - The largest U.S. job aggregator
💡 Pro Tip: browse the complete ParseForge collection for more IP, government, and reference-data scrapers.
🆘 Need Help? Open our contact form to request a new scraper, propose a custom data project, or report an issue.
⚠️ Disclaimer: this Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by the United States Patent and Trademark Office. All trademarks mentioned are the property of their respective owners. Only publicly available open-data office-action records are collected.