> ## 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 v1dataforseocatalogcapabilities



## OpenAPI

````yaml https://api.surnex.io/.well-known/openapi.json get /v1/dataforseo/catalog/capabilities
openapi: 3.1.0
info:
  title: Surnex API
  version: 0.2.0
servers:
  - url: https://api.surnex.io
security: []
paths:
  /v1/dataforseo/catalog/capabilities:
    get:
      tags:
        - v1
      parameters:
        - schema:
            type: string
            minLength: 1
          required: false
          name: service
          in: query
        - 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: 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
        - schema:
            type: string
            enum:
              - service
              - discovery_source
            description: >-
              Optional grouping key for response sections. When set, services
              are bucketed into `groups` without removing `services`. Service
              keys are alphabetical; discovery source keys are `static`,
              `discovered`, then `mixed` when present.
          required: false
          description: >-
            Optional grouping key for response sections. When set, services are
            bucketed into `groups` without removing `services`. Service keys are
            alphabetical; discovery source keys are `static`, `discovered`, then
            `mixed` when present.
          name: group_by
          in: query
      responses:
        '200':
          description: >-
            DataForSEO capability index grouped for UI onboarding and service
            planning.
          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
                  services:
                    type: array
                    items:
                      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
                        discovery_source:
                          type: string
                          enum:
                            - static
                            - discovered
                            - mixed
                          description: CatalogDiscoverySource
                        operation_count:
                          type: integer
                          minimum: 0
                        discovered_operations:
                          type: integer
                          minimum: 0
                        static_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
                        sample_operations:
                          type: array
                          items:
                            type: string
                      required:
                        - service
                        - title
                        - category
                        - description
                        - operation_count
                        - discovered_operations
                        - static_operations
                        - by_discovery_source
                        - by_method
                        - by_mode
                        - sample_operations
                  total_services:
                    type: integer
                    minimum: 0
                  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
                          title:
                            type: string
                            minLength: 1
                          category:
                            type: string
                            minLength: 1
                            description: Service category used for grouping and filtering
                          description:
                            type: string
                          discovery_source:
                            type: string
                            enum:
                              - static
                              - discovered
                              - mixed
                            description: CatalogDiscoverySource
                          operation_count:
                            type: integer
                            minimum: 0
                          discovered_operations:
                            type: integer
                            minimum: 0
                          static_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
                          sample_operations:
                            type: array
                            items:
                              type: string
                        required:
                          - service
                          - title
                          - category
                          - description
                          - operation_count
                          - discovered_operations
                          - static_operations
                          - by_discovery_source
                          - by_method
                          - by_mode
                          - sample_operations
                    description: >-
                      Grouped capability buckets keyed by the selected
                      `group_by` value. Omitted when `group_by` is not
                      requested.
                  totals:
                    type: object
                    properties:
                      total_services:
                        type: integer
                        minimum: 0
                      total_operations:
                        type: integer
                        minimum: 0
                      by_discovery_source:
                        type: object
                        properties:
                          static:
                            type: integer
                            minimum: 0
                          discovered:
                            type: integer
                            minimum: 0
                          mixed:
                            type: integer
                            minimum: 0
                        required:
                          - static
                          - discovered
                          - mixed
                      by_operation_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_services
                      - total_operations
                      - by_discovery_source
                      - by_operation_discovery_source
                      - by_method
                      - by_mode
                  supports_custom_paths:
                    type: boolean
                  supports_any_dataforseo_path:
                    type: boolean
                required:
                  - generated_at
                  - discovery_context
                  - services
                  - total_services
                  - limit
                  - offset
                  - returned
                  - has_more
                  - next_offset
                  - totals
                  - supports_custom_paths
                  - supports_any_dataforseo_path
              examples:
                capabilities:
                  value:
                    generated_at: '2026-02-24T00:00:00Z'
                    discovery_context:
                      requested_discovery: false
                      force_refresh_requested: false
                      source: none
                      discovered_at: null
                      cache_key: dataforseo:catalog:discovered:v1
                      cache_ttl_seconds: 900
                      cache_available: false
                      cache_hit: false
                      provider_calls: 0
                    services:
                      - service: serp
                        category: serp
                        title: SERP API
                        description: Search engine results across web and vertical engines
                        discovery_source: static
                        operation_count: 4
                        discovered_operations: 0
                        static_operations: 4
                        by_discovery_source:
                          static: 4
                          discovered: 0
                        by_method:
                          GET: 0
                          POST: 4
                        by_mode:
                          live: 1
                          task_post: 2
                          task_get: 1
                          tasks_ready: 0
                          tasks_fixed: 0
                        sample_operations:
                          - /serp/google/organic/live
                          - /serp/google/organic/task_post
                          - /serp/google/organic/task_get
                      - service: keywords_data
                        category: keyword_research
                        title: Keywords Data
                        description: Keyword research and metrics
                        discovery_source: static
                        operation_count: 2
                        discovered_operations: 0
                        static_operations: 2
                        by_discovery_source:
                          static: 2
                          discovered: 0
                        by_method:
                          GET: 0
                          POST: 2
                        by_mode:
                          live: 2
                          task_post: 0
                          task_get: 0
                          tasks_ready: 0
                          tasks_fixed: 0
                        sample_operations:
                          - /keywords_data/google_ads/search_volume/live
                          - /keywords_data/bing_ads/search_volume/live
                    limit: 100
                    offset: 0
                    returned: 2
                    has_more: false
                    next_offset: null
                    totals:
                      total_services: 2
                      total_operations: 6
                      by_discovery_source:
                        static: 2
                        discovered: 0
                        mixed: 0
                      by_operation_discovery_source:
                        static: 6
                        discovered: 0
                      by_method:
                        GET: 0
                        POST: 6
                      by_mode:
                        live: 3
                        task_post: 2
                        task_get: 1
                        tasks_ready: 0
                        tasks_fixed: 0
                    supports_custom_paths: true
                    supports_any_dataforseo_path: true
        '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:
                              - group_by
                            message: Invalid group_by
                            code: invalid_value
        '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
        '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

````