Lens Collections API

Collection Operations

Operations 2

POST /collections/{collection_id} Search into a collection #
GET /collections/{collection_id} Get collection result #

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-collections-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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-collections-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 Collections API
  license:
    name: Terms of Use
    url: https://about.lens.org/lens-api-terms-of-use/
tags:
- name: Collections
  description: Collection Operations
paths:
  /collections/{collection_id}:
    post:
      security:
      - Authorisation: []
      tags:
      - Collections
      summary: Search into a collection
      operationId: collections
      parameters:
      - name: collection_id
        in: path
        required: true
        description: Collection Id
        schema:
          type: integer
      responses:
        '200':
          description: Valid response from the server
        '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/ScholarlySearchRequest'
        description: Search Request Object
        required: true
    get:
      tags:
      - Collections
      summary: Get collection result
      operationId: collection_get
      parameters:
      - name: collection_id
        in: path
        required: true
        description: Collection Id
        schema:
          type: integer
      - name: token
        in: query
        required: true
        schema:
          type: string
      - name: query
        in: query
        description: Search Query (e.g. Malaria)
        required: false
        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. title,date_published)
        required: false
        schema:
          type: string
      - name: exclude
        in: query
        description: Fields to exclude in response (e.g. title,date_published)
        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
        '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
components:
  schemas:
    ScholarlySearchRequest:
      type: object
      properties:
        query:
          type: object
          example:
            match:
              title: Malaria
          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:
          - title
          - lens_id
          - patent_citations_count
          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: ScholarlySearchRequest
  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)