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

# 抓取



## OpenAPI

````yaml v0-openapi POST /scrape
openapi: 3.0.0
info:
  title: Firecrawl API
  version: v0
  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/v0
security:
  - bearerAuth: []
paths:
  /scrape:
    post:
      tags:
        - Scraping
      summary: Scrape a single URL and optionally extract information using an LLM
      operationId: scrapeAndExtractFromUrl
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                url:
                  type: string
                  format: uri
                  description: The URL to scrape
                pageOptions:
                  type: object
                  properties:
                    headers:
                      type: object
                      description: >-
                        Headers to send with the request. Can be used to send
                        cookies, user-agent, etc.
                    includeHtml:
                      type: boolean
                      description: >-
                        Include the HTML version of the content on page. Will
                        output a html key in the response.
                      default: false
                    includeRawHtml:
                      type: boolean
                      description: >-
                        Include the raw HTML content of the page. Will output a
                        rawHtml key in the response.
                      default: false
                    onlyIncludeTags:
                      type: array
                      items:
                        type: string
                      description: >-
                        Only include tags, classes and ids from the page in the
                        final output. Use comma separated values. Example:
                        'script, .ad, #footer'
                    onlyMainContent:
                      type: boolean
                      description: >-
                        Only return the main content of the page excluding
                        headers, navs, footers, etc.
                      default: false
                    removeTags:
                      type: array
                      items:
                        type: string
                      description: >-
                        Tags, classes and ids to remove from the page. Use comma
                        separated values. Example: 'script, .ad, #footer'
                    replaceAllPathsWithAbsolutePaths:
                      type: boolean
                      description: >-
                        Replace all relative paths with absolute paths for
                        images and links
                      default: false
                    screenshot:
                      type: boolean
                      description: >-
                        Include a screenshot of the top of the page that you are
                        scraping.
                      default: false
                    fullPageScreenshot:
                      type: boolean
                      description: >-
                        Include a full page screenshot of the page that you are
                        scraping.
                      default: false
                    waitFor:
                      type: integer
                      description: >-
                        Wait x amount of milliseconds for the page to load to
                        fetch content
                      default: 0
                extractorOptions:
                  type: object
                  description: >-
                    Options for extraction of structured information from the
                    page content. Note: LLM-based extraction is not performed by
                    default and only occurs when explicitly configured. The
                    'markdown' mode simply returns the scraped markdown and is
                    the default mode for scraping.
                  default: {}
                  properties:
                    mode:
                      type: string
                      enum:
                        - markdown
                        - llm-extraction
                        - llm-extraction-from-raw-html
                        - llm-extraction-from-markdown
                      description: >-
                        The extraction mode to use. 'markdown': Returns the
                        scraped markdown content, does not perform LLM
                        extraction. 'llm-extraction': Extracts information from
                        the cleaned and parsed content using LLM.
                        'llm-extraction-from-raw-html': Extracts information
                        directly from the raw HTML using LLM.
                        'llm-extraction-from-markdown': Extracts information
                        from the markdown content using LLM.
                    extractionPrompt:
                      type: string
                      description: >-
                        A prompt describing what information to extract from the
                        page, applicable for LLM extraction modes.
                    extractionSchema:
                      type: object
                      additionalProperties: true
                      description: >-
                        The schema for the data to be extracted, required only
                        for LLM extraction modes.
                      required:
                        - company_mission
                        - supports_sso
                        - is_open_source
                timeout:
                  type: integer
                  description: Timeout in milliseconds for the request
                  default: 30000
              required:
                - url
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScrapeResponse'
        '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:
    ScrapeResponse:
      type: object
      properties:
        success:
          type: boolean
        data:
          type: object
          properties:
            markdown:
              type: string
            content:
              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
            metadata:
              type: object
              properties:
                title:
                  type: string
                description:
                  type: string
                language:
                  type: string
                  nullable: true
                sourceURL:
                  type: string
                  format: uri
                '<any other metadata> ':
                  type: string
                pageStatusCode:
                  type: integer
                  description: The status code of the page
                pageError:
                  type: string
                  nullable: true
                  description: The error message of the page
            llm_extraction:
              type: object
              description: >-
                Displayed when using LLM Extraction. Extracted data from the
                page following the schema defined.
              nullable: true
            warning:
              type: string
              nullable: true
              description: >-
                Can be displayed when using LLM Extraction. Warning message will
                let you know any issues with the extraction.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````