Discover/USPTO API
live

USPTO APIuspto.gov

Search US patent grants and applications by assignee and date, and retrieve full text including claims, abstract, and bibliographic data via the USPTO API.

Endpoint health
verified 3h ago
search_patents
get_patent_document
2/2 passing latest checkself-healing
Endpoints
2
Updated
3h ago

What is the USPTO API?

This API exposes two endpoints against the USPTO patent corpus, covering both granted patents and pre-grant publications. The search_patents endpoint returns paginated document summaries filtered by assignee name and publication date window, while get_patent_document delivers the full record for a single document — including claims, abstract, inventor list, CPC codes, and page count — identified by its canonical document ID.

This call costs2 credits / call— charged only on success
Try it
Page size; values above 100 are clamped to 100.
Zero-based offset of the first item to return.
Assignee (patent owner) name term to match, e.g. a company name. Letters, digits, spaces and . , & - only; matched as a phrase against the assignee-name field, so a single distinctive word (a brand) matches all corporate variants of that name.
Latest publication date, ISO YYYY-MM-DD, inclusive; must not precede published_from. Omitted: today.
Restrict to granted patents, published applications, or both.
Earliest publication date, ISO YYYY-MM-DD, inclusive. Omitted: 14 days before today.
api.parse.bot/scraper/3d7eddbd-2da3-4c40-b259-a22cd5bdd60e/<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/3d7eddbd-2da3-4c40-b259-a22cd5bdd60e/search_patents?assignee=Xiaomi&document_type=all' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace uspto-gov-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: USPTO Patent Public Search — search by assignee, drill into full text."""
from parse_apis.uspto_gov_api import Uspto, DocumentType, NotFound

client = Uspto()

# Search recent patent applications for a well-known assignee.
for summary in client.patent_summaries.search(
    assignee="Xiaomi",
    document_type=DocumentType.APPLICATION,
    limit=5,
):
    print(summary.title, summary.date_published, summary.kind_code)

# Drill down: take the first hit and fetch its full document.
hit = client.patent_summaries.search(assignee="Xiaomi", limit=1).first()
if hit is not None:
    patent = hit.details()
    print(patent.title)
    print("Inventors:", patent.inventors)
    print("Abstract:", patent.abstract_html[:200])
    print("Claims pages:", patent.page_count)

# Direct point lookup by a known document id.
try:
    doc = client.patents.get(document_id="US-20260261829-A1")
    print(doc.title, doc.assignees, doc.date_published)
except NotFound:
    print("Document not found")

print("exercised: patent_summaries.search / PatentSummary.details / patents.get")
All endpoints · 2 totalmissing one? ·

Lists US patent documents (granted patents and published applications) whose assignee name matches the given term and whose publication date falls inside a date window. With no dates supplied the window is the 14 days ending today (computed at call time). One family representative is returned per patent family, newest publication first. Results are paged with an offset: `start` is the zero-based offset into the result list, `limit` is the page size (at most 100, larger values are clamped); `total` is the site's full match count and `has_more` tells whether a further page exists. Each item carries a `document_id` (e.g. one shape: US-20260261829-A1) that get_patent_document accepts unchanged. An empty `items` list with `total` 0 is a valid result when nothing was published in the window. Costs three upstream requests per call.

Input
ParamTypeDescription
limitintegerPage size; values above 100 are clamped to 100.
startintegerZero-based offset of the first item to return.
assigneerequiredstringAssignee (patent owner) name term to match, e.g. a company name. Letters, digits, spaces and . , & - only; matched as a phrase against the assignee-name field, so a single distinctive word (a brand) matches all corporate variants of that name.
published_tostringLatest publication date, ISO YYYY-MM-DD, inclusive; must not precede published_from. Omitted: today.
document_typestringRestrict to granted patents, published applications, or both.
published_fromstringEarliest publication date, ISO YYYY-MM-DD, inclusive. Omitted: 14 days before today.
Response
{
  "type": "object",
  "fields": {
    "count": "integer, number of items in this page",
    "items": "array of document summaries: document_id (canonical id accepted by get_patent_document), document_number, document_id_display, document_type (grant|application), kind_code, title, date_published (ISO), application_number, application_filing_date (ISO), assignees, applicants, inventors_short, cpc_inventive / cpc_additional / ipc (arrays of classification codes), primary_examiner (null on applications), page_count, family_id",
    "query": "object echoing the resolved search controls: assignee, published_from, published_to (ISO dates actually applied), document_type",
    "start": "integer offset of this page",
    "total": "integer, total number of matching family representatives reported by the site for the whole window",
    "has_more": "boolean, true when start+count < total"
  },
  "sample": {
    "data": {
      "count": 3,
      "items": [
        {
          "ipc": [
            "H04W4/40",
            "H04W4/024"
          ],
          "title": "INFORMATION TRANSMISSION METHOD AND APPARATUS, AND STORAGE MEDIUM",
          "assignees": [
            "Beijing Xiaomi Mobile Software Co., Ltd."
          ],
          "family_id": 83066352,
          "kind_code": "A1",
          "applicants": [
            "Beijing Xiaomi Mobile Software Co., Ltd."
          ],
          "page_count": 19,
          "document_id": "US-20260261829-A1",
          "cpc_inventive": [
            "H04W4/40",
            "H04W4/024",
            "H04W76/20"
          ],
          "document_type": "application",
          "cpc_additional": [],
          "date_published": "2026-09-03",
          "document_number": "20260261829",
          "inventors_short": "HONG; Wei et al.",
          "primary_examiner": null,
          "application_number": "18/858216",
          "document_id_display": "US 20260261829 A1",
          "application_filing_date": "2022-04-19"
        }
      ],
      "query": {
        "assignee": "Xiaomi",
        "published_to": "2026-09-06",
        "document_type": "all",
        "published_from": "2026-08-23"
      },
      "start": 0,
      "total": 57,
      "has_more": true
    },
    "status": "success"
  }
}

About the USPTO API

Searching by Assignee and Date

The search_patents endpoint accepts a required assignee string and optional published_from / published_to date parameters in ISO YYYY-MM-DD format. When dates are omitted, the window defaults to the 14 days ending at call time. Results are paginated via start (zero-based offset) and limit (capped at 100); the response includes a total count and a has_more boolean so you can walk through large result sets. The document_type parameter lets you restrict results to granted patents, published applications, or both. Each item in the items array carries a document_id — the canonical identifier you pass to the second endpoint.

Full Document Records

The get_patent_document endpoint takes a single document_id (e.g. US-20260261829-A1 or US-12726983) and returns the complete document record. This includes abstract_html and claims_html as HTML fragments, the title, assignees, inventors (formatted as LAST; First with city and country), applicants, kind_code, page_count, cpc_inventive classification codes, and bibliographic metadata covering priority and related applications. The HTML fragments may contain inline markup — plan to strip or render them depending on your use case.

Coverage and Identifiers

The corpus covers US patent grants (kind codes like B2) and published applications (kind codes like A1). Document IDs follow the US-{number}-{kind_code} pattern for applications and US-{number} for grants. The query object in search responses echoes the resolved parameter values actually applied, including the computed date bounds when defaults are used — useful for audit trails or caching logic.

Reliability & maintenanceVerified

The USPTO API is a managed, monitored endpoint for uspto.gov — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when 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 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
3h 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
  • Track newly published patent applications for a competitor by polling search_patents with their assignee name over a rolling date window
  • Build a patent landscape report by collecting cpc_inventive codes across all documents returned for a technology-area assignee
  • Extract and index full claims_html text for a document set to power a prior-art search tool
  • Monitor assignee name changes by comparing assignees fields across documents with the same base document number
  • Compile inventor rosters with city and country data from get_patent_document for geographic IP analysis
  • Ingest page_count and kind_code fields to estimate prosecution stage and document complexity across a portfolio
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 offer an official developer API?+
Yes. USPTO provides the Open Data Portal at https://developer.uspto.gov, which includes REST APIs for patent and trademark data. Coverage and schema differ from this Parse API, which focuses specifically on assignee-based search and full-text retrieval.
What does `search_patents` return for each item, and how is pagination handled?+
Each entry in the items array includes document_id, document_number, document_id_display, and summary fields. The response also carries total (full match count), count (items on this page), start (current offset), and has_more (boolean). Use start and limit to page through results; limit is clamped to 100 per call.
Are citation data or forward references included in `get_patent_document`?+
Not currently. The endpoint returns bibliographic data, abstract, claims, description, inventors, assignees, CPC codes, and priority/related-application information, but not citation lists. You can fork this API on Parse and revise it to add a citations endpoint.
Can I search by inventor name, CPC code, or keyword rather than assignee?+
The current search_patents endpoint filters by assignee name and publication date only. Inventor-name, CPC-code, and full-text keyword search are not exposed. You can fork this API on Parse and revise it to add those search axes.
How fresh is the data, and does the date window have any hard limits?+
The default window is the 14 days ending at call time, computed per request. You can specify any published_from / published_to range in ISO format, with the constraint that published_to must not precede published_from. Freshness depends on when USPTO publishes documents — USPTO typically publishes grants on Tuesdays and applications on Thursdays.
Page content last updated . Spec covers 2 endpoints from uspto.gov.
Related APIs in Government PublicSee all →
ppubs.uspto.gov API
ppubs.uspto.gov API
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.
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.
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.
iprsearch.ipindia.gov.in API
Access data from iprsearch.ipindia.gov.in.
usaspending.gov API
Access data from usaspending.gov.
data.inpi.fr API
Search and discover French industrial property information including patents, trademarks, designs, and company registrations from the official INPI national register. Find the intellectual property data you need to research competitors, verify trademark availability, or explore patent landscapes in France.
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.