Unpaywall · Capability

Unpaywall API — Search

Unpaywall API — Search. 1 operations. Lead operation: Search Articles by Title. Self-contained Naftiko capability covering one Unpaywall business surface.

Run with Naftiko UnpaywallSearch

What You Can Do

GET
Searchbytitle — Search Articles by Title
/v1/search

MCP Tools

search-articles-title

Search Articles by Title

read-only idempotent

Capability Spec

unpaywall-search.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Unpaywall API — Search
  description: 'Unpaywall API — Search. 1 operations. Lead operation: Search Articles by Title. Self-contained Naftiko capability
    covering one Unpaywall business surface.'
  tags:
  - Unpaywall
  - Search
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    UNPAYWALL_API_KEY: UNPAYWALL_API_KEY
capability:
  consumes:
  - type: http
    namespace: unpaywall-search
    baseUri: https://api.unpaywall.org/v2
    description: Unpaywall API — Search business capability. Self-contained, no shared references.
    resources:
    - name: search
      path: /search/
      operations:
      - name: searchbytitle
        method: GET
        description: Search Articles by Title
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: query
          in: query
          type: string
          description: Title search query. Supports AND (default), OR, phrase matching ("exact phrase"), and negation (-term).
          required: true
        - name: email
          in: query
          type: string
          description: Your email address — required for all API calls
          required: true
        - name: is_oa
          in: query
          type: boolean
          description: Filter results to open access articles only (true) or closed access only (false)
        - name: page
          in: query
          type: integer
          description: Pagination page number (50 results per page)
  exposes:
  - type: rest
    namespace: unpaywall-search-rest
    port: 8080
    description: REST adapter for Unpaywall API — Search. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/search
      name: search
      description: REST surface for search.
      operations:
      - method: GET
        name: searchbytitle
        description: Search Articles by Title
        call: unpaywall-search.searchbytitle
        with:
          query: rest.query
          email: rest.email
          is_oa: rest.is_oa
          page: rest.page
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: unpaywall-search-mcp
    port: 9090
    transport: http
    description: MCP adapter for Unpaywall API — Search. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: search-articles-title
      description: Search Articles by Title
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: unpaywall-search.searchbytitle
      with:
        query: tools.query
        email: tools.email
        is_oa: tools.is_oa
        page: tools.page
      outputParameters:
      - type: object
        mapping: $.