Zenserp Lists API

Reference list endpoints publishing the enumerations the Search API parameters must draw from: supported interface languages (hl), countries (gl), canonical Google geo-targeting locations, and search-engine domains.

OpenAPI Specification

zenserp-lists-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Zenserp Lists API
  description: Reference list endpoints returning the language (hl), country (gl), geo location and search
    engine values accepted by the Zenserp Search API.
  version: '2.0'
  contact:
    name: Zenserp Support
    url: https://zenserp.com/
    email: support@zenserp.com
  termsOfService: https://zenserp.com/terms-of-service/
  x-logo:
    url: https://zenserp.com/wp-content/uploads/2019/07/zenserp-logo.png
  x-source: https://app.zenserp.com/documentation (endpoint list decompiled from the docs SPA bundle /js/app.js)
    + live unauthenticated probes 2026-08-13
servers:
- url: https://app.zenserp.com/api/v2
  description: Zenserp API v2
security:
- apiKeyHeader: []
- apiKeyQuery: []
tags:
- name: Lists
  description: Reference list endpoints for supported languages, countries, locations, and engines.
paths:
  /hl:
    get:
      operationId: listLanguages
      summary: Google Languages (hl)
      description: This endpoint gives you access to all supported hl parameters.
      tags:
      - Lists
      responses:
        '200':
          description: Array of supported language objects.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/LanguageItem'
        '403':
          description: Forbidden -- API key is wrong, you don't have enough requests or you don't have
            enough rights to access it.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not Found -- There were no results found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal Server Error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /gl:
    get:
      operationId: listCountries
      summary: Google Countries (gl)
      description: This endpoint gives you access to all supported gl parameters.
      tags:
      - Lists
      responses:
        '200':
          description: Array of supported country objects.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CountryItem'
        '403':
          description: Forbidden -- API key is wrong, you don't have enough requests or you don't have
            enough rights to access it.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not Found -- There were no results found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal Server Error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /locations:
    get:
      operationId: listLocations
      summary: Geo Locations
      description: This endpoint gives you access to all supported geo locations. A list of all the locations
        can be found in the CSVs provided by Google at https://developers.google.com/adwords/api/docs/appendix/geotargeting
      tags:
      - Lists
      responses:
        '200':
          description: Array of location objects.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/LocationItem'
        '403':
          description: Forbidden -- API key is wrong, you don't have enough requests or you don't have
            enough rights to access it.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not Found -- There were no results found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal Server Error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /search_engines:
    get:
      operationId: listEngines
      summary: Google Search Engines
      description: This endpoint gives you access to all supported google search engines.
      tags:
      - Lists
      responses:
        '200':
          description: Array of search engine objects.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/EngineItem'
        '403':
          description: Forbidden -- API key is wrong, you don't have enough requests or you don't have
            enough rights to access it.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not Found -- There were no results found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal Server Error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    EngineItem:
      type: object
      properties:
        name:
          type: string
          description: Human-readable engine name.
        value:
          type: string
          description: Engine identifier for use with the engine parameter.
    CountryItem:
      type: object
      properties:
        name:
          type: string
          description: Human-readable country name.
        code:
          type: string
          description: ISO 3166-1 alpha-2 country code (gl value).
    LanguageItem:
      type: object
      properties:
        name:
          type: string
          description: Human-readable language name.
        code:
          type: string
          description: Language code (hl value).
    LocationItem:
      type: object
      properties:
        name:
          type: string
          description: Canonical location string for use with the location parameter.
        country_code:
          type: string
          description: Country this location is in.
    ErrorResponse:
      type: object
      description: 'Zenserp error envelope for request-level failures. Verbatim example from the live
        API: {"error": "No apikey provided."}'
      properties:
        error:
          type: string
          description: Human-readable error message.
          example: No apikey provided.
    ValidationErrorResponse:
      type: object
      description: Zenserp validation error envelope, documented verbatim in the "Error Codes" section
        of the Zenserp documentation.
      properties:
        errors:
          type: array
          description: One object per failing request, keyed by parameter name.
          items:
            type: object
            additionalProperties:
              type: string
      example:
        errors:
        - q: no query specified.
          search_engine: search engine not found.
  securitySchemes:
    apiKeyHeader:
      type: apiKey
      in: header
      name: apikey
      description: API key passed in the request header.
    apiKeyQuery:
      type: apiKey
      in: query
      name: apikey
      description: API key passed as a query parameter.