> ## Documentation Index
> Fetch the complete documentation index at: https://docs.surnex.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Get v1dataforseocatalogservices



## OpenAPI

````yaml https://api.surnex.io/.well-known/openapi.json get /v1/dataforseo/catalog/services/{service}
openapi: 3.1.0
info:
  title: Surnex API
  version: 0.2.0
servers:
  - url: https://api.surnex.io
security: []
paths:
  /v1/dataforseo/catalog/services/{service}:
    get:
      tags:
        - v1
      parameters:
        - schema:
            type: string
            minLength: 1
          required: true
          name: service
          in: path
        - schema:
            anyOf:
              - type: boolean
              - type: string
                enum:
                  - 'true'
              - type: string
                enum:
                  - 'false'
          required: false
          name: discover
          in: query
        - schema:
            type: string
            enum:
              - static
              - discovered
              - mixed
          required: false
          name: discovery_source
          in: query
        - schema:
            type: string
            minLength: 1
            maxLength: 128
          required: false
          name: search
          in: query
        - schema:
            type: string
            minLength: 1
            description: Service category used for grouping and filtering
          required: false
          description: Service category used for grouping and filtering
          name: category
          in: query
        - schema:
            anyOf:
              - type: boolean
              - type: string
                enum:
                  - 'true'
              - type: string
                enum:
                  - 'false'
          required: false
          name: refresh_discovery
          in: query
        - schema:
            type: string
            enum:
              - GET
              - POST
            description: HTTPMethod
          required: false
          description: HTTPMethod
          name: method
          in: query
        - schema:
            type: string
            enum:
              - live
              - task_post
              - task_get
              - tasks_ready
              - tasks_fixed
            description: DataForSeoOperationMode
          required: false
          description: DataForSeoOperationMode
          name: mode
          in: query
        - schema:
            type: string
            enum:
              - method
              - mode
              - discovery_source
            description: >-
              Optional grouping key for response sections. When set, operations
              are additionally bucketed into `groups` without removing paginated
              `operations`. Method keys are emitted in API-defined order, mode
              keys are emitted in API-defined order, discovery source keys are
              emitted as `static`, `discovered`.
          required: false
          description: >-
            Optional grouping key for response sections. When set, operations
            are additionally bucketed into `groups` without removing paginated
            `operations`. Method keys are emitted in API-defined order, mode
            keys are emitted in API-defined order, discovery source keys are
            emitted as `static`, `discovered`.
          name: group_by
          in: query
        - schema:
            type: string
            enum:
              - operation_path
              - method
              - mode
              - discovery_source
            default: operation_path
          required: false
          name: sort
          in: query
        - schema:
            type: string
            enum:
              - asc
              - desc
            default: asc
          required: false
          name: order
          in: query
        - schema:
            type: integer
            exclusiveMinimum: 0
            maximum: 250
            default: 100
          required: false
          name: limit
          in: query
        - schema:
            type:
              - integer
              - 'null'
            minimum: 0
            default: 0
          required: false
          name: offset
          in: query
      responses:
        '200':
          description: >-
            Service-scoped DataForSEO operation catalog with deterministic
            grouping keys when `group_by` is used (`method`, `mode`, or
            `discovery_source`).
          content:
            application/json:
              schema:
                type: object
                properties:
                  generated_at:
                    type: string
                  discovery_context:
                    type: object
                    properties:
                      requested_discovery:
                        type: boolean
                      force_refresh_requested:
                        type: boolean
                      source:
                        type: string
                        enum:
                          - none
                          - cache
                          - provider
                          - mixed
                      discovered_at:
                        type:
                          - string
                          - 'null'
                      cache_key:
                        type: string
                      cache_ttl_seconds:
                        type: integer
                        exclusiveMinimum: 0
                      cache_available:
                        type: boolean
                      cache_hit:
                        type: boolean
                      provider_calls:
                        type: integer
                        minimum: 0
                    required:
                      - requested_discovery
                      - force_refresh_requested
                      - source
                      - discovered_at
                      - cache_key
                      - cache_ttl_seconds
                      - cache_available
                      - cache_hit
                      - provider_calls
                  service:
                    type: object
                    properties:
                      service:
                        type: string
                        minLength: 1
                      title:
                        type: string
                        minLength: 1
                      category:
                        type: string
                        minLength: 1
                        description: Service category used for grouping and filtering
                      description:
                        type: string
                      examples:
                        type: array
                        items:
                          type: string
                      discovery_source:
                        type: string
                        enum:
                          - static
                          - discovered
                          - mixed
                        description: CatalogDiscoverySource
                      operations:
                        type: array
                        items:
                          type: object
                          properties:
                            service:
                              type: string
                              minLength: 1
                            operation_path:
                              type: string
                              minLength: 1
                            path_template:
                              type: string
                              minLength: 1
                            method:
                              type: string
                              enum:
                                - GET
                                - POST
                              description: HTTPMethod
                            mode:
                              type: string
                              enum:
                                - live
                                - task_post
                                - task_get
                                - tasks_ready
                                - tasks_fixed
                              description: DataForSeoOperationMode
                            description:
                              type: string
                            discovery_source:
                              type: string
                              enum:
                                - static
                                - discovered
                          required:
                            - service
                            - operation_path
                            - path_template
                            - method
                            - mode
                            - description
                    required:
                      - service
                      - title
                      - category
                      - description
                      - examples
                      - operations
                  operations:
                    type: array
                    items:
                      type: object
                      properties:
                        service:
                          type: string
                          minLength: 1
                        operation_path:
                          type: string
                          minLength: 1
                        path_template:
                          type: string
                          minLength: 1
                        method:
                          type: string
                          enum:
                            - GET
                            - POST
                          description: HTTPMethod
                        mode:
                          type: string
                          enum:
                            - live
                            - task_post
                            - task_get
                            - tasks_ready
                            - tasks_fixed
                          description: DataForSeoOperationMode
                        description:
                          type: string
                        discovery_source:
                          type: string
                          enum:
                            - static
                            - discovered
                      required:
                        - service
                        - operation_path
                        - path_template
                        - method
                        - mode
                        - description
                        - discovery_source
                  summary:
                    type: object
                    properties:
                      total_operations:
                        type: integer
                        minimum: 0
                      by_discovery_source:
                        type: object
                        properties:
                          static:
                            type: integer
                            minimum: 0
                          discovered:
                            type: integer
                            minimum: 0
                        required:
                          - static
                          - discovered
                      by_method:
                        type: object
                        properties:
                          GET:
                            type: integer
                            minimum: 0
                          POST:
                            type: integer
                            minimum: 0
                        required:
                          - GET
                          - POST
                      by_mode:
                        type: object
                        properties:
                          live:
                            type: integer
                            minimum: 0
                          task_post:
                            type: integer
                            minimum: 0
                          task_get:
                            type: integer
                            minimum: 0
                          tasks_ready:
                            type: integer
                            minimum: 0
                          tasks_fixed:
                            type: integer
                            minimum: 0
                        required:
                          - live
                          - task_post
                          - task_get
                          - tasks_ready
                          - tasks_fixed
                    required:
                      - total_operations
                      - by_discovery_source
                      - by_method
                      - by_mode
                  supports_custom_paths:
                    type: boolean
                  supports_any_dataforseo_path:
                    type: boolean
                  limit:
                    type: integer
                    exclusiveMinimum: 0
                  offset:
                    type: integer
                    minimum: 0
                  returned:
                    type: integer
                    minimum: 0
                  has_more:
                    type: boolean
                  next_offset:
                    type:
                      - integer
                      - 'null'
                    minimum: 0
                  groups:
                    type: object
                    additionalProperties:
                      type: array
                      items:
                        type: object
                        properties:
                          service:
                            type: string
                            minLength: 1
                          operation_path:
                            type: string
                            minLength: 1
                          path_template:
                            type: string
                            minLength: 1
                          method:
                            type: string
                            enum:
                              - GET
                              - POST
                            description: HTTPMethod
                          mode:
                            type: string
                            enum:
                              - live
                              - task_post
                              - task_get
                              - tasks_ready
                              - tasks_fixed
                            description: DataForSeoOperationMode
                          description:
                            type: string
                          discovery_source:
                            type: string
                            enum:
                              - static
                              - discovered
                        required:
                          - service
                          - operation_path
                          - path_template
                          - method
                          - mode
                          - description
                          - discovery_source
                    description: >-
                      Grouped operation buckets keyed by the selected `group_by`
                      value. Omitted when `group_by` is not requested.
                required:
                  - generated_at
                  - discovery_context
                  - service
                  - operations
                  - summary
                  - supports_custom_paths
                  - supports_any_dataforseo_path
                  - limit
                  - offset
                  - returned
                  - has_more
                  - next_offset
              examples:
                serviceOperations:
                  value:
                    generated_at: '2026-02-24T00:00:00Z'
                    service:
                      service: serp
                      category: serp
                      title: SERP API
                      description: Search engine results across web and vertical engines
                      discovery_source: mixed
                      examples:
                        - google
                        - bing
                      operations:
                        - service: serp
                          operation_path: /serp/google/organic/live
                          path_template: /serp/{se}/{type}/live
                          method: POST
                          mode: live
                          description: Live organic SERP results
                          discovery_source: static
                        - service: serp
                          operation_path: /serp/unknown/visibility/live
                          path_template: /serp/unknown/visibility/live
                          method: POST
                          mode: live
                          description: Discovered DataForSEO endpoint for serp
                          discovery_source: discovered
                    summary:
                      total_operations: 2
                      by_discovery_source:
                        static: 1
                        discovered: 1
                      by_method:
                        GET: 0
                        POST: 2
                      by_mode:
                        live: 2
                        task_post: 0
                        task_get: 0
                        tasks_ready: 0
                        tasks_fixed: 0
                    groups:
                      method:
                        GET:
                          - service: serp
                            operation_path: /serp/{group}/task_get
                            path_template: /serp/{provider}/{group}/task_get
                            method: GET
                            mode: task_get
                            description: Task get sample
                            discovery_source: static
                        POST:
                          - service: serp
                            operation_path: /serp/google/organic/live
                            path_template: /serp/{se}/{type}/live
                            method: POST
                            mode: live
                            description: Live organic SERP results
                            discovery_source: static
                      mode:
                        live:
                          - service: serp
                            operation_path: /serp/google/organic/live
                            path_template: /serp/{se}/{type}/live
                            method: POST
                            mode: live
                            description: Live organic SERP results
                            discovery_source: static
                        task_get:
                          - service: serp
                            operation_path: /serp/{group}/task_get
                            path_template: /serp/{provider}/{group}/task_get
                            method: GET
                            mode: task_get
                            description: Task get sample
                            discovery_source: static
                    limit: 100
                    offset: 0
                    returned: 2
                    has_more: false
                    next_offset: null
                    supports_custom_paths: true
                    supports_any_dataforseo_path: true
                    discovery_context:
                      requested_discovery: true
                      force_refresh_requested: false
                      source: provider
                      discovered_at: '2026-02-24T00:00:00Z'
                      cache_key: dataforseo:catalog:discovered:v1
                      cache_ttl_seconds: 900
                      cache_hit: false
                      cache_available: true
                      provider_calls: 1
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      request_id:
                        type: string
                      details:
                        type: object
                        properties: {}
                        default: {}
                        additionalProperties: {}
                    required:
                      - code
                      - message
                      - request_id
                required:
                  - error
                description: ErrorResponse
              examples:
                badRequest:
                  value:
                    error:
                      code: VALIDATION_ERROR
                      message: Invalid request
                      request_id: req_123
                      details:
                        issues:
                          - path:
                              - service
                            message: invalid service name
                            code: invalid_string
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      request_id:
                        type: string
                      details:
                        type: object
                        properties: {}
                        default: {}
                        additionalProperties: {}
                    required:
                      - code
                      - message
                      - request_id
                required:
                  - error
                description: ErrorResponse
              examples:
                unauthorized:
                  value:
                    error:
                      code: UNAUTHORIZED
                      message: Unauthorized
                      request_id: req_123
                      details:
                        reason: missing_or_invalid_api_key
        '404':
          description: Service not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      request_id:
                        type: string
                      details:
                        type: object
                        properties: {}
                        default: {}
                        additionalProperties: {}
                    required:
                      - code
                      - message
                      - request_id
                required:
                  - error
                description: ErrorResponse
              examples:
                notFound:
                  value:
                    error:
                      code: NOT_FOUND
                      message: Service not found
                      request_id: req_123
                      details:
                        service: unknown
        '502':
          description: Provider discovery failed
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      request_id:
                        type: string
                      details:
                        type: object
                        properties: {}
                        default: {}
                        additionalProperties: {}
                    required:
                      - code
                      - message
                      - request_id
                required:
                  - error
                description: ErrorResponse
              examples:
                providerUnavailable:
                  value:
                    error:
                      code: PROVIDER_ERROR
                      message: Failed to discover DataForSEO operations
                      request_id: req_123
                      details:
                        service: serp
                        provider_error:
                          code: BAD_REQUEST
                          message: Discovery endpoint failed
      security:
        - bearerAuth: []
        - apiKeyAuth: []
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: 'Authorization: Bearer sk_...'
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key

````