Skip to content

Get Crawl Status

Are you an AI agent that needs a Firecrawl API key? See firecrawl.dev/agent-onboarding/SKILL.md for automated onboarding instructions.

OpenAPI

yaml
openapi: 3.0.0
info:
title: Firecrawl API
version: v2
description: >-
  API for interacting with Firecrawl services to perform web scraping and
  crawling tasks.
contact:
  name: Firecrawl Support
  url: https://firecrawl.dev/support
  email: support@firecrawl.dev
servers:
- url: https://api.firecrawl.dev/v2
security:
- bearerAuth: []
paths:
/crawl/{id}:
  parameters:
    - name: id
      in: path
      description: The ID of the crawl job
      required: true
      schema:
        type: string
        format: uuid
  get:
    tags:
      - Crawling
    summary: Get the status of a crawl job
    operationId: getCrawlStatus
    responses:
      '200':
        description: Successful response
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CrawlStatusResponseObj'
      '402':
        description: Payment required
        content:
          application/json:
            schema:
              type: object
              properties:
                error:
                  type: string
                  example: Payment required to access this resource.
      '429':
        description: Too many requests
        content:
          application/json:
            schema:
              type: object
              properties:
                error:
                  type: string
                  example: >-
                    Request rate limit exceeded. Please wait and try again
                    later.
      '500':
        description: Server error
        content:
          application/json:
            schema:
              type: object
              properties:
                error:
                  type: string
                  example: An unexpected error occurred on the server.
    security:
      - bearerAuth: []
components:
schemas:
  CrawlStatusResponseObj:
    type: object
    properties:
      status:
        type: string
        description: >-
          The current status of the crawl. Can be `scraping`, `completed`, or
          `failed`.
      total:
        type: integer
        description: The total number of pages that were attempted to be crawled.
      completed:
        type: integer
        description: The number of pages that have been successfully crawled.
      creditsUsed:
        type: integer
        description: The number of credits used for the crawl.
      expiresAt:
        type: string
        format: date-time
        description: The date and time when the crawl will expire.
      next:
        type: string
        nullable: true
        description: >-
          The URL to retrieve the next 10MB of data. Returned if the crawl is
          not completed or if the response is larger than 10MB.
      data:
        type: array
        description: The data of the crawl.
        items:
          type: object
          properties:
            markdown:
              type: string
            html:
              type: string
              nullable: true
              description: HTML version of the content on page if `includeHtml`  is true
            rawHtml:
              type: string
              nullable: true
              description: Raw HTML content of the page if `includeRawHtml`  is true
            links:
              type: array
              items:
                type: string
              description: List of links on the page if `includeLinks` is true
            screenshot:
              type: string
              nullable: true
              description: Screenshot of the page if `includeScreenshot` is true
            metadata:
              type: object
              properties:
                title:
                  oneOf:
                    - type: string
                    - type: array
                      items:
                        type: string
                  description: >-
                    Title extracted from the page, can be a string or array of
                    strings
                description:
                  oneOf:
                    - type: string
                    - type: array
                      items:
                        type: string
                  description: >-
                    Description extracted from the page, can be a string or
                    array of strings
                language:
                  oneOf:
                    - type: string
                    - type: array
                      items:
                        type: string
                  nullable: true
                  description: >-
                    Language extracted from the page, can be a string or array
                    of strings
                sourceURL:
                  type: string
                  format: uri
                  description: >-
                    The original URL that was requested. May differ from the
                    page's final URL if redirects occurred.
                url:
                  type: string
                  format: uri
                  description: >-
                    The final URL of the page after all redirects have been
                    followed.
                keywords:
                  oneOf:
                    - type: string
                    - type: array
                      items:
                        type: string
                  description: >-
                    Keywords extracted from the page, can be a string or array
                    of strings
                ogLocaleAlternate:
                  type: array
                  items:
                    type: string
                  description: Alternative locales for the page
                '<any other metadata> ':
                  type: string
                statusCode:
                  type: integer
                  description: The status code of the page
                error:
                  type: string
                  nullable: true
                  description: The error message of the page
                concurrencyLimited:
                  type: boolean
                  description: >-
                    Whether this scrape was throttled due to team concurrency
                    limits
                concurrencyQueueDurationMs:
                  type: number
                  description: >-
                    Time in milliseconds the request waited in the concurrency
                    queue. Only present when concurrencyLimited is true.
securitySchemes:
  bearerAuth:
    type: http
    scheme: bearer