IP Data
Intellectual-property and entity intelligence: US patents (Google Patents), USPTO trademarks, and state company registries. All free public sources — no API keys required.
What it scrapes
| Source | Data |
|---|---|
| Google Patents XHR API | Patent search by title/abstract/assignee/inventor; single-patent detail |
| USPTO TSDR / tmsearch | Trademark search by keyword or owner; single serial lookup |
| State registries (e.g. NV SOS) | Company search — entity id, type, status, registered agent |
Endpoints
Router: routers/ip_data.py · tag: IP Data
| Method | Path | Summary |
|---|---|---|
| GET | /v1/ip/patents/search | Search US patents by keyword |
| GET | /v1/ip/patents/{patent_id} | Single patent detail (e.g. US9012345B2) |
| GET | /v1/ip/trademarks/search | Search US trademarks by keyword or owner |
| GET | /v1/ip/companies/search | Search state company registries |
GET /v1/ip/patents/search
Query params: query (required), limit (1–100, default 20).
curl -X GET "http://localhost:8005/v1/ip/patents/search?query=blockchain&limit=2" \
-H "Authorization: Bearer <key>"
Response (200):
{
"success": true,
"query": "blockchain",
"limit": 2,
"data": [
{
"patent_id": "US9012345B2",
"title": "Method and system for ...",
"assignee": "Acme Corp",
"inventor": "Jane Doe",
"filing_date": "2018-05-01",
"grant_date": "2019-08-13",
"abstract": "A method for ...",
"url": "https://patents.google.com/patent/US9012345B2/en"
}
]
}
GET /v1/ip/trademarks/search
Query params: query (required), owner, limit (1–100, default 20).
curl -X GET "http://localhost:8005/v1/ip/trademarks/search?query=rugmunch" \
-H "Authorization: Bearer <key>"
Response (200):
{
"success": true,
"query": "rugmunch",
"data": [
{
"serial_no": "97774270",
"mark": "RUGMUNCH",
"owner": "Rug Munch Media LLC",
"status": "Live/Pending",
"classes": ["9", "42"],
"registration_date": "",
"url": "https://tmsearch.uspto.gov/search?q=97774270"
}
]
}
GET /v1/ip/companies/search
Query params: name (required), state (e.g. nv).
curl -X GET "http://localhost:8005/v1/ip/companies/search?name=rug+munch&state=nv" \
-H "Authorization: Bearer <key>"
Response (200):
{
"success": true,
"name": "rug munch",
"state": "nv",
"data": [
{
"name": "RUG MUNCH MEDIA LLC",
"entity_id": "NV2026-0001",
"type": "Domestic Corporation",
"status": "Active",
"state": "NV",
"formation_date": "2026-01-01",
"registered_agent": "John Doe"
}
]
}
MCP tools
| Tool | Backing endpoint |
|---|---|
pry_patents | GET /v1/ip/patents/search |
pry_trademarks | GET /v1/ip/trademarks/search |
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "pry_patents",
"arguments": {"query": "stablecoin", "limit": 5}
}
}
Who uses this
- R&D / patent landscaping — prior-art search and assignee tracking.
- Brand protection — trademark watch on USPTO statuses.
- Due diligence — company registry lookups for entities, agents, formation dates.
Next steps
- Full endpoint reference: API Overview
- Government Data — procurement + recalls