Discover/USPTO API
live

USPTO APIppubs.uspto.gov

Search US patents and pre-grant publications by attorney or agent name and registration number. Fetch bibliographic data, claims, abstract, and CPC codes.

Endpoint health
verified 42m ago
search_by_attorney
get_document_detail
2/2 passing latest checkself-healing
Endpoints
2
Updated
2h ago

What is the USPTO API?

This API exposes 2 endpoints against the USPTO Patent Public Search database, covering the USPAT, US-PGPUB, and USOCR collections. Use search_by_attorney to find patents and pre-grant publications by attorney name or registration number, and get_document_detail to retrieve a single document's full claims text, abstract, CPC codes, inventors, assignees, and front-page attorney/agent block.

This call costs5 credits / call— charged only on success
Try it
Number of results per page, 1-20; larger values are clamped to 20.
Zero-based offset of the first result to return.
Attorney or agent name words, in any order (e.g. 'Shu Chen'). Only letters and digits are used; punctuation is ignored. Required unless registration_number is given.
USPTO attorney/agent registration number, up to 8 digits (e.g. '62014'). Combined with attorney_name using AND when both are given. Required unless attorney_name is given.
api.parse.bot/scraper/2a40dfe8-0dfc-4173-8964-80a318a209a7/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/2a40dfe8-0dfc-4173-8964-80a318a209a7/search_by_attorney?limit=3&attorney_name=Shu+Chen' \
  -H 'X-API-Key: $PARSE_API_KEY'
All endpoints · 2 totalmissing one? ·

Searches USPTO Patent Public Search (US-PGPUB, USPAT and USOCR collections) for documents whose attorney/agent of record matches the supplied name and/or registration number, newest publication date first. Every word of attorney_name must appear in the document's attorney or legal-representative name field, in any order (so 'Shu Chen' and 'Chen Shu' both match an attorney recorded as 'Chen; Shu'). registration_number is applied to the site's attorney registration-number index; during testing that index held no values, so supplying it currently yields zero results. Attorney data is only printed on granted patents, so pre-grant publications rarely match. One result page per call: start is a zero-based offset and limit (1-20, values above 20 are clamped) is the page size; total is the site's full match count and has_more tells whether another page exists. The per-hit attorney fields (inventors, attorney_names, attorney_name, attorney_registration_number, law_firm) come from one extra document fetch per hit, so a call costs 1 + limit upstream requests; a hit whose detail fetch failed carries a non-null detail_error and empty attorney fields, and detail_coverage counts requested vs fetched details. A name that matches nothing returns total 0 and an empty results list.

Input
ParamTypeDescription
limitintegerNumber of results per page, 1-20; larger values are clamped to 20.
startintegerZero-based offset of the first result to return.
attorney_namestringAttorney or agent name words, in any order (e.g. 'Shu Chen'). Only letters and digits are used; punctuation is ignored. Required unless registration_number is given.
registration_numberstringUSPTO attorney/agent registration number, up to 8 digits (e.g. '62014'). Combined with attorney_name using AND when both are given. Required unless attorney_name is given.
Response
{
  "type": "object",
  "fields": {
    "limit": "integer, effective page size after clamping",
    "query": "the expert/BRS query string issued to the site",
    "start": "integer, offset echoed back",
    "total": "integer, total number of matching documents on the site",
    "results": "array of hits: document_id (site id like US-12693226-B2, usable with get_document_detail), document_number, kind_code (A1/B1/B2/...), title, application_number, filing_date and publication_date (YYYY-MM-DD), status (Granted patent / Pre-grant publication), source collection, applicants, assignees, cpc (array of CPC codes), detail_url, inventors_short, inventors (array), attorney_names (all attorney/firm names on the front page), attorney_name (first one), attorney_registration_number (null when the site records none), law_firm, detail_error (null on success)",
    "has_more": "boolean, true when start + returned count < total",
    "detail_coverage": "object {requested, fetched}: how many per-hit detail fetches were attempted and succeeded"
  },
  "sample": {
    "data": {
      "limit": 3,
      "query": "((Shu AND Chen).ATTY. OR (Shu AND Chen).LRNM.)",
      "start": 3,
      "total": 45,
      "results": [
        {
          "cpc": [
            "H04L63/0853",
            "H04W12/068",
            "H04L63/0876"
          ],
          "title": "Proximity based user identification and authentication system and method",
          "source": "USPAT",
          "status": "Granted patent",
          "law_firm": "K&L Gates LLP",
          "assignees": [
            "GREET SOLUTIONS INC."
          ],
          "inventors": [
            "Jimenez; Giovanni",
            "Wenger; Russell"
          ],
          "kind_code": "B2",
          "applicants": [
            "Greet Solutions Inc."
          ],
          "detail_url": "https://ppubs.uspto.gov/pubwebapp/external.html?q=(12495297).pn.&db=USPAT",
          "document_id": "US-12495297-B2",
          "filing_date": "2024-02-01",
          "detail_error": null,
          "attorney_name": "Chen; Shu",
          "attorney_names": [
            "Chen; Shu",
            "K&L Gates LLP"
          ],
          "document_number": "12495297",
          "inventors_short": "Jimenez; Giovanni et al.",
          "publication_date": "2025-12-09",
          "application_number": "18/430013",
          "attorney_registration_number": null
        }
      ],
      "has_more": true,
      "detail_coverage": {
        "fetched": 3,
        "requested": 3
      }
    },
    "status": "success"
  }
}

About the USPTO API

Searching by Attorney or Agent

search_by_attorney queries across the US-PGPUB, USPAT, and USOCR collections for documents whose attorney or agent of record matches the supplied criteria. You can pass attorney_name (word-order-independent), registration_number (up to 8 digits), or both — the two parameters are combined with AND. Results are ordered newest publication date first. The response includes total (the full match count on USPTO), a has_more boolean for pagination, and an array of hits each carrying document_id (e.g. US-12693226-B2), document_number, and kind_code. Pagination is controlled by start (zero-based offset) and limit (1–20, clamped).

Fetching Document Detail

get_document_detail accepts a US patent number or pre-grant publication number — with or without the US prefix or kind code — and returns the full document record. Response fields include title, abstract, claims (all claims joined as text), number_of_claims, cpc (array of CPC classification codes), inventors (Last; First format), assignees, law_firm, attorney_agent_or_firm (structured front-page block), primary_examiner, kind_code, source collection, and status (granted or pre-grant).

Coverage and Pagination Notes

The document_id values returned by search_by_attorney map directly to the document_number parameter accepted by get_document_detail, so the two endpoints compose naturally. The detail_coverage field on search results reports how many per-hit detail fetches were requested and succeeded, which can be less than the page size if individual documents are unavailable. The USOCR collection covers older scanned patents whose text quality may vary.

Reliability & maintenanceVerified

The USPTO API is a managed, monitored endpoint for ppubs.uspto.gov — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when ppubs.uspto.gov changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official ppubs.uspto.gov API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
42m ago
Latest check
2/2 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a patent portfolio dashboard for a law firm by querying their registration number via search_by_attorney.
  • Track all pre-grant publications (A1 kind code) filed by a specific patent attorney over time.
  • Extract CPC classification codes from get_document_detail to analyze a firm's technology focus areas.
  • Compile inventor and assignee lists across an attorney's prosecuted patents for competitive intelligence.
  • Retrieve full claims text for a patent to feed into a claims analysis or similarity comparison tool.
  • Verify attorney of record and law firm name for a given patent number using the attorney_agent_or_firm block.
  • Paginate through an agent's entire docket using start and has_more to build a complete filing history.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does USPTO Patent Public Search have an official developer API?+
USPTO offers the PatentsView API (https://patentsview.org/apis/api-endpoints) and the Open Data Portal (https://developer.uspto.gov) for bulk and structured patent data. However, those services do not expose the Patent Public Search (ppubs.uspto.gov) interface directly, which is what this API covers.
What does `get_document_detail` return beyond what the search results include?+
search_by_attorney results carry identifiers and kind codes. get_document_detail adds the full abstract, all claims text, number_of_claims, cpc code array, primary_examiner, structured attorney_agent_or_firm block, law_firm, inventors, assignees, and explicit status (granted vs. pre-grant).
Can I search patents by assignee, inventor, or CPC code?+
Not currently. The API covers attorney/agent name and registration number as search parameters. You can fork it on Parse and revise it to add endpoints that search by assignee, inventor, or CPC classification.
What is the maximum number of results I can retrieve per request?+
The limit parameter accepts 1–20 results per page; values above 20 are clamped to 20. Use start for zero-based offset pagination. The total field tells you the full count of matching documents, and has_more tells you whether additional pages exist.
Does the API return patent drawings or PDF documents?+
Not currently. The API returns text fields — title, abstract, claims, CPC codes, bibliographic data, and the attorney block. Binary document assets such as drawings or full PDFs are not part of the response. You can fork it on Parse and revise it to add an endpoint that retrieves document image or PDF URLs.
Page content last updated . Spec covers 2 endpoints from ppubs.uspto.gov.
Related APIs in Government PublicSee all →
uspto.gov API
Access data from uspto.gov.
freepatentsonline.com API
Search US patents and published patent applications by the attorney, agent, or law firm representing them, then retrieve detailed front-page information, abstracts, and claims for any document of interest. This tool helps you quickly identify patent filings associated with specific legal representatives and access key patent documentation details.
publicrecords.copyright.gov API
Search the U.S. Copyright Office's public database to find copyright registration and recordation records, then retrieve detailed information about specific registrations. Quickly access official copyright ownership, filing dates, and registration details without visiting the Copyright Office website directly.
swissreg.ch API
Search and retrieve detailed information about Swiss patents, including their full specifications, publication history, and related targets directly from the official Swiss patent registry. Access comprehensive patent data through simple lookups or broad searches to track innovations and filing details in Switzerland.
tmsearch.uspto.gov API
Search USPTO trademarks by wordmark or serial number, and retrieve detailed case information (status, owners, classes, and prosecution history) for a specific serial number.
iprsearch.ipindia.gov.in API
Access data from iprsearch.ipindia.gov.in.
pravo.gov.ru API
Search and retrieve officially published Russian legal acts by keywords, document type, issuing authority, and date range to access their full text, PDFs, legal status, and appendices. Explore the complete catalog of Russian legislation with detailed metadata and authoritative source documents directly from the government's legal information portal.
puc.ny.gov API
Search and retrieve documents and case details from New York's Public Service Commission proceedings to find regulatory filings, case information, and official documents. Quickly locate specific cases and access their associated documents through full-text search capabilities.