patentgrepDocs

Search API

Patent details

Everything about one document: claims with their dependencies, dates, parties, classification, family, citation counts and term. Slower sections such as the description and the USPTO timeline load separately.

GET/v1/patents/{doc_id}/details

doc_id is US, the number and the kind code, as search returns it: US12756070B2 for a grant, US20240243436A1 for an application.

Dates are YYYY-MM-DD or null, and fields are camelCase. null means unknown, never zero: a null citation count was not available.

Try itDemo key
GET /v1/patents/US12756070B2/details
Response200Recorded 11 Oct 2026
{
  "docId": "US12756070B2",
  "number": "12756070",
  "kind": "B2",
  "documentType": "grant",
  "status": "Granted",
  "title": "System and method for a self-protecting separator for a battery",
  "abstract": "A self-protecting functional separator for a battery cell is provided. T…",
  "applicationNumber": "18098392",
  "dates": {
    "filed": "2023-01-18",
    "published": "2024-07-18",
    "granted": "2026-10-06",
    "earliestClaimed": "2023-01-18",
    "earliestClaimedSource": "earliest own, foreign, parent or provisional filing in the indexed bibli…"
  },
  "parties": {
    "inventors": ["Zhe Li", "Xingcheng Xiao", "Jing Gao"],
    "assigneesAtPublication": ["GM GLOBAL TECHNOLOGY OPERATIONS LLC"],
    "applicants": ["GM GLOBAL TECHNOLOGY OPERATIONS LLC"]
  },
  "priorityClaims": [],
  "cpc": [
    {
      "code": "H01M50/457",
      "displayCode": "H01M 50/457",
      "title": "comprising three or more layers",
      "shortTitle": "Having a layered structure: comprising three or more layers",
      "edition": "2026.08"
    },
    {
      "code": "H01M10/0562",
      "displayCode": "H01M 10/0562",
      "title": "Solid materials",
      "shortTitle": "The electrolyte being constituted of inorganic materials only: solid mat…",
      "edition": "2026.08"
    }
    // 14 more
  ],
  "claims": [
    {
      "number": 1,
      "sequence": 0,
      "text": "1. A self-protecting functional separator for a battery cell, the self-p…",
      "dependsOn": [],
      "dependencyStatus": "inferred",
      "independent": true
    },
    {
      "number": 2,
      "sequence": 1,
      "text": "2. The self-protecting functional separator of claim 1, wherein the nano…",
      "dependsOn": [1],
      "dependencyStatus": "inferred",
      "independent": false
    }
    // 16 more
  ],
  "family": {
    "complete": false,
    "related": [
      {
        "fromApplicationNumber": "18098392",
        "toApplicationNumber": null,
        "relation": "related-publication",
        "rawIdentifier": "20240243436",
        "date": "2024-07-18",
        "source": "patentgrep"
      }
    ],
    "docIds": ["US12756070B2", "US20240243436A1"]
  },
  "citationCounts": {
    "usGrant": 1,
    "usPublication": 4,
    "foreign": 3,
    "other": 7,
    "forward": 0,
    "scope": "US grant-source citation rows in the indexed corpus, document-specific"
  },
  "term": {
    "ptaDays": 773,
    "expiresAt": null,
    "estimated": false,
    "expiryBasis": "unverified",
    "baseDate": null,
    "limitations": []
  },
  "sections": {
    "timeline": {
      "state": "not_loaded",
      "source": "uspto-odp",
      "reason": null,
      "retryable": false
    },
    "drawings": {
      "state": "not_loaded",
      "source": "uspto-public-pdf",
      "reason": null,
      "retryable": false
    },
    "description": {
      "state": "not_loaded",
      "source": "patentgrep-rows",
      "reason": null,
      "retryable": false
    },
    "citations": {
      "state": "not_loaded",
      "source": "patentgrep-rows",
      "reason": null,
      "retryable": false
    }
  }
}

Response

statusstring

Granted or Published application. Legal status after grant is in the timeline.

datesobject

filed, published, granted and earliestClaimed, the earliest filing the document claims priority from.

partiesobject

inventors, assigneesAtPublication and applicants, as printed on the document.

cpcarray of objects

Current CPC codes with the official title and a readable shortTitle.

claimsarray of objects

Claims in source order. dependsOn and independent are inferred from the claim text and marked with dependencyStatus.

familyobject

Related US applications and publications we know of. complete is false: this is not a worldwide family.

citationCountsobject

Backward citations by kind (usGrant, usPublication, foreign, other) and forward citations.

termobject

Patent term adjustment in days and, when it can be worked out, the end of term with its basis.

sectionsobject

Whether the timeline, drawings, description and citations can be loaded for this document.

curl https://api.patentgrep.com/v1/patents/US12756070B2/details \
  -H "X-Api-Key: $PATENTGREP_KEY"

Search record

GET/v1/patents/{doc_id}

The same snake_case record that search hits use, with every claim as plain text. It's the quickest way to get a document's text and stays unchanged as new detail fields are added.

Response200US12756070B2
{
  "doc_id": "US12756070B2",
  "number": "12756070",
  "feed": "grant",
  "kind": "B2",
  "doc_type": "utility",
  "title": "System and method for a self-protecting separator for a battery",
  "abstract": "A self-protecting functional separator for a battery cell is provided. T…",
  "date": 20261006,
  "filed": 20230118,
  "num_claims": 18,
  "cpc_main": "H01M 50/457",
  "assignee": "GM GLOBAL TECHNOLOGY OPERATIONS LLC",
  "assignees": ["GM GLOBAL TECHNOLOGY OPERATIONS LLC"],
  "detail_url": "/v1/patents/US12756070B2",
  "cpc": ["H01M", "H10N"],
  "inventors": ["Zhe Li", "Xingcheng Xiao", "Jing Gao"],
  "claims": [
    "1. A self-protecting functional separator for a battery cell, the self-p…",
    "2. The self-protecting functional separator of claim 1, wherein the nano…",
    "3. The self-protecting functional separator of claim 2, wherein the seco…"
    // 15 more
  ]
}

Description

GET/v1/patents/{doc_id}/description

The description as sections (summary, detailed description, drawings), each a list of paragraphs with stable ids you can link to. It can be large, so load it after the details.

curl https://api.patentgrep.com/v1/patents/US12756070B2/description \
  -H "X-Api-Key: $PATENTGREP_KEY"

Timeline

GET/v1/patents/{doc_id}/timeline

Prosecution events, continuity, recorded assignments and term from USPTO's Open Data Portal, cached for a day. If USPTO is unreachable you may get the last good copy with stale: true.

  • status is Granted, never “active”: payment of maintenance fees isn't tracked.
  • An end of term is shown only with estimated, its expiryBasis and any limitations.
  • Assignments keep their recorded conveyance, so a security agreement doesn't read as a change of owner.
Response200US12756070B2
{
  "docId": "US12756070B2",
  "applicationNumber": "18098392",
  "availability": {
    "state": "available",
    "source": "uspto-odp",
    "reason": null,
    "retryable": false
  },
  "fetchedAt": "2026-10-12T00:44:58.433903+00:00",
  "sourceIngestedAt": "2026-10-08T03:00:07",
  "stale": false,
  "applicationStatus": {
    "code": 150,
    "label": "Patented Case",
    "date": "2026-09-23"
  },
  "status": "Granted",
  "term": {
    "ptaDays": 773,
    "expiresAt": "2045-03-01",
    "estimated": true,
    "expiryBasis": "20 years from earliest known nonprovisional domestic filing plus…",
    "baseDate": "2023-01-18",
    "limitations": [
      "Maintenance-fee lapses, terminal disclaimers and statutory exten…",
      "The continuity chain may be incomplete; this is not an enforceab…"
    ]
  },
  "events": [
    {
      "date": "2023-01-18",
      "label": "Application filed",
      "code": null,
      "source": "patentgrep"
    },
    {
      "date": "2023-01-18",
      "label": "Earliest claimed filing",
      "code": null,
      "source": "patentgrep"
    },
    {
      "date": "2023-01-18",
      "label": "Applicants have given acceptable permission for participating fo…",
      "code": "APPERMS",
      "source": "uspto-odp"
    }
    // 58 more
  ],
  "continuity": [],
  "assignments": []
}