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

# List crawler runs

> The Crawler Logs feature lets you monitor and debug your crawler’s activity by recording detailed logs for each crawl run.

Logs are useful for troubleshooting crawl issues,
verifying site coverage, and monitoring crawler performance over time.

**Required ACL:** `settings`


## OpenAPI

````yaml specs/crawler.yml get /1/crawlers/{id}/crawl_runs
openapi: 3.1.0
info:
  title: Crawler API
  summary: The Crawler API lets you manage and run your crawlers
  description: >
    ## Base URL


    The base URL for making requests to the Crawler API is:


    - `https://crawler.algolia.com/api`


    **All requests must use HTTPS.**


    ## Availability and authentication


    To authenticate your API requests, use the **basic authentication** header:


    - `Authorization: Basic <credentials>`


    Where `<credentials>` is a base64-encoded string `<user-id>:<api-key>`.


    - `<user-id>`. The Crawler user ID.

    - `<api-key>`. The Crawler API key.


    You can find both on the [Crawler
    settings](https://dashboard.algolia.com/crawler/settings) page in the
    Algolia dashboard.

    The Crawler credentials are different from your regular Algolia credentials.


    ## Request format


    Request bodies must be JSON objects.


    ## Parameters


    Parameters are passed as query parameters for GET requests,

    and in the request body for POST and PATCH requests.


    Query parameters must be
    [URL-encoded](https://developer.mozilla.org/en-US/docs/Glossary/Percent-encoding).

    Non-ASCII characters must be UTF-8 encoded.


    ## Response status and errors


    The Crawler API returns JSON responses.

    Since JSON doesn't guarantee any specific ordering, don't rely on the order
    of attributes in the API response.


    Successful responses return a `2xx` status. Client errors return a `4xx`
    status.

    Server errors are indicated by a `5xx` status.

    Error responses have a `message` property with more information.


    ## Version


    The current version of the Crawler API is version 1, indicated by the `/1/`
    in each endpoint's URL.
  version: 1.0.0
servers:
  - url: https://crawler.algolia.com/api
    description: The URL of the Crawler API.
security:
  - BasicAuth: []
tags:
  - name: actions
    x-displayName: State
    description: >
      Change the state of crawlers, such as pausing crawl schedules or testing
      the crawler with specific URLs.
  - name: config
    x-displayName: Configuration
    description: >
      In the Crawler configuration, you specify which URLs to crawl, when to
      crawl, how to extract records from the crawl, and where to index the
      extracted records.


      The configuration is versioned, so you can always restore a previous
      version.


      It's easiest to make configuration changes on the [Crawler
      page](https://dashboard.algolia.com/crawler) in the Algolia dashboard.

      The editor has autocomplete and built-in validation so you can try your
      configuration changes before committing them.
  - name: crawlers
    x-displayName: Manage
    description: |
      A crawler is an object with a name and a configuration.
      Use these endpoints to create, rename, and delete crawlers.
  - name: domains
    x-displayName: Domains
    description: List registered domains.
  - name: tasks
    x-displayName: Tasks
    description: Task operations.
paths:
  /1/crawlers/{id}/crawl_runs:
    get:
      tags:
        - crawlers
      summary: List crawler runs
      description: >
        The Crawler Logs feature lets you monitor and debug your crawler’s
        activity by recording

        detailed logs for each crawl run. Logs are useful for troubleshooting
        crawl issues,

        verifying site coverage, and monitoring crawler performance over time.
      operationId: listCrawlRuns
      parameters:
        - $ref: '#/components/parameters/CrawlerIdParameter'
        - $ref: '#/components/parameters/From'
        - $ref: '#/components/parameters/Limit'
        - $ref: '#/components/parameters/Offset'
        - $ref: '#/components/parameters/Order'
        - $ref: '#/components/parameters/Status'
        - $ref: '#/components/parameters/Until'
      responses:
        '200':
          $ref: '#/components/responses/crawlerLogsResponse'
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '401':
          $ref: '#/components/responses/MissingAuthorization'
        '403':
          $ref: '#/components/responses/NoRightsOnCrawler'
components:
  parameters:
    CrawlerIdParameter:
      name: id
      in: path
      description: Crawler ID.
      required: true
      schema:
        $ref: '#/components/schemas/CrawlerID'
    From:
      name: from
      in: query
      description: Date 'from' filter.
      schema:
        $ref: '#/components/schemas/from'
    Limit:
      name: limit
      in: query
      description: Limit of the query results.
      schema:
        $ref: '#/components/schemas/limit'
    Offset:
      name: offset
      in: query
      description: Offset of the query results.
      schema:
        $ref: '#/components/schemas/offset'
    Order:
      name: order
      in: query
      description: Order of the query 'ASC' or 'DESC'.
      schema:
        $ref: '#/components/schemas/parameters_order'
    Status:
      name: status
      in: query
      description: Status to filter 'DONE', 'SKIPPED' or 'FAILED'.
      schema:
        $ref: '#/components/schemas/urlsCrawledGroupStatus'
    Until:
      name: until
      in: query
      description: Date 'until' filter.
      schema:
        $ref: '#/components/schemas/until'
  responses:
    crawlerLogsResponse:
      description: List Response of Crawler Logs.
      content:
        application/json:
          schema:
            title: listCrawlerLogsResponse
            type: object
            properties:
              logs:
                type: array
                items:
                  title: crawlerLogItem
                  type: object
                  properties:
                    accessCount:
                      type: integer
                      description: File access count.
                    configId:
                      type: string
                      description: Crawler Config identifier.
                    crawlCompletedAt:
                      type: string
                      description: Crawl started at date.
                    crawlStartedAt:
                      type: string
                      description: Crawl started at date.
                    expiresAt:
                      type: string
                      description: File expiration date.
                    fileCreatedAt:
                      type: string
                      description: File created date.
                    fileSizeBytes:
                      type: integer
                      description: Size of the compressed crawler log.
                    id:
                      type: string
                      description: ID of the crawler log.
                    lastAccessedAt:
                      type: string
                      description: File last accessed date.
                      nullable: true
                    reindexId:
                      type: string
                      description: Identifier of Reindex.
                    status:
                      type: string
                      description: File status.
                    uncompressedSizeBytes:
                      type: integer
                      description: Size of the uncompressed crawler log.
                    urlsDone:
                      type: integer
                      description: Crawler urls done.
                    urlsFailed:
                      type: integer
                      description: Crawler urls failed.
                    urlsSkipped:
                      type: integer
                      description: Crawler urls skipped.
              meta:
                title: crawlerLogsMeta
                type: object
                properties:
                  total:
                    type: integer
                    description: Total of records found.
            required:
              - logs
              - meta
    InvalidRequest:
      description: Invalid request.
      content:
        application/json:
          schema:
            title: invalidRequest
            type: object
            properties:
              error:
                title: invalidRequestError
                type: object
                properties:
                  code:
                    type: string
                  errors:
                    type: array
                    items:
                      title: errorItem
                      type: object
                      properties:
                        message:
                          type: string
                        code:
                          type: string
                        line:
                          type: integer
                        position:
                          type: integer
                      required:
                        - message
                      example:
                        message: url is not defined
                        line: 5
                  message:
                    type: string
                example:
                  code: malformed_id
            required:
              - error
    MissingAuthorization:
      description: Authorization information is missing or invalid.
    NoRightsOnCrawler:
      description: >-
        The user doesn't have enough rights on the specified Crawler, or it
        doesn't exists.
  schemas:
    CrawlerID:
      type: string
      description: Universally unique identifier (UUID) of the crawler.
      example: e0f6db8a-24f5-4092-83a4-1b2c6cb6d809
    from:
      type: string
      description: Unix string 'from' date.
      example: 1762264044
    limit:
      type: integer
      description: Limit of the query results.
      minimum: 1
      default: 10
      maximum: 1000
      example: 10
    offset:
      type: integer
      description: Offset of the query results.
      example: 11
    parameters_order:
      type: string
      description: |
        Order of the query.
      enum:
        - ASC
        - DESC
    urlsCrawledGroupStatus:
      type: string
      description: >
        Crawled URL status.


        For more information, see [Troubleshooting by crawl
        status](https://www.algolia.com/doc/tools/crawler/troubleshooting/crawl-status).
      enum:
        - DONE
        - SKIPPED
        - FAILED
    until:
      type: string
      description: Unix string 'until' date.
      example: 1762264044
  securitySchemes:
    BasicAuth:
      type: http
      scheme: basic

````