USPTO Patent Attorney & Agent Leads Scraper avatar

USPTO Patent Attorney & Agent Leads Scraper

Pricing

from $1.10 / 1,000 practitioner records

Go to Apify Store
USPTO Patent Attorney & Agent Leads Scraper

USPTO Patent Attorney & Agent Leads Scraper

Scrape every registered US patent practitioner from the official USPTO OED roster: name, registration number, type, firm, full address, phone & lead score. Filter by state, city, type or firm; monitor newly registered practitioners. B2B IP-law leads, no key or login.

Pricing

from $1.10 / 1,000 practitioner records

Rating

0.0

(0)

Developer

Scrape Sage

Scrape Sage

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

0

Monthly active users

10 days ago

Last modified

Share

USPTO Patent Attorney & Agent Leads Scraper — Registered Practitioners, Firms, Phones & Lead Scores

Disclaimer: This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by the U.S. Patent and Trademark Office (USPTO) or any government body. All trademarks mentioned are the property of their respective owners. "USPTO" is referenced only to describe the public data source this Actor collects from.

Extract every registered U.S. patent practitioner from the official USPTO Office of Enrollment & Discipline (OED) roster — all ~53,000 active patent attorneys, patent agents, limited-recognition and design-patent practitioners — as clean, ready-to-use B2B leads: full name, registration number, practitioner type, firm/organization, complete mailing address, phone number, derived practice setting (law firm / in-house / solo / government / academic), region and a 0–100 lead score.

No login, no cookies, no browser, no API key — a fast, reliable read of the official government roster with ~99% phone coverage.

Why this USPTO practitioner scraper?

Most directory scrapers return a name and a registration number and stop there. This actor ships the richest, most complete patent-practitioner dataset in the category, straight from the federal source of truth, and turns every record into a contactable B2B lead — with no start fee.

DataTypical scrapersThis actor
Name + registration number
Practitioner type (attorney / agent / limited / design)partial
Firm / organization✅ ~73% (rest are solo)
Full mailing address (street, city, state, ZIP)partial
Phone number✅ ~99%
Derived practice setting (law firm / in-house / solo / gov / academic)
Region, state name, government-employee flag
Lead score (0–100) + lead signals
Filter by state, city, type, firm, ZIP, reg-number
Monitor mode — only newly-registered practitioners
Start feeoften $0.05–0.10none

Use cases

  • Lead generation — registered patent practitioners are high-value buyers and partners. Score them by setting and contactability, then reach them by phone or mail for IP-docketing & management software, prior-art/search tools, patent-drawing & translation services, malpractice insurance, CLE, and legal marketing.
  • Recruiting & talent mapping — find patent attorneys and agents by state, city, firm, or practice setting (law firm vs. corporate in-house), with registration number and firm for sourcing and verification.
  • Find-a-practitioner / referral — inventors, startups and law firms can locate registered patent counsel by location and type, and confirm a practitioner is on the active roster.
  • Market & competitive intelligence — map the IP-law landscape: practitioner counts by state, region, firm and setting; track which firms are growing their patent benches.
  • New-registrant monitoring — schedule monitor mode to capture practitioners as they are newly added to the roster — a fresh, high-intent signal for onboarding offers.

How to use

  1. Sign up for Apify — the free plan is enough to try this actor.
  2. Open the USPTO Patent Attorney & Agent Leads Scraper, choose your filters (e.g. states: ["CA"], practitionerTypes: ["attorney"]), set Max results, and click Start.
  3. Watch results stream into the dataset table.
  4. Export as JSON, CSV, Excel, XML, or RSS — or pull results programmatically via the Apify API.

Input

{
"states": ["CA"],
"practitionerTypes": ["attorney"],
"withPhoneOnly": true,
"sortBy": "leadScore",
"maxResults": 100
}
  • states — USPS state/territory codes (CA, NY, TX, DC…). Empty = all states.
  • cities — city names (case-insensitive, exact match), e.g. Alexandria, San Francisco.
  • practitionerTypesattorney, agent, limited, design. Empty = all types.
  • firmName — keep only practitioners whose firm/organization contains this text (e.g. Fish, Google).
  • name / keyword — match a name, or a keyword across name, firm, city, state.
  • practiceSettingslaw_firm, corporate, solo, government, academic, other.
  • registrationNumbers — direct lookup of specific practitioners by USPTO registration number.
  • zipCodes / countries — filter by 5-digit ZIP or country code.
  • withPhoneOnly / withFirmOnly — keep only practitioners with a phone, or with a firm.
  • minLeadScore — keep only practitioners at or above a lead score (0–100).
  • sortByleadScore (default), name, state, firm, registrationNumber (newest registered first), source.
  • maxResults (default 100) — cap the number of records. The full roster has ~53,000 active practitioners.
  • monitorMode (default false) — remember practitioners seen on previous runs (by registration number) and emit only newly-registered or changed practitioners. Perfect on a schedule.
  • monitorKey — name a monitor so different saved searches track new practitioners separately.
  • proxyConfiguration — the roster is a public US government download that works without a proxy; enable Apify Proxy only as a retry fallback.

Output

One clean record per practitioner (recordType: "patentPractitioner"):

{
"recordType": "patentPractitioner",
"registrationNumber": "43454",
"fullName": "Anders T Aannestad",
"firstName": "Anders",
"lastName": "Aannestad",
"practitionerType": "ATTORNEY",
"practitionerTypeLabel": "Patent Attorney",
"isPatentAttorney": true,
"isPatentAgent": false,
"firmName": "Morrison & Foerster LLP",
"practiceSetting": "law_firm",
"practiceSettingLabel": "Law Firm",
"isSoloPractitioner": false,
"isInHouseCounsel": false,
"addressLine1": "12531 High Bluff Drive",
"addressLine2": "Suite 100",
"streetAddress": "12531 High Bluff Drive, Suite 100",
"city": "San Diego",
"state": "CA",
"stateName": "California",
"zipCode": "92130",
"country": "US",
"region": "West",
"fullAddress": "Morrison & Foerster LLP, 12531 High Bluff Drive, Suite 100, San Diego, CA 92130",
"phone": "(858) 720-5159",
"hasPhone": true,
"hasFirm": true,
"hasFullAddress": true,
"leadScore": 90,
"leadSignals": [
"Firm: Morrison & Foerster LLP",
"Patent attorney (can litigate & give legal advice)",
"Law-firm practitioner"
],
"source": "USPTO Office of Enrollment & Discipline — Active Roster",
"scrapedAt": "2026-06-26T16:19:31.725Z"
}

How much does it cost to scrape USPTO?

This Actor uses Apify's pay-per-event pricing: you are charged only for the results it delivers, with no monthly rental and no start fee. The events it can charge are:

  • Practitioner record - Each registered patent practitioner lead returned to the dataset (name, firm, address, phone, type & lead score).

The current price of each event is shown on the Pricing tab of this page. Set a maximum total charge on the run if you want a hard cap on spend, and use the input limits to control how much the Actor fetches.

Automate & schedule

Run this actor on autopilot and pull results into your own stack:

  • Apify API — start runs, fetch datasets, and manage schedules over REST.
  • apify-client for JavaScript and apify-client for Python — official SDKs.
  • Schedules — run it daily/weekly with monitor mode on to capture newly-registered practitioners as they appear; perfect for a fresh-leads pipeline.
  • Webhooks — trigger downstream actions (CRM import, Slack alert, email sequence) the moment a run finishes.
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });
const run = await client.actor('scrapesage/uspto-patent-practitioner-scraper').call({
states: ['CA', 'NY'],
practitionerTypes: ['attorney'],
withPhoneOnly: true,
maxResults: 500,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Got ${items.length} patent practitioner leads`);

Monitor mode vs. Apify Schedules. They work together. Schedules decide when the actor runs; monitor mode decides what it returns — only practitioners that are new or changed since the last run. Turn both on for an automatic, deduplicated new-registrant feed.

Integrate with any app

Connect the dataset to 5,000+ apps — no code required:

  • Make — multi-step automation scenarios.
  • Zapier — push new practitioner leads straight into your CRM.
  • Slack — get notified when a monitored search finds new practitioners.
  • Google Drive / Sheets — auto-export every run to a spreadsheet.
  • Airbyte — pipe results into your data warehouse.
  • GitHub — trigger runs from commits or releases.

Use with AI assistants (MCP)

The output is clean, LLM-ready JSON. Call this actor from Claude, ChatGPT, or any agent framework through the Apify MCP server — ask your assistant to "find patent attorneys at boutique IP firms in California with phone numbers" and let it run this scraper for you.

Agent-ready: autonomous payments (x402 & Skyfire)

This actor is agent-ready — AI agents can discover it, run it, and pay for it autonomously, with no Apify account and no human in the loop. It uses pay-per-event pricing and limited permissions, so it qualifies for Apify's agentic-payment standards:

  • x402 — an open, HTTP-native payment protocol. Agents pay per run in USDC on the Base network directly through the Apify MCP server — no account, no API key.
  • Skyfire — agent-to-service payments for fully autonomous AI-agent workflows.

Building an AI agent, MCP tool, or autonomous data pipeline? This scraper is ready to plug in and pay as it goes.

More scrapers from scrapesage

Build a complete IP, legal & B2B lead-gen stack:

Tips

  • Exhaust a big state: set states: ["CA"] and raise maxResults — California alone has ~6,500 practitioners. To export the entire roster, leave filters empty and set a high maxResults.
  • Highest-quality leads first: keep sortBy: "leadScore" and add withPhoneOnly: true and a minLeadScore.
  • Boutique & solo targeting: set practiceSettings: ["solo", "law_firm"] for direct decision-makers, or ["corporate"] for in-house IP counsel.
  • Recurring new-registrant feed: turn on monitorMode and a Schedule to receive only newly-added practitioners.

FAQ

Where does the data come from? The official USPTO Office of Enrollment & Discipline (OED) active roster — the federal register of every practitioner authorized to practice patent matters before the USPTO. It is the same data behind the public OED practitioner search.

Is an email address included? No. The OED roster publishes name, firm, mailing address, phone, registration number and type — but not email. Phone is present on ~99% of records. To add emails, pair this with the Website Contact Scraper on each practitioner's firm domain.

What's the difference between a patent attorney and a patent agent? Both have passed the USPTO patent bar and can prepare and prosecute patent applications. A patent attorney is also a licensed attorney (can give legal advice and litigate); a patent agent is not. This actor labels both and lets you filter by type.

Can I export to Google Sheets, CSV, or Excel? Yes — one click in the dataset view, or automatically on every run via the Google Drive integration.

How do I get only newly-registered practitioners? Turn on monitorMode and run on a Schedule. The actor remembers practitioners by registration number and emits only new or changed ones.

A field is empty — why? Some practitioners are solo (no firm), have no suffix, or have a single-line address. Fields are null only when the roster doesn't publish them, not because the scraper skipped them.

Is this legal? This actor reads publicly available U.S. government roster data. You are responsible for using the data in compliance with applicable laws and the USPTO's terms.

Data & lawful use

The source is an official public register, published so that anyone can consult it. Records can name individuals (registered patent attorneys and agents), so the output may contain personal data even though it is public. If you are in the EU or UK you are the data controller for what you do with it: have a lawful basis, honour access and deletion requests, and respect the register's own reuse conditions, which can restrict marketing or commercial use.

Under Apify's Standard Actor Contract, which governs your use of this Actor, you are the controller of any personal data in your input and output and scrapesage acts only as your processor: that data is processed solely to run your job, written only to your own Apify storage, never used for any other purpose and never shared onward. If you need help with a data-subject request that involves this Actor's output, open an issue on the Issues tab.

Disclaimer

This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by the U.S. Patent and Trademark Office (USPTO) or any government body. All trademarks mentioned are the property of their respective owners.

"USPTO" is referenced only in a descriptive, nominative sense - to identify the public data source this Actor collects from. This Actor is not an official product or service of the U.S. Patent and Trademark Office (USPTO) and is not authorised or certified by it. It collects only publicly available records; you are responsible for ensuring your use of that data complies with applicable laws, regulations and the source's own terms of use or reuse conditions.

Need help?

Open an issue on the actor's Issues tab, or visit the Apify help center. Feature requests are welcome — this actor is actively maintained.