Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/lens:lens-patents-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
OpenAPI Specification
openapi: 3.2.0
info:
description: 'This service provides access to the full corpus of Lens scholarly works and Patent documents using the flexibility and convenience of a REST API. The versioned API allows you to combine and perform several search operations to programmatically retrieve results. The API documentation provides guidelines for getting you started with the API and details the request/response schema with examples.
The Lens uses token-based API authentication. You can request access to the Lens Scholarly API, Lens Patent API or PatSeq Bulk Downloads and manage your access tokens from your Lens user profile.'
version: ''
title: Lens Patents API
license:
name: Terms of Use
url: https://about.lens.org/lens-api-terms-of-use/
tags:
- name: patents
description: Patent Operations
paths:
/patent/search:
post:
security:
- Authorisation: []
tags:
- patents
summary: Search Patent Documents
operationId: search_patent
responses:
'200':
description: Valid response from the server
content:
application/json:
schema:
$ref: '#/components/schemas/PatentApiResponse'
'204':
description: No Content
'400':
description: Malformed request or incorrect fields/values provided
'401':
description: Authentication credentials might be incorrect or missing
'415':
description: Request body is not json or Content Type is not application/json
'404':
description: Incorrect Resource URL / Empty Result for supplied queries / Expired scroll_id
'429':
description: You have exceeded the number of allowed calls
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatentSearchRequest'
description: Search Request Object
required: true
get:
tags:
- patents
summary: Get Patent Documents
operationId: search_get_patents
parameters:
- name: token
in: query
required: true
schema:
type: string
- name: query
in: query
description: Search Query (e.g. Fidget Spinner)
required: true
schema:
type: string
- name: size
in: query
description: Result size
required: false
schema:
type: integer
- name: from
in: query
description: Offset from the first result
required: false
schema:
type: integer
- name: include
in: query
description: Fields to include in response(e.g. biblio,legal_status)
required: false
schema:
type: string
- name: exclude
in: query
description: Fields to exclude in response (e.g. families,biblio.application_reference)
required: false
schema:
type: string
- name: sort
in: query
description: Sort fields (e.g. desc(date_published),asc(created))
required: false
schema:
type: string
responses:
'200':
description: Valid response from the server
content:
application/json:
schema:
$ref: '#/components/schemas/PatentApiResponse'
'204':
description: No Content
'400':
description: Malformed request or incorrect fields/values provided
'401':
description: Authentication credentials might be incorrect or missing
'415':
description: Request body is not json or Content Type is not application/json
'404':
description: Incorrect Resource URL / Empty Result for supplied queries / Expired scroll_id
'429':
description: You have exceeded the number of allowed calls
/patent/aggregate:
post:
security:
- Authorisation: []
tags:
- patents
summary: Patent aggregations search
operationId: aggregate_patent
responses:
'200':
description: Valid response from the server
'400':
description: Malformed request or incorrect fields/values provided
'401':
description: Authentication credentials might be incorrect or missing
'415':
description: Request body is not json or Content Type is not application/json
'404':
description: Incorrect Resource URL / Empty Result for supplied queries / Expired scroll_id
'429':
description: You have exceeded the number of allowed calls
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AggregationRequestPatent'
description: Search and Aggregation Request Object
required: true
/schema/patent:
get:
security:
- Authorisation: []
tags:
- patents
summary: Get patent response schema
operationId: schema_patent
responses:
'200':
description: Valid response from the server
'401':
description: Authentication credentials might be incorrect or missing
components:
schemas:
PatentApiResponse:
type: object
properties:
total:
type: integer
description: Total number of search results exists.
results:
type: integer
description: Number of results in this response.
data:
type: array
description: List of Patent Documents
items:
type: object
properties:
lens_id:
type: string
jurisdiction:
type: string
doc_number:
type: number
kind:
type: string
date_published:
type: string
doc_key:
type: string
docdb_id:
type: number
lang:
type: string
biblio:
type: object
properties:
publication_reference:
type: object
properties:
jurisdiction:
type: string
doc_number:
type: number
kind:
type: string
date:
type: string
application_reference:
type: object
properties:
jurisdiction:
type: string
doc_number:
type: number
kind:
type: string
date:
type: string
application_reference:
type: string
priority_claims:
type: object
properties:
claims:
type: array
items:
type: object
properties:
jurisdiction:
type: string
doc_number:
type: number
kind:
type: string
date:
type: string
sequence:
type: integer
invention_title:
type: object
properties:
text:
type: string
lang:
type: string
parties:
type: object
properties:
applicants:
type: object
properties:
residence:
type: string
extracted_name.value:
type: string
extracted_address:
type: string
inventors:
type: object
properties:
residence:
type: string
sequence:
type: string
extracted_name.value:
type: string
extracted_address:
type: string
agents:
type: object
properties:
extracted_name.value:
type: string
extracted_address:
type: string
extracted_country:
type: string
owners_all:
type: object
properties:
recorded_date:
type: string
execution_date:
type: string
extracted_name.value:
type: string
extracted_address:
type: string
extracted_country:
type: string
classifications_ipcr.classifications.symbol:
type: string
classifications_cpc.classifications.symbol:
type: string
classifications_national.classifications.symbol:
type: string
references_cited:
type: object
properties:
citations:
type: array
items:
type: object
properties:
sequence:
type: string
patcit:
type: object
properties:
document_id:
type: object
properties:
jurisdiction:
type: string
doc_number:
type: number
kind:
type: string
date:
type: string
patcit.lens_id:
type: string
nplcit:
type: object
properties:
text:
type: string
lens_id:
type: string
external_ids:
type: array
items:
type: string
npl_resolved_count:
type: string
npl_count:
type: string
cited_by:
type: object
properties:
patents:
type: object
properties:
document_id:
type: object
properties:
jurisdiction:
type: string
doc_number:
type: number
kind:
type: string
date:
type: string
lens_id:
type: string
families:
type: object
properties:
simple_family:
type: object
properties:
members:
type: object
properties:
document_id:
type: object
properties:
jurisdiction:
type: string
doc_number:
type: number
kind:
type: string
date:
type: string
lens_id:
type: string
extended_family:
type: object
properties:
members:
type: object
properties:
document_id:
type: object
properties:
jurisdiction:
type: string
doc_number:
type: number
kind:
type: string
date:
type: string
lens_id:
type: string
legal_status:
type: object
properties:
granted:
type: boolean
grant_date:
type: string
application_expiry_date:
type: string
anticipated_term_date:
type: string
has_disclaimer:
type: boolean
patent_status:
type: string
publication_count:
type: number
has_spc:
type: string
discontinuation_date:
type: string
calculation_log:
type: array
items:
type: string
abstract:
type: object
properties:
text:
type: string
lang:
type: string
claims:
type: object
properties:
claim_text:
type: string
claims:
type: string
lang:
type: string
description:
type: object
properties:
text:
type: string
lang:
type: string
publication_type:
type: string
AggregationRequestPatent:
type: object
properties:
query:
type: object
example:
match:
title: Malaria
aggregations:
type: object
example:
publication_types:
cardinality:
field: publication_type
size:
type: integer
example: 0
description: Number of items per page
PatentSearchRequest:
type: object
properties:
query:
type: object
example:
match:
title: Fidget Spinner
description: Json query object
size:
type: integer
example: 5
description: Number of items per page
from:
type: integer
example: 0
description: Offset from the first result
include:
type: array
example:
- biblio.invention_title
- legal_status
- biblio.priority_claims
description: Fields to be included in result
items:
type: string
sort:
type: array
example:
- created: desc
- year_published: asc
description: Array of object mappings to specify field sorting
items:
type: object
exclude:
type: array
example: null
description: Fields to be excluded from result
items:
type: string
scroll:
type: string
example: null
description: Scroll context time in minute (e.g. 1m)
scroll_id:
type: string
description: For scroll based pagination, provide scroll_id from previous response body.
example: null
title: PatentSearchRequest
securitySchemes:
Authorisation:
type: apiKey
name: Authorization
description: Your access token created from your Lens user profile page
in: header
externalDocs:
description: Privacy Policy
url: https://about.lens.org/policies/#privacypolicy
x-provenance:
method: harvested
publisher: Lens
source: https://api.lens.org/swagger.yaml
note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
stamped by stamp-openapi-provenance.py (roadmap#793)