# Patents Research

> Researches patents and patent applications via the Crawlora API — Google Patents (full-text search by keyword/inventor/assignee, bibliographic detail, claims/citations/family, CPC classification lookup, recent-publications browse, database coverage) and USPTO Patent Public Search (full-text search with USPTO's own Advanced Search syntax, document detail) — returning clean JSON. Use when the user wants prior-art search, a specific patent's claims/citations/family, an inventor's or company's patent portfolio, or freedom-to-operate research.

- Skill: `crawlora-org/patents-research` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add crawlora-org/patents-research`
- Raw SKILL.md: https://api.skillmd.com/api/skills/crawlora-org/patents-research/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Research & Search
- Author: Crawlora-org (https://skillmd.com/u/crawlora-org)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/crawlora-org/patents-research

---


# Patent research

Search and look up patents across Google Patents and USPTO Patent Public
Search — full-text search, bibliographic detail, claims, citations, patent
family, and classification lookup — all as normalized JSON from the
Crawlora API, no scraping of patent-office pages.

## When to use this skill

- "Find patents about X" / "prior-art search for X" (keyword, inventor, or
  assignee).
- "What does patent US10758101B2 claim?" / "Show me this patent's citations
  and family members."
- "What's this company's / inventor's patent portfolio?"
- "What CPC classification covers X?" (e.g. `A61K31/00`).
- "What patents were published this week?" (recent-publications browse).
- Freedom-to-operate or landscape research needing both Google Patents'
  broader index and USPTO's own official full-text search with its
  field-code query syntax.

## Setup (one-time)

- Get a free Crawlora API key (2,000 credits/mo, no card) at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).
- Set `CRAWLORA_API_KEY` in the environment before running the helper.
- The helper reads `CRAWLORA_API_KEY` from the environment and sends requests to `https://api.crawlora.net/api/v1`. Missing/invalid key → `401`.

## How it works

1. **Google Patents search** — `/googlepatents/search` (`q`, plus optional
   `inventor`/`assignee`/`country`/`status`/`type`/`language`/`sort`/date
   filters via `before`+`after`+`date_field`) returns normalized hits plus
   top-assignee/top-inventor/top-classification breakdowns over the full
   result set.
2. **Google Patents detail** — `/googlepatents/detail` (`number`, a
   publication number like `US10758101B2`) returns title, abstract,
   inventors, assignees, dates, legal status, CPC/IPC classifications,
   claims, description, citations, cited-by patents, family members, and
   similar documents.
3. **Google Patents helpers** — `/googlepatents/suggest`
   (`field=inventor|assignee`, `value`) for autocomplete;
   `/googlepatents/classification` (`code`, e.g. `A61K31/00`, or any
   section/class/subclass level) for a CPC symbol's title and tree
   position; `/googlepatents/recent` (`week`, ISO 8601 `YYYY-Www`) to
   browse one week's indexed publications; `/googlepatents/coverage` for
   per-country per-year grant/application counts.
4. **USPTO Patent Public Search** — `/usptoppubs/search` (`q`, USPTO's own
   Advanced Search / BRS syntax: field codes like `battery.ti.` or
   `Microsoft.as.`, date ranges like `@pd>=20200101<=20241231`,
   boolean/proximity operators, wildcards; optional `databases` to scope to
   `US-PGPUB`/`USPAT`/`USOCR`) returns bibliographic results, then
   `/usptoppubs/detail` (`guid`+`source`, both taken from a search result)
   fetches one document's full text — abstract, description, and claims.

Full endpoint list, methods, and params: [`reference/endpoints.md`](reference/endpoints.md).

## Calling the API

```sh
# Google Patents keyword search:
scripts/crawlora.sh /googlepatents/search q="solid state battery" | jq '.'

# Filter by assignee + date range:
scripts/crawlora.sh /googlepatents/search q="battery" assignee="Tesla" after="2020-01-01" | jq '.'

# Patent detail (claims, citations, family):
scripts/crawlora.sh /googlepatents/detail number=US10758101B2 | jq '.'

# CPC classification lookup:
scripts/crawlora.sh /googlepatents/classification code=A61K31/00 | jq '.'

# USPTO full-text search (BRS field-code syntax):
scripts/crawlora.sh /usptoppubs/search q='battery.ti. AND @pd>=20200101<=20241231' | jq '.'
```

Use `scripts/crawlora.sh` for all requests; it keeps the API key out of command-line arguments.


## Endpoint reference

See [`reference/endpoints.md`](reference/endpoints.md) for every Google
Patents and USPTO Patent Public Search endpoint this skill uses.

## Examples

- **Prior-art search:** `/googlepatents/search` with a keyword + `assignee`/
  `inventor` filters, then `/googlepatents/detail` on the strongest hits for
  full claims and citations.
- **Portfolio research:** `/googlepatents/search` scoped to one `assignee`,
  sorted `new`, to see a company's recent filings; `/googlepatents/detail`
  on any individual patent for its full family (continuations, divisionals,
  foreign counterparts).
- **Cross-source verification:** run the same query through both
  `/googlepatents/search` (broader index, easier free-text) and
  `/usptoppubs/search` (USPTO's own authoritative full-text index with
  precise field-code queries) to cross-check coverage.
- **Landscape/trend view:** `/googlepatents/coverage` for indexing volume by
  country/year, or `/googlepatents/recent` to sample one week's publications
  in a technology area.

## Notes & limits

- **Credits / pay-on-success:** billed only on `2xx`; free tier 2,000 credits/mo.
  Key at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).
- **Public data only** — public patent-office search/detail pages.
- **Security:** key lives in `CRAWLORA_API_KEY` only — never hardcode, query-param, or commit it.
- **USPTO's `q` syntax is not free text** — it's USPTO's own Advanced
  Search (BRS) query language (field codes, date-range operators, boolean/
  proximity operators, wildcards). Google Patents' `q` is plain free-text
  with separate structured filter params instead.
- `/usptoppubs/detail`'s `guid`/`source` must come from a prior
  `/usptoppubs/search` result — they aren't guessable identifiers.
- Search results are paginated (`page`/`num`, 0-indexed) — walk pages for
  full coverage beyond the first page.

