Firecrawl · Capability

Firecrawl API — Scraping

Firecrawl API — Scraping. 8 operations. Lead operation: Scrape multiple URLs and optionally extract information using an LLM. Self-contained Naftiko capability covering one Firecrawl business surface.

Run with Naftiko FirecrawlScraping

What You Can Do

POST
Scrapeandextractfromurls — Scrape multiple URLs and optionally extract information using an LLM
/v1/batch/scrape
GET
Getbatchscrapestatus — Get the status of a batch scrape job
/v1/batch/scrape/{id}
DELETE
Cancelbatchscrape — Cancel a batch scrape job
/v1/batch/scrape/{id}
GET
Getbatchscrapeerrors — Get the errors of a batch scrape job
/v1/batch/scrape/{id}/errors
POST
Parsefile — Upload and parse a file
/v1/parse
POST
Scrapeandextractfromurl — Scrape a single URL and optionally extract information using an LLM
/v1/scrape
POST
Interactwithscrapebrowsersession — Interact with the browser session associated with a scrape job
/v1/scrape/{jobid}/interact
DELETE
Stopinteractivescrapebrowsersession — Stop the interactive browser session associated with a scrape job
/v1/scrape/{jobid}/interact

MCP Tools

scrape-multiple-urls-and-optionally

Scrape multiple URLs and optionally extract information using an LLM

get-status-batch-scrape-job

Get the status of a batch scrape job

read-only idempotent
cancel-batch-scrape-job

Cancel a batch scrape job

idempotent
get-errors-batch-scrape-job

Get the errors of a batch scrape job

read-only idempotent
upload-and-parse-file

Upload and parse a file

scrape-single-url-and-optionally

Scrape a single URL and optionally extract information using an LLM

interact-browser-session-associated-scrape

Interact with the browser session associated with a scrape job

stop-interactive-browser-session-associated

Stop the interactive browser session associated with a scrape job

idempotent

Capability Spec

firecrawl-scraping.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Firecrawl API — Scraping
  description: 'Firecrawl API — Scraping. 8 operations. Lead operation: Scrape multiple URLs and optionally extract information
    using an LLM. Self-contained Naftiko capability covering one Firecrawl business surface.'
  tags:
  - Firecrawl
  - Scraping
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    FIRECRAWL_API_KEY: FIRECRAWL_API_KEY
capability:
  consumes:
  - type: http
    namespace: firecrawl-scraping
    baseUri: https://api.firecrawl.dev/v2
    description: Firecrawl API — Scraping business capability. Self-contained, no shared references.
    resources:
    - name: batch-scrape
      path: /batch/scrape
      operations:
      - name: scrapeandextractfromurls
        method: POST
        description: Scrape multiple URLs and optionally extract information using an LLM
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: batch-scrape-id
      path: /batch/scrape/{id}
      operations:
      - name: getbatchscrapestatus
        method: GET
        description: Get the status of a batch scrape job
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: cancelbatchscrape
        method: DELETE
        description: Cancel a batch scrape job
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: batch-scrape-id-errors
      path: /batch/scrape/{id}/errors
      operations:
      - name: getbatchscrapeerrors
        method: GET
        description: Get the errors of a batch scrape job
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: parse
      path: /parse
      operations:
      - name: parsefile
        method: POST
        description: Upload and parse a file
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: scrape
      path: /scrape
      operations:
      - name: scrapeandextractfromurl
        method: POST
        description: Scrape a single URL and optionally extract information using an LLM
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: scrape-jobId-interact
      path: /scrape/{jobId}/interact
      operations:
      - name: interactwithscrapebrowsersession
        method: POST
        description: Interact with the browser session associated with a scrape job
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: jobId
          in: path
          type: string
          description: The scrape job ID
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: stopinteractivescrapebrowsersession
        method: DELETE
        description: Stop the interactive browser session associated with a scrape job
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: jobId
          in: path
          type: string
          description: The scrape job ID
          required: true
    authentication:
      type: bearer
      token: '{{env.FIRECRAWL_API_KEY}}'
  exposes:
  - type: rest
    namespace: firecrawl-scraping-rest
    port: 8080
    description: REST adapter for Firecrawl API — Scraping. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/batch/scrape
      name: batch-scrape
      description: REST surface for batch-scrape.
      operations:
      - method: POST
        name: scrapeandextractfromurls
        description: Scrape multiple URLs and optionally extract information using an LLM
        call: firecrawl-scraping.scrapeandextractfromurls
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/batch/scrape/{id}
      name: batch-scrape-id
      description: REST surface for batch-scrape-id.
      operations:
      - method: GET
        name: getbatchscrapestatus
        description: Get the status of a batch scrape job
        call: firecrawl-scraping.getbatchscrapestatus
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: cancelbatchscrape
        description: Cancel a batch scrape job
        call: firecrawl-scraping.cancelbatchscrape
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/batch/scrape/{id}/errors
      name: batch-scrape-id-errors
      description: REST surface for batch-scrape-id-errors.
      operations:
      - method: GET
        name: getbatchscrapeerrors
        description: Get the errors of a batch scrape job
        call: firecrawl-scraping.getbatchscrapeerrors
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/parse
      name: parse
      description: REST surface for parse.
      operations:
      - method: POST
        name: parsefile
        description: Upload and parse a file
        call: firecrawl-scraping.parsefile
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/scrape
      name: scrape
      description: REST surface for scrape.
      operations:
      - method: POST
        name: scrapeandextractfromurl
        description: Scrape a single URL and optionally extract information using an LLM
        call: firecrawl-scraping.scrapeandextractfromurl
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/scrape/{jobid}/interact
      name: scrape-jobid-interact
      description: REST surface for scrape-jobId-interact.
      operations:
      - method: POST
        name: interactwithscrapebrowsersession
        description: Interact with the browser session associated with a scrape job
        call: firecrawl-scraping.interactwithscrapebrowsersession
        with:
          jobId: rest.jobId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: stopinteractivescrapebrowsersession
        description: Stop the interactive browser session associated with a scrape job
        call: firecrawl-scraping.stopinteractivescrapebrowsersession
        with:
          jobId: rest.jobId
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: firecrawl-scraping-mcp
    port: 9090
    transport: http
    description: MCP adapter for Firecrawl API — Scraping. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: scrape-multiple-urls-and-optionally
      description: Scrape multiple URLs and optionally extract information using an LLM
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: firecrawl-scraping.scrapeandextractfromurls
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-status-batch-scrape-job
      description: Get the status of a batch scrape job
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: firecrawl-scraping.getbatchscrapestatus
      outputParameters:
      - type: object
        mapping: $.
    - name: cancel-batch-scrape-job
      description: Cancel a batch scrape job
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: firecrawl-scraping.cancelbatchscrape
      outputParameters:
      - type: object
        mapping: $.
    - name: get-errors-batch-scrape-job
      description: Get the errors of a batch scrape job
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: firecrawl-scraping.getbatchscrapeerrors
      outputParameters:
      - type: object
        mapping: $.
    - name: upload-and-parse-file
      description: Upload and parse a file
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: firecrawl-scraping.parsefile
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: scrape-single-url-and-optionally
      description: Scrape a single URL and optionally extract information using an LLM
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: firecrawl-scraping.scrapeandextractfromurl
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: interact-browser-session-associated-scrape
      description: Interact with the browser session associated with a scrape job
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: firecrawl-scraping.interactwithscrapebrowsersession
      with:
        jobId: tools.jobId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: stop-interactive-browser-session-associated
      description: Stop the interactive browser session associated with a scrape job
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: firecrawl-scraping.stopinteractivescrapebrowsersession
      with:
        jobId: tools.jobId
      outputParameters:
      - type: object
        mapping: $.