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

# Poll a Crawl Job

> Fetch a crawl job submitted by post_firecrawl_crawl, by its jobId.

Fetch a crawl job submitted by [`post_firecrawl_crawl`](/docs/api-reference/search/post_firecrawl-crawl), by its `jobId`. Returns the same envelope the submission returned — `id`, `status`, `createdAt`, `completedAt`, `pricing`, `output`, `error`. Repeat until `status` is `completed`, `failed` or `cancelled`; on success `output` is an array of pages with `markdown` and `metadata`. Polling is cheap and fast, measured under a second. This tool only reads a job — it cannot start one.


## OpenAPI

````yaml openapi/firecrawl.json GET /firecrawl/crawl/{jobId}
openapi: 3.0.0
info:
  title: Firecrawl API
  version: 1.0.0
  description: >-
    Unified API documentation for Firecrawl endpoints including Scrape, Search,
    Map, Parse, Crawl, and Batch Scrape. Scrape, Search, Map, and Parse are
    synchronous. Crawl and Batch Scrape are asynchronous: the caller submits a
    job and then polls the returned job resource for status and results.


    Billing is metered per Firecrawl credit consumed rather than a flat
    per-request price, so total cost scales with the number of pages, links, or
    results the job produces. Approximate credit usage: Scrape = 1 credit per
    page, Map = 1 credit per page, Search = about 2 credits per 10 results,
    Crawl = 1 credit per page, Batch Scrape = 1 credit per page. The USD rate
    per credit depends on your tier (normal $0.005, vip $0.004, svip $0.0034).
servers:
  - url: https://api.aisa.one/apis/v1
security:
  - bearerAuth: []
paths:
  /firecrawl/crawl/{jobId}:
    get:
      tags:
        - https://docs.firecrawl.dev/api-reference/endpoint/crawl
      summary: Poll a crawl job.
      description: >-
        Fetch a crawl job submitted by `post_firecrawl_crawl`, by its `jobId`.
        Returns the same envelope the submission returned — `id`, `status`,
        `createdAt`, `completedAt`, `pricing`, `output`, `error`. Repeat until
        `status` is `completed`, `failed` or `cancelled`; on success `output` is
        an array of pages with `markdown` and `metadata`. Polling is cheap and
        fast, measured under a second. This tool only reads a job — it cannot
        start one.
      operationId: get_firecrawl_crawl_job
      parameters:
        - in: path
          name: jobId
          required: true
          schema:
            type: string
          description: The job id returned by the submit call.
      responses:
        '200':
          description: The current state of the crawl job.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncJob'
components:
  schemas:
    AsyncJob:
      type: object
      description: >-
        An asynchronous integration job. Returned by the submit call (HTTP 202)
        and by the poll/detail call. Poll the job by its id until status is a
        terminal value (completed, failed, or cancelled).
      properties:
        id:
          type: string
          description: Unique AIsa job identifier. Use it to poll, list, or cancel the job.
          example: iaj_01HZY8Q2M4K7N9V3T6W1X0B2C3
        object:
          type: string
          description: Always "integration_async_job".
          example: integration_async_job
        endpoint:
          type: string
          description: The submit endpoint this job belongs to.
          example: /apis/v1/firecrawl/crawl
        status:
          type: string
          enum:
            - queued
            - running
            - completed
            - failed
            - cancelled
          description: >-
            Customer-facing lifecycle status. queued and running are
            non-terminal; completed, failed, and cancelled are terminal.
        createdAt:
          type: string
          format: date-time
          description: When the job was accepted.
        completedAt:
          type: string
          format: date-time
          nullable: true
          description: >-
            When the job reached a terminal status. Null while the job is still
            queued or running.
        pricing:
          type: object
          properties:
            currency:
              type: string
              example: USD
            authorizedMicrosUSD:
              type: integer
              description: >-
                Amount authorized (held) when the job was admitted, in
                micro-USD. Metered jobs settle to the actual credits consumed.
            finalMicrosUSD:
              type: integer
              nullable: true
              description: >-
                Final settled cost in micro-USD once the job is terminal. Null
                until settlement.
            billingMode:
              type: string
              description: Billing mode for the job.
              example: metered_result
        output:
          description: >-
            Job result payload. Present only once status is completed. For crawl
            this is the array of scraped pages; for batch scrape it is the array
            of scraped documents.
          nullable: true
        outputExpired:
          type: boolean
          description: >-
            True when the result has been retained past its retention window and
            is no longer retrievable.
        error:
          type: object
          nullable: true
          description: Present when status is failed. Null otherwise.
          properties:
            code:
              type: string
              description: Machine-readable error code.
            message:
              type: string
              description: Human-readable error message.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````