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

# Create a bulk scrape job

> Create one scrape job covering an array of URLs (up to 2000 per request). All accepted URLs land as pages of a single job; URLs rejected by validation or deduplication are reported in the response.



## OpenAPI

````yaml https://app.stainless.com/api/spec/documented/avido/openapi.documented.yml post /v0/scrape-jobs/bulk
openapi: 3.1.1
info:
  title: Avido API
  description: >-
    Avido's API for LLM usage events, tool calls, trace management, webhook
    validation, and more. See each endpoint's request/response schema for
    details.
  version: 0.1.0
  contact:
    name: Avido Support
    email: support@avidoai.com
    url: https://avidoai.com/support
servers:
  - url: https://api.avidoai.com
    description: Production API
security:
  - ApiKey: []
    ApplicationId: []
paths:
  /v0/scrape-jobs/bulk:
    post:
      tags:
        - Scrape Jobs
      summary: Create a bulk scrape job
      description: >-
        Create one scrape job covering an array of URLs (up to 2000 per
        request). All accepted URLs land as pages of a single job; URLs rejected
        by validation or deduplication are reported in the response.
      operationId: bulkCreateScrapeJobs
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkCreateScrapeJobsRequest'
      responses:
        '201':
          description: >-
            Bulk scrape job created. Lists any URLs that were rejected by
            validation or deduplication.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkCreateScrapeJobsResponse'
              examples:
                success:
                  summary: All URLs accepted
                  value:
                    failed: []
                partial:
                  summary: Some URLs rejected
                  value:
                    failed:
                      - url: invalid-url
                        error: Invalid URL format
        '400':
          description: bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: invalid input
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationErrorResponse'
        '500':
          description: internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    BulkCreateScrapeJobsRequest:
      type: object
      properties:
        urls:
          minItems: 1
          maxItems: 2000
          type: array
          items:
            type: string
            minLength: 1
            maxLength: 2048
          description: >-
            Array of URLs to scrape (1-2000 URLs, max 2048 chars each). Each URL
            must be https and resolve to a public host.
          example:
            - https://example.com/docs
            - https://example.com/guide.pdf
            - https://example.com/api
        quickstartId:
          description: Optional quickstart ID to associate with all scrape jobs
          example: 123e4567-e89b-12d3-a456-426614174000
          type: string
          format: uuid
          pattern: >-
            ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
      required:
        - urls
      additionalProperties: false
      title: Bulk Create Scrape Jobs Request
      description: Request body for creating multiple scrape jobs at once
    BulkCreateScrapeJobsResponse:
      type: object
      properties:
        failed:
          type: array
          items:
            $ref: '#/components/schemas/BulkScrapeJobErrorOutput'
          description: >-
            URLs rejected by validation or deduplication. Every other submitted
            URL landed as a page of the one created scrape job (creation is
            all-or-nothing).
          example:
            - url: https://invalid-url
              error: Invalid URL format
      required:
        - failed
      additionalProperties: false
      title: Bulk Create Scrape Jobs Response
      description: Response after bulk creating scrape jobs
    ErrorResponse:
      type: object
      properties:
        message:
          type: string
          description: A human-readable error message explaining the error.
          example: Resource not found
      required:
        - message
      additionalProperties: false
      title: ErrorResponse
      description: Standard error format for failed API operations.
    ValidationErrorResponse:
      type: object
      properties:
        message:
          type: string
          description: A human-readable error message indicating what went wrong.
          example: Invalid request data
        issues:
          type: array
          items:
            type: object
            properties:
              code:
                type: string
              message:
                type: string
              path:
                type: array
                items:
                  type: string
            required:
              - code
              - message
              - path
            additionalProperties: false
          description: Array of detailed validation error objects.
          example:
            - code: invalid_string
              message: Invalid UUID
              path:
                - id
      required:
        - message
        - issues
      additionalProperties: false
      title: ValidationErrorResponse
      description: Details about validation errors in incoming requests.
    BulkScrapeJobErrorOutput:
      type: object
      properties:
        url:
          type: string
          description: The URL that failed
          example: https://invalid-url
        error:
          type: string
          description: The error message
          example: Invalid URL format
      required:
        - url
        - error
      additionalProperties: false
      title: Bulk Scrape Job Error
      description: Error information for a failed scrape job creation
  securitySchemes:
    ApiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: Your unique Avido API key
    ApplicationId:
      type: apiKey
      in: header
      name: x-application-id
      description: Your unique Avido Application ID

````