QuantCDN Crawlers API

Website crawler configuration and management

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/quantcdn-crawlers-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 email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

quantcdn-crawlers-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  description: Unified API for QuantCDN Admin and QuantCloud Platform services
  title: QuantCDN AI Agents Crawlers API
  version: 4.15.8
servers:
- description: QuantCDN Public Cloud
  url: https://dashboard.quantcdn.io
- description: QuantGov Cloud
  url: https://dash.quantgov.cloud
security:
- BearerAuth: []
tags:
- description: Website crawler configuration and management
  name: Crawlers
paths:
  /api/v2/organizations/{organization}/projects/{project}/crawlers:
    get:
      operationId: Crawlers_list
      parameters:
      - description: Organization identifier
        example: test-org
        explode: false
        in: path
        name: organization
        required: true
        schema:
          type: string
        style: simple
      - description: Project identifier
        example: test-project
        explode: false
        in: path
        name: project
        required: true
        schema:
          type: string
        style: simple
      responses:
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2Error'
          description: The server could not understand the request due to invalid syntax.
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2Error'
          description: Access is forbidden.
      summary: List crawlers for the project
      tags:
      - Crawlers
    post:
      operationId: Crawlers_create
      parameters:
      - description: Organization identifier
        example: test-org
        explode: false
        in: path
        name: organization
        required: true
        schema:
          type: string
        style: simple
      - description: Project identifier
        example: test-project
        explode: false
        in: path
        name: project
        required: true
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/V2CrawlerRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2Crawler'
          description: The request has succeeded.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2Error'
          description: The server could not understand the request due to invalid syntax.
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2Error'
          description: Access is forbidden.
      summary: Create a new crawler
      tags:
      - Crawlers
  /api/v2/organizations/{organization}/projects/{project}/crawlers/{crawler}:
    delete:
      operationId: Crawlers_delete
      parameters:
      - description: Organization identifier
        example: test-org
        explode: false
        in: path
        name: organization
        required: true
        schema:
          type: string
        style: simple
      - description: Project identifier
        example: test-project
        explode: false
        in: path
        name: project
        required: true
        schema:
          type: string
        style: simple
      - description: The UUID of the crawler
        example: 00000000-0000-0000-0000-000000000000
        explode: false
        in: path
        name: crawler
        required: true
        schema:
          type: string
        style: simple
      responses:
        '204':
          description: The request has succeeded.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2Error'
          description: The server could not understand the request due to invalid syntax.
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2Error'
          description: Access is forbidden.
      summary: Delete a crawler
      tags:
      - Crawlers
    get:
      operationId: Crawlers_read
      parameters:
      - description: Organization identifier
        example: test-org
        explode: false
        in: path
        name: organization
        required: true
        schema:
          type: string
        style: simple
      - description: Project identifier
        example: test-project
        explode: false
        in: path
        name: project
        required: true
        schema:
          type: string
        style: simple
      - description: The UUID of the crawler
        example: 00000000-0000-0000-0000-000000000000
        explode: false
        in: path
        name: crawler
        required: true
        schema:
          type: string
        style: simple
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2Crawler'
          description: The request has succeeded.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2Error'
          description: The server could not understand the request due to invalid syntax.
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2Error'
          description: Access is forbidden.
      summary: Get details of a single crawler
      tags:
      - Crawlers
    patch:
      operationId: Crawlers_update
      parameters:
      - description: Organization identifier
        example: test-org
        explode: false
        in: path
        name: organization
        required: true
        schema:
          type: string
        style: simple
      - description: Project identifier
        example: test-project
        explode: false
        in: path
        name: project
        required: true
        schema:
          type: string
        style: simple
      - description: The UUID of the crawler
        example: 00000000-0000-0000-0000-000000000000
        explode: false
        in: path
        name: crawler
        required: true
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/V2CrawlerRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2Crawler'
          description: The request has succeeded.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2Error'
          description: The server could not understand the request due to invalid syntax.
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2Error'
          description: Access is forbidden.
      summary: Update a crawler
      tags:
      - Crawlers
  /api/v2/organizations/{organization}/projects/{project}/crawlers/{crawler}/run:
    post:
      operationId: Crawlers_run
      parameters:
      - description: Organization identifier
        example: test-org
        explode: false
        in: path
        name: organization
        required: true
        schema:
          type: string
        style: simple
      - description: Project identifier
        example: test-project
        explode: false
        in: path
        name: project
        required: true
        schema:
          type: string
        style: simple
      - description: Crawler identifier
        example: 00000000-0000-0000-0000-000000000000
        explode: false
        in: path
        name: crawler
        required: true
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Crawlers_run_request'
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Crawlers_run_200_response'
          description: The request has succeeded.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2Error'
          description: The server could not understand the request due to invalid syntax.
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2Error'
          description: Access is forbidden.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2Error'
          description: The resource was not found.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2Error'
          description: An unexpected error occurred.
      summary: Run a crawler
      tags:
      - Crawlers
  /api/v2/organizations/{organization}/projects/{project}/crawlers/{crawler}/runs:
    get:
      operationId: Crawlers_getRuns
      parameters:
      - description: Organization identifier
        example: test-org
        explode: false
        in: path
        name: organization
        required: true
        schema:
          type: string
        style: simple
      - description: Project identifier
        example: test-project
        explode: false
        in: path
        name: project
        required: true
        schema:
          type: string
        style: simple
      - description: Crawler identifier
        example: 00000000-0000-0000-0000-000000000000
        explode: false
        in: path
        name: crawler
        required: true
        schema:
          type: string
        style: simple
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/V2CrawlerRun'
                type: array
          description: The runs
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2Error'
          description: The server could not understand the request due to invalid syntax.
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2Error'
          description: Access is forbidden.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2Error'
          description: The resource was not found.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2Error'
          description: An unexpected error occurred.
      summary: Get all runs for a crawler
      tags:
      - Crawlers
  /api/v2/organizations/{organization}/projects/{project}/crawlers/{crawler}/runs/{run_id}:
    get:
      operationId: Crawlers_getRunById
      parameters:
      - description: Organization identifier
        example: test-org
        explode: false
        in: path
        name: organization
        required: true
        schema:
          type: string
        style: simple
      - description: Project identifier
        example: test-project
        explode: false
        in: path
        name: project
        required: true
        schema:
          type: string
        style: simple
      - description: Crawler identifier
        example: 00000000-0000-0000-0000-000000000000
        explode: false
        in: path
        name: crawler
        required: true
        schema:
          type: string
        style: simple
      - description: Run identifier
        example: 1
        explode: false
        in: path
        name: run_id
        required: true
        schema:
          type: integer
        style: simple
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2CrawlerRun'
          description: The run
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2Error'
          description: The server could not understand the request due to invalid syntax.
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2Error'
          description: Access is forbidden.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2Error'
          description: The resource was not found.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V2Error'
          description: An unexpected error occurred.
      summary: Get a run by ID
      tags:
      - Crawlers
components:
  schemas:
    V2Crawler_assets_parser:
      description: Parser configuration for asset extraction
      properties:
        enabled:
          description: Enable parser
          example: true
          type: boolean
      type: object
    V2CrawlerRequest:
      example:
        headers:
          Authorization: Bearer token123
          X-Custom-Header: value
        include:
        - /blog/*
        - /products/*
        max_errors: 100
        webhook_url: https://example.com/webhook
        allowed_domains:
        - example.com
        - assets.example.com
        browser_mode: false
        max_html: 50
        urls:
        - /
        - /about
        - /contact
        status_ok:
        - 200
        - 201
        delay: 4
        depth: -1
        assets:
          network_intercept:
            enabled: true
            timeout: 30
            execute_js: false
          parser:
            enabled: true
        max_hits: 0
        domain: test-domain.com
        name: Test Crawler
        webhook_extra_vars: key1=value1&key2=value2
        exclude:
        - /admin/*
        - /private/*
        start_urls:
        - /
        - /blog
        workers: 2
        webhook_auth_header: Bearer token123
        sitemap:
        - url: /sitemap.xml
          recursive: true
        user_agent: Mozilla/5.0...
      properties:
        name:
          description: Crawler name
          example: Test Crawler
          type: string
        domain:
          description: Domain to crawl
          example: test-domain.com
          type: string
        browser_mode:
          default: false
          description: Enable browser mode
          example: false
          type: boolean
        urls:
          description: URLs to crawl
          example:
          - /
          - /about
          - /contact
          items:
            example: /
            type: string
          type: array
        start_urls:
          description: Starting URLs for crawl
          example:
          - /
          - /blog
          items:
            type: string
          type: array
        headers:
          additionalProperties:
            type: string
          description: Custom headers
          example:
            Authorization: Bearer token123
            X-Custom-Header: value
          type: object
        exclude:
          description: URL patterns to exclude (regex)
          example:
          - /admin/*
          - /private/*
          items:
            type: string
          type: array
        include:
          description: URL patterns to include (regex)
          example:
          - /blog/*
          - /products/*
          items:
            type: string
          type: array
        webhook_url:
          description: Webhook URL for notifications
          example: https://example.com/webhook
          type: string
        webhook_auth_header:
          description: Authorization header for webhook
          example: Bearer token123
          type: string
        webhook_extra_vars:
          description: Extra variables for webhook
          example: key1=value1&key2=value2
          type: string
        workers:
          description: 'Number of concurrent workers (default: 2, non-default requires verification)'
          example: 2
          maximum: 20
          minimum: 1
          type: integer
        delay:
          description: 'Delay between requests in seconds (default: 4, non-default requires verification)'
          example: 4
          format: float
          maximum: 10
          minimum: 0
          type: number
        depth:
          description: Maximum crawl depth, -1 for unlimited
          example: -1
          minimum: -1
          type: integer
        max_hits:
          description: 'Maximum total requests, 0 for unlimited (default: 0, non-default requires verification)'
          example: 0
          minimum: 0
          type: integer
        max_html:
          description: 'Maximum HTML pages, 0 for unlimited (default: org limit, non-default requires verification)'
          example: 50
          minimum: 0
          type: integer
        status_ok:
          description: HTTP status codes that will result in content being captured and pushed to Quant
          example:
          - 200
          - 201
          items:
            type: integer
          type: array
        sitemap:
          description: Sitemap configuration
          example:
          - url: /sitemap.xml
            recursive: true
          items:
            $ref: '#/components/schemas/V2Crawler_sitemap_inner'
          type: array
        allowed_domains:
          description: Allowed domains for multi-domain crawling, automatically enables merge_domains
          example:
          - example.com
          - assets.example.com
          items:
            type: string
          type: array
        user_agent:
          description: Custom user agent, only when browser_mode is false
          example: Mozilla/5.0...
          type: string
        assets:
          $ref: '#/components/schemas/V2Crawler_assets'
        max_errors:
          description: Maximum errors before stopping crawl
          example: 100
          minimum: 0
          type: integer
      required:
      - domain
      type: object
    V2Crawler_sitemap_inner:
      properties:
        url:
          description: Sitemap URL
          example: /sitemap.xml
          type: string
        recursive:
          description: Recursively follow sitemap links
          example: true
          type: boolean
      type: object
    V2Crawler_assets:
      description: Asset harvesting configuration
      example:
        network_intercept:
          enabled: true
          timeout: 30
          execute_js: false
        parser:
          enabled: true
      properties:
        network_intercept:
          $ref: '#/components/schemas/V2Crawler_assets_network_intercept'
        parser:
          $ref: '#/components/schemas/V2Crawler_assets_parser'
      type: object
    Crawlers_run_200_response:
      example:
        run_id: '12345'
      properties:
        run_id:
          description: The crawler run ID
          example: '12345'
          type: string
      type: object
    Crawlers_run_request:
      properties:
        urls:
          description: Optional URLs to crawl (overrides crawler's default URL configuration). If not provided, the crawler will use its configured URLs or perform a full crawl.
          example:
          - /
          - /about
          - /contact
          items:
            example: /
            type: string
          type: array
      type: object
    V2CrawlerRun:
      example:
        completed_at: 1705749600
        updated_at: 2024-01-20 09:15:00+00:00
        project_id: 12345
        last_status: completed
        crawler_config_id: 12345
        started_at: 1705749300
        created_at: 2024-01-20 09:15:00+00:00
        task_id: task-12345
        id: 12345
      properties:
        id:
          description: Run ID
          example: 12345
          type: integer
        crawler_config_id:
          description: Crawler config ID
          example: 12345
          type: integer
        project_id:
          description: Project ID
          example: 12345
          type: integer
        last_status:
          description: Run status
          example: completed
          type: string
        task_id:
          description: Task ID
          example: task-12345
          type: string
        started_at:
          description: Start time (Unix timestamp)
          example: 1705749300
          nullable: true
          type: integer
        completed_at:
          description: Completion time (Unix timestamp)
          example: 1705749600
          nullable: true
          type: integer
        created_at:
          description: Creation timestamp
          example: 2024-01-20 09:15:00+00:00
          format: date-time
          type: string
        updated_at:
          description: Last update timestamp
          example: 2024-01-20 09:15:00+00:00
          format: date-time
          type: string
      required:
      - crawler_config_id
      - id
      - last_status
      - project_id
      - task_id
      type: object
    V2Crawler_assets_network_intercept:
      description: Network intercept configuration for asset collection
      properties:
        enabled:
          description: Enable network intercept
          example: true
          type: boolean
        timeout:
          description: Request timeout in seconds
          example: 30
          type: integer
        execute_js:
          description: Execute JavaScript during asset collection
          example: false
          type: boolean
      type: object
    V2Crawler:
      example:
        urls_list: single_url:\n  - /\n  - /about\n  - /contact
        allowed_domains:
        - example.com
        created_at: 2024-01-20 09:15:00+00:00
        uuid: 550e8400-e29b-41d4-a716-446655440000
        status_ok:
        - 200
        urls:
        - /
        - /about
        assets:
          network_intercept:
            enabled: true
            timeout: 30
            execute_js: false
          parser:
            enabled: true
        updated_at: 2024-10-11 16:45:00+00:00
        project_id: 789
        exclude:
        - /admin/*
        id: 456
        workers: 2
        start_urls:
        - /
        - /blog
        webhook_auth_header: Bearer token123
        user_agent: Mozilla/5.0...
        sitemap:
        - url: /sitemap.xml
          recursive: true
        headers:
          Authorization: Bearer token
        include:
        - /blog/*
        max_errors: 100
        webhook_url: https://example.com/webhook
        browser_mode: false
        max_html: 50
        deleted_at: 2000-01-23 04:56:07+00:00
        delay: 4
        depth: -1
        max_hits: 0
        domain: test-domain.com
        name: Test Crawler
        webhook_extra_vars: key1=value1&key2=value2
        domain_verified: 1
        config: 'domain: test-domain.com\nconfig:\n  max_html: 100\n  browser_mode: false'
      properties:
        id:
          description: Crawler ID
          example: 456
          type: integer
        name:
          description: Crawler name
          example: Test Crawler
          type: string
        project_id:
          description: Project ID
          example: 789
          type: integer
        uuid:
          description: Crawler UUID
          example: 550e8400-e29b-41d4-a716-446655440000
          type: string
        config:
          description: Crawler configuration (YAML)
          example: 'domain: test-domain.com\nconfig:\n  max_html: 100\n  browser_mode: false'
          type: string
        domain:
          description: Crawler domain
          example: test-domain.com
          type: string
        domain_verified:
          default: 0
          description: Domain verification status
          example: 1
          type: integer
        urls_list:
          description: URLs list (YAML)
          example: single_url:\n  - /\n  - /about\n  - /contact
          type: string
        webhook_url:
          description: Webhook URL for notifications
          example: https://example.com/webhook
          type: string
        webhook_auth_header:
          description: Authorization header for webhook
          example: Bearer token123
          type: string
        webhook_extra_vars:
          description: Extra variables for webhook
          example: key1=value1&key2=value2
          type: string
        browser_mode:
          description: Browser mode enabled
          example: false
          type: boolean
        workers:
          description: Number of concurrent workers
          example: 2
          type: integer
        delay:
          description: Delay between requests in seconds
          example: 4
          format: float
          type: number
        depth:
          description: Maximum crawl depth
          example: -1
          type: integer
        max_hits:
          description: Maximum total requests
          example: 0
          type: integer
        max_html:
          description: Maximum HTML pages
          example: 50
          type: integer
        status_ok:
          description: HTTP status codes for content capture
          example:
          - 200
          items:
            type: integer
          type: array
        user_agent:
          description: Custom user agent
          example: Mozilla/5.0...
          type: string
        max_errors:
          description: Maximum errors before stopping
          example: 100
          type: integer
        start_urls:
          description: Starting URLs
          example:
          - /
          - /blog
          items:
            type: string
          type: array
        urls:
          description: URLs list
          example:
          - /
          - /about
          items:
            type: string
          type: array
        headers:
          additionalProperties:
            type: string
          description: Custom headers
          example:
            Authorization: Bearer token
          type: object
        exclude:
          description: URL patterns to exclude
          example:
          - /admin/*
          items:
            type: string
          type: array
        include:
          description: URL patterns to include
          example:
          - /blog/*
          items:
            type: string
          type: array
        sitemap:
          description: Sitemap configuration
          example:
          - url: /sitemap.xml
            recursive: true
          items:
            $ref: '#/components/schemas/V2Crawler_sitemap_inner'
          type: array
        allowed_domains:
          description: Allowed domains
          example:
          - example.com
          items:
            type: string
          type: array
        assets:
          $ref: '#/components/schemas/V2Crawler_assets'
        created_at:
          description: Creation timestamp
          example: 2024-01-20 09:15:00+00:00
          format: date-time
          type: string
        updated_at:
          description: Last update timestamp
          example: 2024-10-11 16:45:00+00:00
          format: date-time
          type: string
        deleted_at:
          description: Deletion timestamp
          format: date-time
          nullable: true
          type: string
      required:
      - config
      - domain
      - id
      - project_id
      - uuid
      type: object
    V2Error:
      example:
        message: The requested resource was not found
        error: true
      properties:
        message:
          description: Error message
          example: The requested resource was not found
          type: string
        error:
          description: Error flag
          example: true
          type: boolean
      required:
      - error
      - message
      type: object
  securitySchemes:
    BearerAuth:
      bearerFormat: JWT
      description: 'Enter your Bearer token in the format: `Bearer <your-token-here>`. Obtain your API token from the QuantCDN dashboard under Profile > API Tokens.'
      scheme: bearer
      type: http