Cancer.gov Site-Wide Search API

The search service behind cancer.gov's own site search: full-text search and autosuggest across NCI web content, with per-collection scoping and status reporting. No credential required.

Operations 4

GET /Autosuggest/{collection}/{language}/{term} Retrieves a collection of potential search terms based on the value passed as term. #
GET /Autosuggest/status Provides an endpoint for checking that the various services which make up the API (and thus the API itself) are all in a state where they can return information. #
GET /Search/{collection}/{language}/{term} Gets the results of a search #
GET /Search/status Provides an endpoint for checking that the various services which make up the API (and thus the API itself) are all in a state where they can return information. #

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/sitewide-search-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

cancer-gov-sitewide-search-openapi.yml Raw ↑
x-generator: NSwag v13.20.0.0 (NJsonSchema v10.9.0.0 (Newtonsoft.Json v13.0.0.0))
openapi: 3.0.0
info:
  title: Site-Wide Search API
  version: 1.0.0
  x-apis-io-source: https://webapis.cancer.gov/sitewidesearch/v1/swagger/v1/swagger.json
  x-apis-io-harvested: '2026-09-05'
  x-apis-io-method: searched
servers:
- url: https://webapis.cancer.gov/sitewidesearch/v1
  description: Production host (resolved from the URL this specification was served from; the published document
    carries '/sitewidesearch/v1')
paths:
  /Autosuggest/{collection}/{language}/{term}:
    get:
      tags:
      - Autosuggest
      summary: Retrieves a collection of potential search terms based on the value passed as term.
      description: 'Collection is of the form {sitename}_{lang_code}.  Currently, {sitename} is always "cgov" and
        {lang_code} may

        be either "en" (English) or "es" (Español).'
      operationId: Autosuggest_Get
      parameters:
      - name: collection
        in: path
        required: true
        description: The search collection/strategy to use. This defines the ES template to use.
        schema:
          type: string
        x-position: 1
      - name: language
        in: path
        required: true
        description: The language to use. Only "en" and "es" are currently supported.
        schema:
          type: string
        x-position: 2
      - name: term
        in: path
        required: true
        description: The search term to use as a basis for search terms
        schema:
          type: string
        x-position: 3
      - name: size
        in: query
        description: The maximum number of results to return.
        schema:
          type: integer
          format: int32
          default: 10
        x-position: 4
      responses:
        '200':
          description: A Suggestions collection of Suggestion objects.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Suggestions'
  /Autosuggest/status:
    get:
      tags:
      - Autosuggest
      summary: 'Provides an endpoint for checking that the various services which make up the API

        (and thus the API itself) are all in a state where they can return information.'
      operationId: Autosuggest_GetStatus
      responses:
        '200':
          description: "The contents of SearchController.HEALTHY_STATUS ('alive!') if\n            all services\
            \ are running. If unhealthy services are found, APIErrorException is thrown\n            with HTTPStatusCode\
            \ set to 500."
          content:
            application/json:
              schema:
                type: string
  /Search/{collection}/{language}/{term}:
    get:
      tags:
      - Search
      summary: Gets the results of a search
      operationId: Search_Get
      parameters:
      - name: collection
        in: path
        required: true
        description: The search collection/strategy to use.
        schema:
          type: string
        x-position: 1
      - name: language
        in: path
        required: true
        description: The language to use. Only "en" and "es" are currently supported.
        schema:
          type: string
        x-position: 2
      - name: term
        in: path
        required: true
        description: The search term to search for
        schema:
          type: string
        x-position: 3
      - name: from
        in: query
        description: The offset of results to retrieve
        schema:
          type: integer
          format: int32
          default: 0
        x-position: 4
      - name: size
        in: query
        description: The number of items to retrieve
        schema:
          type: integer
          format: int32
          default: 10
        x-position: 5
      - name: site
        in: query
        style: form
        explode: true
        description: An optional parameter used to limit the number of items returned based on site.
        schema:
          type: array
          nullable: true
          items:
            type: string
        x-position: 6
      responses:
        '200':
          description: A SiteWideSearchResults collection object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SiteWideSearchResults'
  /Search/status:
    get:
      tags:
      - Search
      summary: 'Provides an endpoint for checking that the various services which make up the API

        (and thus the API itself) are all in a state where they can return information.'
      operationId: Search_GetStatus
      responses:
        '200':
          description: "The contents of SearchController.HEALTHY_STATUS ('alive!') if\n            all services\
            \ are running. If unhealthy services are found, APIErrorException is thrown\n            with HTTPStatusCode\
            \ set to 500."
          content:
            application/json:
              schema:
                type: string
components:
  schemas:
    Suggestions:
      type: object
      description: 'Container for the the list of potential search terms returned

        by the SiteWideSearch.AutosuggestController.'
      additionalProperties: false
      properties:
        results:
          type: array
          description: The set of potential search items.
          nullable: true
          items:
            $ref: '#/components/schemas/Suggestion'
        total:
          type: integer
          description: The total number of matching search terms available.
          format: int64
    Suggestion:
      type: object
      description: Represents a single Autosuggest suggestion.
      additionalProperties: false
      properties:
        term:
          type: string
          description: The Backend ID for this item
          nullable: true
    SiteWideSearchResults:
      type: object
      description: Represents the results of a sitewide search operation.
      additionalProperties: false
      properties:
        results:
          type: array
          description: Array of SiteWideSearchResult objects matching the search. May be empty.
          nullable: true
          items:
            $ref: '#/components/schemas/SiteWideSearchResult'
        totalResults:
          type: integer
          description: The total number of results matching the search criteria.
          format: int64
    SiteWideSearchResult:
      type: object
      description: Represents a Single Site-Wide Search Result
      additionalProperties: false
      properties:
        title:
          type: string
          description: The title of this item
          nullable: true
        url:
          type: string
          description: The URL for this result
          nullable: true
        contentType:
          type: string
          description: Gets the content type of this result if there is one
          nullable: true
        description:
          type: string
          description: Gets the description of this result
          nullable: true