/api/v1/publication/
In data version 20261027.2 this endpoint answers 501 ERR_NOT_IMPLEMENTED: publications: pre-grant publications (/api/v1/publication/, /api/v1/publication/rel_app_text/ and the pg_claim, pg_brf_sum_text, pg_detail_desc_text and pg_draw_desc_text endpoints), deferred to a later build.
Upstream view PublicationList (index publications, response key publications). Deferred: pre-grant publications are not in this snapshot yet; the endpoint answers 501 with X-Status-Reason-Code ERR_NOT_IMPLEMENTED. Any field may be null where the bulk data has no value. Default fields (f): document_number, publication_title, publication_date. Default sort (s): [{"document_number": "asc"}]. Nested groups usable in q and f with dotted names: assignees, cpc_at_issue, cpc_current, foreign_priority, gov_interest_organizations, granted_pregrant_crosswalk, inventors, ipcr, pct_data, us_parties, us_related_documents, uspc_at_issue, wipo.
- Routes
GETPOST/api/v1/publication/GETPOST/api/v1/publication/{pk}/- Response key
publications- Default f
document_number,publication_title,publication_date- Default s
[{"document_number": "asc"}]- Default o
{}- q
- required on the list route
- Detail key
document_numberin the path; a "/" in a key is written ":"- Nested groups
assignees,cpc_at_issue,cpc_current,foreign_priority,gov_interest_organizations,granted_pregrant_crosswalk,inventors,ipcr,pct_data,us_parties,us_related_documents,uspc_at_issue,wipo
Example
curl -s -G -H "X-Api-Key: $KEY" https://patentref.io/api/v1/publication/ \
--data-urlencode 'q={"_and": [{"_eq": {"inventors.inventor_city": "Boston"}}, {"assignees.assignee_city": "Boston"}]}'
import json, os, requests
base_url = "https://patentref.io"
headers = {"X-Api-Key": os.environ["PATENTREF_KEY"]}
params = {"q": {"_and": [{"_eq": {"inventors.inventor_city": "Boston"}}, {"assignees.assignee_city": "Boston"}]}}
r = requests.get(base_url + "/api/v1/publication/", 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["publications"][:3])
More requests on this endpoint: test_pub_text_all.
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).
| Field | Type | Kind | Sortable | Note |
|---|---|---|---|---|
document_number | integer | keyword | yes | |
publication_title | string | text | ||
publication_type | string | keyword | yes | |
publication_country | string | returned, not searchable | ||
publication_date | string | date | yes | |
publication_year | number | number | yes | |
publication_abstract | string | text | ||
publication_kind | string | keyword | yes | |
publication_application_number | integer | returned, not searchable | ||
series_code | integer | keyword | yes | |
rule_47_flag | boolean | boolean | yes | |
assignees | group (list of objects) | Nested group: name it in f ("assignees") for every field of the group, or "assignees.<field>" for one; query its fields in q with the same dotted names. | ||
assignees.assignee | string (URL) | returned, not searchable | Link to the detail record: https://patentref.io/api/v1/assignee/<id>/, with a "/" in the id written ":"; null when the id is null. Kind: none: the index has no search field for it, so a query on it matches nothing, as upstream; query the id field of the group instead. It comes back beside that id: f naming the id field or the whole group returns both, and f naming this link alone returns nothing. | |
assignees.assignee_id | string | keyword | ||
assignees.assignee_type | string | keyword | ||
assignees.assignee_individual_name_first | string | text with a keyword form | ||
assignees.assignee_individual_name_last | string | text with a keyword form | ||
assignees.assignee_organization | string | text with a keyword form | ||
assignees.assignee_location_id | string | keyword | ||
assignees.assignee_city | string | text with a keyword form | ||
assignees.assignee_state | string | text with a keyword form | ||
assignees.assignee_country | string | text with a keyword form | An ISO 3166-1 alpha-2 country code in capitals, as PatentsView gives it: the United Kingdom is "GB", and "UK" matches nothing. | |
assignees.assignee_sequence | integer | number | ||
cpc_at_issue | group (list of objects) | Nested group: name it in f ("cpc_at_issue") for every field of the group, or "cpc_at_issue.<field>" for one; query its fields in q with the same dotted names. | ||
cpc_at_issue.cpc_sequence | number | number | ||
cpc_at_issue.cpc_section_id | string | returned, not searchable | ||
cpc_at_issue.cpc_class | string (URL) | keyword | Link to the detail record: https://patentref.io/api/v1/cpc_class/<id>/, with a "/" in the id written ":"; null when the id is null. Kind: keyword: in q this name matches the id behind the link (for example "H01" for cpc_current.cpc_class), not the URL. | |
cpc_at_issue.cpc_class_id | string | keyword | ||
cpc_at_issue.cpc_subclass | string (URL) | keyword | Link to the detail record: https://patentref.io/api/v1/cpc_subclass/<id>/, with a "/" in the id written ":"; null when the id is null. Kind: keyword: in q this name matches the id behind the link (for example "H01" for cpc_current.cpc_class), not the URL. | |
cpc_at_issue.cpc_subclass_id | string | keyword | ||
cpc_at_issue.cpc_group | string (URL) | keyword | Link to the detail record: https://patentref.io/api/v1/cpc_group/<id>/, with a "/" in the id written ":"; null when the id is null. Kind: keyword: in q this name matches the id behind the link (for example "H01" for cpc_current.cpc_class), not the URL. | |
cpc_at_issue.cpc_group_id | string | keyword | ||
cpc_at_issue.action_date | string | date | ||
cpc_at_issue.document_number | integer | returned, not searchable | ||
cpc_current | group (list of objects) | Nested group: name it in f ("cpc_current") for every field of the group, or "cpc_current.<field>" for one; query its fields in q with the same dotted names. | ||
cpc_current.cpc_sequence | number | number | ||
cpc_current.cpc_section_id | string | returned, not searchable | ||
cpc_current.cpc_class | string (URL) | keyword | Link to the detail record: https://patentref.io/api/v1/cpc_class/<id>/, with a "/" in the id written ":"; null when the id is null. Kind: keyword: in q this name matches the id behind the link (for example "H01" for cpc_current.cpc_class), not the URL. | |
cpc_current.cpc_class_id | string | keyword | ||
cpc_current.cpc_subclass | string (URL) | keyword | Link to the detail record: https://patentref.io/api/v1/cpc_subclass/<id>/, with a "/" in the id written ":"; null when the id is null. Kind: keyword: in q this name matches the id behind the link (for example "H01" for cpc_current.cpc_class), not the URL. | |
cpc_current.cpc_subclass_id | string | keyword | ||
cpc_current.cpc_group | string (URL) | keyword | Link to the detail record: https://patentref.io/api/v1/cpc_group/<id>/, with a "/" in the id written ":"; null when the id is null. Kind: keyword: in q this name matches the id behind the link (for example "H01" for cpc_current.cpc_class), not the URL. | |
cpc_current.cpc_group_id | string | keyword | ||
cpc_current.action_date | string | returned, not searchable | ||
cpc_current.document_number | integer | returned, not searchable | ||
foreign_priority | group (list of objects) | Nested group: name it in f ("foreign_priority") for every field of the group, or "foreign_priority.<field>" for one; query its fields in q with the same dotted names. | ||
foreign_priority.priority_claim_kind | string | keyword | ||
foreign_priority.foreign_application_id | string | keyword | ||
foreign_priority.filing_date | string | date | ||
foreign_priority.foreign_country_filed | string | keyword | The two-letter office code printed on the grant: mostly the WIPO codes (GB, EP for the European Patent Office, WO for international applications), with "UK" on some older rows. | |
foreign_priority.priority_claim_sequence | integer | number | ||
gov_interest_organizations | group (list of objects) | Nested group: name it in f ("gov_interest_organizations") for every field of the group, or "gov_interest_organizations.<field>" for one; query its fields in q with the same dotted names. | ||
gov_interest_organizations.fedagency_name | string | text with a keyword form | ||
gov_interest_organizations.level_one | string | text with a keyword form | ||
gov_interest_organizations.level_two | string | text with a keyword form | ||
gov_interest_organizations.level_three | string | text with a keyword form | ||
granted_pregrant_crosswalk | group (list of objects) | Nested group: name it in f ("granted_pregrant_crosswalk") for every field of the group, or "granted_pregrant_crosswalk.<field>" for one; query its fields in q with the same dotted names. | ||
granted_pregrant_crosswalk.patent_id | string | keyword | ||
granted_pregrant_crosswalk.document_number | string | keyword | ||
granted_pregrant_crosswalk.application_number | string | keyword | ||
granted_pregrant_crosswalk.current_document_number_flag | boolean | boolean | ||
granted_pregrant_crosswalk.current_patent_id_flag | boolean | boolean | ||
inventors | group (list of objects) | Nested group: name it in f ("inventors") for every field of the group, or "inventors.<field>" for one; query its fields in q with the same dotted names. | ||
inventors.inventor | string (URL) | returned, not searchable | Link to the detail record: https://patentref.io/api/v1/inventor/<id>/, with a "/" in the id written ":"; null when the id is null. Kind: none: the index has no search field for it, so a query on it matches nothing, as upstream; query the id field of the group instead. It comes back beside that id: f naming the id field or the whole group returns both, and f naming this link alone returns nothing. | |
inventors.inventor_id | string | keyword | ||
inventors.inventor_name_first | string | text with a keyword form | ||
inventors.inventor_name_last | string | text with a keyword form | ||
inventors.inventor_gender_code | string | keyword | ||
inventors.inventor_location_id | string | keyword | ||
inventors.inventor_city | string | text with a keyword form | ||
inventors.inventor_state | string | text with a keyword form | ||
inventors.inventor_country | string | text with a keyword form | An ISO 3166-1 alpha-2 country code in capitals, as PatentsView gives it: the United Kingdom is "GB", and "UK" matches nothing. | |
inventors.inventor_sequence | integer | number | ||
ipcr | group (list of objects) | Nested group: name it in f ("ipcr") for every field of the group, or "ipcr.<field>" for one; query its fields in q with the same dotted names. | ||
ipcr.ipc_id | string | keyword | ||
ipcr.ipc_sequence | integer | number | ||
ipcr.ipc_action_date | string | date | ||
ipcr.ipc_section | string | keyword | ||
ipcr.ipc_class | string | keyword | ||
ipcr.ipc_subclass | string | keyword | ||
ipcr.ipc_main_group | string | keyword | ||
ipcr.ipc_subgroup | string | keyword | ||
ipcr.ipc_symbol_position | string | keyword | ||
ipcr.ipc_classification_data_source | string | keyword | ||
ipcr.ipc_classification_value | string | keyword | ||
ipcr.ipc_class_level | string | keyword | ||
ipcr.ipc_class_status | string | keyword | ||
pct_data | group (list of objects) | Nested group: name it in f ("pct_data") for every field of the group, or "pct_data.<field>" for one; query its fields in q with the same dotted names. | ||
pct_data.published_filed_date | string | date | ||
pct_data.pct_371_date | string | date | ||
pct_data.pct_102_date | string | date | ||
pct_data.application_kind | string | keyword | ||
pct_data.pct_doc_number | string | keyword | ||
pct_data.pct_doc_type | string | keyword | ||
pct_data.filed_country | string | keyword | The two-letter office code printed on the grant: mostly the WIPO codes (GB, EP for the European Patent Office, WO for international applications), with "UK" on some older rows. | |
us_related_documents | group (list of objects) | Nested group: name it in f ("us_related_documents") for every field of the group, or "us_related_documents.<field>" for one; query its fields in q with the same dotted names. | ||
us_related_documents.related_doc_type | string | keyword | ||
us_related_documents.related_doc_kind | string | keyword | ||
us_related_documents.related_doc_number | string | keyword | ||
us_related_documents.published_country | string | keyword | The two-letter office code printed on the grant: mostly the WIPO codes (GB, EP for the European Patent Office, WO for international applications), with "UK" on some older rows. | |
us_related_documents.related_doc_published_date | string | date | ||
us_related_documents.related_doc_sequence | integer | number | ||
us_parties | group (list of objects) | Nested group: name it in f ("us_parties") for every field of the group, or "us_parties.<field>" for one; query its fields in q with the same dotted names. | ||
us_parties.us_party_type | string | keyword | ||
us_parties.us_party_designation | string | text | ||
us_parties.location_id | string | keyword | ||
us_parties.us_party_name_first | string | text with a keyword form | ||
us_parties.us_party_name_last | string | text with a keyword form | ||
us_parties.us_party_organization | string | text with a keyword form | ||
us_parties.us_party_sequence | integer | number | ||
us_parties.applicant_authority | string | keyword | ||
uspc_at_issue | group (list of objects) | Nested group: name it in f ("uspc_at_issue") for every field of the group, or "uspc_at_issue.<field>" for one; query its fields in q with the same dotted names. | ||
uspc_at_issue.uspc_mainclass | string (URL) | keyword | Link to the detail record: https://patentref.io/api/v1/uspc_mainclass/<id>/, with a "/" in the id written ":"; null when the id is null. Kind: keyword: in q this name matches the id behind the link (for example "H01" for cpc_current.cpc_class), not the URL. | |
uspc_at_issue.uspc_mainclass_id | string | keyword | ||
uspc_at_issue.uspc_subclass | string (URL) | keyword | Link to the detail record: https://patentref.io/api/v1/uspc_subclass/<id>/, with a "/" in the id written ":"; null when the id is null. Kind: keyword: in q this name matches the id behind the link (for example "H01" for cpc_current.cpc_class), not the URL. | |
uspc_at_issue.uspc_subclass_id | string | keyword | ||
uspc_at_issue.uspc_sequence | integer | number | ||
wipo | group (list of objects) | Nested group: name it in f ("wipo") for every field of the group, or "wipo.<field>" for one; query its fields in q with the same dotted names. | ||
wipo.wipo_field_id | string | keyword | ||
wipo.wipo_field | string | keyword | ||
wipo.wipo_sector_title | string | keyword | ||
wipo.wipo_sequence | integer | number |
Machine-readable: this page's data as JSON, and the operation in openapi.json (operationId PublicationList).