Lens Patents API

Search and retrieve global patent records.

Operations 4

POST /patent/search Search Patent Documents #
GET /patent/search Get Patent Documents #
POST /patent/aggregate Patent aggregations search #
GET /schema/patent Get patent response schema #

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.
All 92 tools →

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

lens-patents-api-openapi.yml Raw ↑
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)