Search API
PDF and drawings
The published PDF, each drawing sheet as an image with its figure labels, and one representative figure for thumbnails. Files come from USPTO's public PDFs and are cached after the first request.
GEThttps://api.patentgrep.com/v1/patents/{doc_id}/drawings
pages lists the drawing sheets, with figures such as ["1", "2A"] and a caption when the description names that figure. allPages lists every page of the PDF with its kind.
The first request for a document can take a few seconds while the PDF is fetched and split. Load drawings separately from the rest of a page.
{
"docId": "US12756070B2",
"state": "available",
"classification": "drawing-pages",
"source": "uspto-public-pdf",
"sourceVersion": "794f9d973e93711c-drawings-v2",
"pdfUrl": "/v1/patents/US12756070B2/pdf",
"pageCount": 13,
"pages": [
{
"page": 3,
"imageUrl": "/v1/patents/US12756070B2/drawings/3.png",
"width": 1237,
"height": 1600,
"figures": ["1"],
"kind": "drawing",
"sheetNumber": 1,
"sheetCount": 5,
"classificationMethod": "ocr",
"caption": "Sheet 1 of 5"
}
// 4 more
],
"allPages": [
{
"page": 1,
"imageUrl": "/v1/patents/US12756070B2/drawings/1.png",
"width": 1237,
"height": 1600,
"figures": [],
"kind": "front",
"sheetNumber": null,
"sheetCount": null,
"classificationMethod": "ocr",
"caption": null
}
// 12 more
],
"representativeFigure": {
"page": 3,
"source": "first-drawing-sheet",
"crop": null,
"urls": {
"160": "/v1/patents/US12756070B2/drawings/representative.webp?width=160&…",
"480": "/v1/patents/US12756070B2/drawings/representative.webp?width=480&…"
}
},
"captionAvailability": {
"state": "available",
"source": "g_draw_desc_text",
"reason": null,
"retryable": false
}
}Files
| Path | Returns |
|---|---|
/v1/patents/{doc_id}/pdf | The PDF. Supports byte ranges; add ?download=true to download it. |
/v1/patents/{doc_id}/drawings/{page}.png | One page as a PNG, using page from the manifest. |
/v1/patents/{doc_id}/drawings/representative.webp | A cover figure, ?width=160 or 480. Use the URL from representativeFigure as it is. |
Files are immutable and cached for a year. Every file request needs your key, so serve them to browsers through your own server rather than linking to them.
curl -L -o US12756070B2.pdf \
-H "X-Api-Key: $PATENTGREP_KEY" \
"https://api.patentgrep.com/v1/patents/US12756070B2/pdf?download=true"