Google Custom Search · Capability

Google Custom Search JSON API — Customsearch

Google Custom Search JSON API — Customsearch. 2 operations. Lead operation: Google Custom Search Custom Search. Self-contained Naftiko capability covering one Google Custom Search business surface.

Run with Naftiko Google Custom SearchCustomsearch

What You Can Do

GET
Searchcustomsearch — Google Custom Search Custom Search
/v1/customsearch/v1
GET
Searchsiterestrict — Google Custom Search Custom Search Site Restricted
/v1/customsearch/v1/siterestrict

MCP Tools

google-custom-search-custom-search

Google Custom Search Custom Search

read-only idempotent
google-custom-search-custom-search-2

Google Custom Search Custom Search Site Restricted

read-only idempotent

Capability Spec

openapi-customsearch.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Google Custom Search JSON API — Customsearch
  description: 'Google Custom Search JSON API — Customsearch. 2 operations. Lead operation: Google Custom Search Custom Search.
    Self-contained Naftiko capability covering one Google Custom Search business surface.'
  tags:
  - Google Custom Search
  - Customsearch
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    GOOGLE_CUSTOM_SEARCH_API_KEY: GOOGLE_CUSTOM_SEARCH_API_KEY
capability:
  consumes:
  - type: http
    namespace: openapi-customsearch
    baseUri: https://customsearch.googleapis.com
    description: Google Custom Search JSON API — Customsearch business capability. Self-contained, no shared references.
    resources:
    - name: customsearch-v1
      path: /customsearch/v1
      operations:
      - name: searchcustomsearch
        method: GET
        description: Google Custom Search Custom Search
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: key
          in: query
          type: string
          description: API key.
          required: true
        - name: cx
          in: query
          type: string
          description: The Programmable Search Engine ID.
          required: true
        - name: q
          in: query
          type: string
          description: The search query.
          required: true
        - name: num
          in: query
          type: integer
          description: Number of results to return (1-10).
        - name: start
          in: query
          type: integer
          description: The index of the first result to return.
        - name: lr
          in: query
          type: string
          description: Language restriction.
        - name: safe
          in: query
          type: string
          description: Safe search setting.
        - name: searchType
          in: query
          type: string
          description: Type of search.
        - name: imgSize
          in: query
          type: string
          description: Image size filter.
        - name: imgType
          in: query
          type: string
          description: Image type filter.
        - name: dateRestrict
          in: query
          type: string
          description: Restrict results by date.
        - name: sort
          in: query
          type: string
          description: Sort expression.
    - name: customsearch-v1-siterestrict
      path: /customsearch/v1/siterestrict
      operations:
      - name: searchsiterestrict
        method: GET
        description: Google Custom Search Custom Search Site Restricted
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: key
          in: query
          type: string
          required: true
        - name: cx
          in: query
          type: string
          required: true
        - name: q
          in: query
          type: string
          required: true
        - name: num
          in: query
          type: integer
        - name: start
          in: query
          type: integer
    authentication:
      type: apikey
      key: key
      value: '{{env.GOOGLE_CUSTOM_SEARCH_API_KEY}}'
      placement: query
  exposes:
  - type: rest
    namespace: openapi-customsearch-rest
    port: 8080
    description: REST adapter for Google Custom Search JSON API — Customsearch. One Spectral-compliant resource per consumed
      operation, prefixed with /v1.
    resources:
    - path: /v1/customsearch/v1
      name: customsearch-v1
      description: REST surface for customsearch-v1.
      operations:
      - method: GET
        name: searchcustomsearch
        description: Google Custom Search Custom Search
        call: openapi-customsearch.searchcustomsearch
        with:
          key: rest.key
          cx: rest.cx
          q: rest.q
          num: rest.num
          start: rest.start
          lr: rest.lr
          safe: rest.safe
          searchType: rest.searchType
          imgSize: rest.imgSize
          imgType: rest.imgType
          dateRestrict: rest.dateRestrict
          sort: rest.sort
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/customsearch/v1/siterestrict
      name: customsearch-v1-siterestrict
      description: REST surface for customsearch-v1-siterestrict.
      operations:
      - method: GET
        name: searchsiterestrict
        description: Google Custom Search Custom Search Site Restricted
        call: openapi-customsearch.searchsiterestrict
        with:
          key: rest.key
          cx: rest.cx
          q: rest.q
          num: rest.num
          start: rest.start
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: openapi-customsearch-mcp
    port: 9090
    transport: http
    description: MCP adapter for Google Custom Search JSON API — Customsearch. One tool per consumed operation, routed inline
      through this capability's consumes block.
    tools:
    - name: google-custom-search-custom-search
      description: Google Custom Search Custom Search
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: openapi-customsearch.searchcustomsearch
      with:
        key: tools.key
        cx: tools.cx
        q: tools.q
        num: tools.num
        start: tools.start
        lr: tools.lr
        safe: tools.safe
        searchType: tools.searchType
        imgSize: tools.imgSize
        imgType: tools.imgType
        dateRestrict: tools.dateRestrict
        sort: tools.sort
      outputParameters:
      - type: object
        mapping: $.
    - name: google-custom-search-custom-search-2
      description: Google Custom Search Custom Search Site Restricted
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: openapi-customsearch.searchsiterestrict
      with:
        key: tools.key
        cx: tools.cx
        q: tools.q
        num: tools.num
        start: tools.start
      outputParameters:
      - type: object
        mapping: $.