PatentRef

Data version 20261027.2, as of 2026-10-27: the build these pages were checked against. API version 1.21.0.

/api/v1/patent/attorney/

Upstream view AttorneyList (index attorneys, response key attorneys). Any field may be null where the bulk data has no value. Default fields (f): attorney_id, attorney_name_first, attorney_name_last, attorney_organization. Default sort (s): [{"attorney_id": "asc"}]. When the build in service does not carry this endpoint's data set it answers 501 with X-Status-Reason-Code ERR_NOT_IMPLEMENTED and X-Status-Reason naming the data set.

Routes
GET POST /api/v1/patent/attorney/ GET POST /api/v1/patent/attorney/{pk}/
Response key
attorneys
Default f
attorney_id, attorney_name_first, attorney_name_last, attorney_organization
Default s
[{"attorney_id": "asc"}]
Default o
{}
q
required on the list route
Detail key
attorney_id in the path; a "/" in a key is written ":"

Example

curl -s -G -H "X-Api-Key: $KEY" https://patentref.io/api/v1/patent/attorney/ \
  --data-urlencode 'q={"_contains": {"attorney_organization": "Fish"}}'
import json, os, requests

base_url = "https://patentref.io"
headers = {"X-Api-Key": os.environ["PATENTREF_KEY"]}
params = {"q": {"_contains": {"attorney_organization": "Fish"}}}
r = requests.get(base_url + "/api/v1/patent/attorney/", headers=headers,
                 params={k: json.dumps(v) for k, v in params.items()})
r.raise_for_status()
data = r.json()
print(data["total_hits"], data["attorneys"][:3])

Fields

Kind is how q treats the field (grammar, Field kinds). Sortable fields go in s. Nested fields are named with a dot in q and f; naming the group returns its upstream fields, and a field whose note says it is present only when f names it comes back only then. The rows of a group come in the order of their source (grammar, the response and paging).

FieldTypeKindSortableNote
attorney_idstringkeywordyes
attorney_name_firststringkeywordyes
attorney_name_laststringkeywordyes
attorney_organizationstringtext with a keyword formyes
attorney_first_seen_datestringdateyes
attorney_last_seen_datestringdateyes
attorney_num_inventorsnumbernumberyes
attorney_num_patentsnumbernumberyes
attorney_years_activenumbernumberyes

Machine-readable: this page's data as JSON, and the operation in openapi.json (operationId AttorneyList).