---
title: "Get a monitor"
method: GET
path: "/monitor/{monitorId}"
tags: ["Monitoring"]
---

# Get a monitor

`GET /monitor/{monitorId}`

## Path parameters

- `monitorId` string, uuid, required

## Response `200`

Monitor details

- MonitorResponse
  - `success` boolean
  - `data` Monitor
    - `id` string, uuid
    - `name` string
    - `status` 'active' | 'paused' | 'deleted'
    - `schedule` object
      - `cron` string
      - `timezone` string
    - `nextRunAt` string, date-time, nullable
    - `lastRunAt` string, date-time, nullable
    - `currentCheckId` string, uuid, nullable
    - `targets` MonitorTarget[]
      - union
        - object
          - `id` string, uuid — Optional stable ID for this target. Generated if omitted.
          - `type` 'scrape', required
          - `urls` string[], required
          - `scrapeOptions` ScrapeOptions
            - `formats` union[] — Output formats to include in the response. You can specify one or more formats, either as strings (e.g., `'markdown'`) or as objects with additional options (e.g., `{ type: 'json', schema: {...} }`). Some formats require specific options to be set. Example: `['markdown', { type: 'json', schema: {...} }]`.
              - …
            - `onlyMainContent` boolean — Only return the main content of the page excluding headers, navs, footers, etc. This is a deterministic HTML-level filter applied before markdown is generated; no LLM is involved.
            - `onlyCleanContent` boolean — Beta. Run an additional LLM-based pass over the generated markdown to remove residual boilerplate that `onlyMainContent` can miss (cookie banners, ad blocks, social share widgets, breadcrumbs, newsletter signups, comment sections, related-article lists). Headings, lists, tables, code blocks, image references, and inline links are preserved. Can be combined with `onlyMainContent` (the most common setup) or used on its own. Skipped with a warning when the markdown exceeds the cleaning model's output token limit (the original markdown is preserved). Not supported on zero-data-retention requests.
            - `includeTags` string[] — Tags to include in the output.
            - `excludeTags` string[] — Tags to exclude from the output.
            - `maxAge` integer — Returns a cached version of the page if it is younger than this age in milliseconds. If a cached version of the page is older than this value, the page will be scraped. If you do not need extremely fresh data, enabling this can speed up your scrapes by 500%. Defaults to 2 days.
            - `minAge` integer — When set, the request only checks the cache and never triggers a fresh scrape. The value is in milliseconds and specifies the minimum age the cached data must be. If matching cached data exists, it is returned instantly. If no cached data is found, a 404 with error code SCRAPE_NO_CACHED_DATA is returned. Set to 1 to accept any cached data regardless of age.
            - `headers` object — Headers to send with the request. Can be used to send cookies, user-agent, etc.
            - `waitFor` integer — Specify a delay in milliseconds before fetching the content, allowing the page sufficient time to load. This waiting time is in addition to Firecrawl's smart wait feature.
            - `mobile` boolean — Set to true if you want to emulate scraping from a mobile device. Useful for testing responsive pages and taking mobile screenshots.
            - `skipTlsVerification` boolean — Skip TLS certificate verification when making requests.
            - `timeout` integer — Timeout in milliseconds for the request. Minimum is 1000 (1 second). Default is 60000 (60 seconds). Maximum is 300000 (300 seconds).
            - `parsers` object[] — Controls how files are processed during scraping. When "pdf" is included (default), the PDF content is extracted and converted to markdown format, with billing based on the number of pages (1 credit per page). When an empty array is passed, the PDF file is returned in base64 encoding with a flat rate of 1 credit for the entire PDF.
              - …
            - `actions` union[] — Actions to perform on the page before grabbing the content
              - …
            - `location` object — Location settings for the request. When specified, this will use an appropriate proxy if available and emulate the corresponding language and timezone settings. Defaults to 'US' if not specified.
              - …
            - `removeBase64Images` boolean — Removes all base 64 images from the markdown output, which may be overwhelmingly long. This does not affect html or rawHtml formats. The image's alt text remains in the output, but the URL is replaced with a placeholder.
            - `blockAds` boolean — Enables ad-blocking and cookie popup blocking.
            - `proxy` 'basic' | 'enhanced' | 'auto' — Specifies the type of proxy to use. - **basic**: Proxies for scraping sites with none to basic anti-bot solutions. Fast and usually works. - **enhanced**: Enhanced proxies for scraping sites with advanced anti-bot solutions. Slower, but more reliable on certain sites. Costs up to 5 credits per request. - **auto**: Firecrawl will automatically retry scraping with enhanced proxies if the basic proxy fails. If the retry with enhanced is successful, 5 credits will be billed for the scrape. If the first attempt with basic is successful, only the regular cost will be billed.
            - `storeInCache` boolean — If true, the page will be stored in the Firecrawl index and cache. Setting this to false is useful if your scraping activity may have data protection concerns. Using some parameters associated with sensitive scraping (e.g. actions, headers) will force this parameter to be false.
            - `lockdown` boolean — If true, serves the request from Firecrawl's cache only and never makes an outbound request to the target URL. Designed for compliance-constrained or air-gapped environments where the scrape request itself could leak sensitive information. On cache miss, returns a 404 with error code SCRAPE_LOCKDOWN_CACHE_MISS (the URL is never logged on miss). Lockdown requests are treated as zero data retention. Default maxAge is extended to 2 years so existing cached pages remain eligible. Billed at 5 credits on hit, 1 credit on cache miss.
            - `redactPII` union — Redact personally identifiable information from returned markdown. Pass `true` to use defaults, or an object to tune mode, entities, and replacement style.
              - …
            - `profile` object — Enable persistent browser storage across scrape and interact sessions. Pass a profile when scraping to preserve cookies, localStorage, and session data. Sessions with the same profile name share browser state.
              - …
            - `threatProtection` ThreatProtectionOverride — Per-request [Threat Protection](https://docs.firecrawl.dev/features/threat-protection) override. Fields you provide replace the corresponding fields of your organization's policy for this request only; omitted fields keep their organization-level values. Requires Threat Protection to be enabled for your team (enterprise feature) — otherwise the request is rejected with a 403. If your organization has disabled request overrides, any request that includes this object is rejected with a 403. If Threat Protection is enforced for your team, `mode` may not be set to `off`.
              - …
        - object
          - `id` string, uuid — Optional stable ID for this target. Generated if omitted.
          - `type` 'crawl', required
          - `url` string, uri, required
          - `crawlOptions` object — Crawl options such as `limit`, `maxDepth`, `includePaths`, and `excludePaths`.
          - `scrapeOptions` ScrapeOptions
            - `formats` union[] — Output formats to include in the response. You can specify one or more formats, either as strings (e.g., `'markdown'`) or as objects with additional options (e.g., `{ type: 'json', schema: {...} }`). Some formats require specific options to be set. Example: `['markdown', { type: 'json', schema: {...} }]`.
              - …
            - `onlyMainContent` boolean — Only return the main content of the page excluding headers, navs, footers, etc. This is a deterministic HTML-level filter applied before markdown is generated; no LLM is involved.
            - `onlyCleanContent` boolean — Beta. Run an additional LLM-based pass over the generated markdown to remove residual boilerplate that `onlyMainContent` can miss (cookie banners, ad blocks, social share widgets, breadcrumbs, newsletter signups, comment sections, related-article lists). Headings, lists, tables, code blocks, image references, and inline links are preserved. Can be combined with `onlyMainContent` (the most common setup) or used on its own. Skipped with a warning when the markdown exceeds the cleaning model's output token limit (the original markdown is preserved). Not supported on zero-data-retention requests.
            - `includeTags` string[] — Tags to include in the output.
            - `excludeTags` string[] — Tags to exclude from the output.
            - `maxAge` integer — Returns a cached version of the page if it is younger than this age in milliseconds. If a cached version of the page is older than this value, the page will be scraped. If you do not need extremely fresh data, enabling this can speed up your scrapes by 500%. Defaults to 2 days.
            - `minAge` integer — When set, the request only checks the cache and never triggers a fresh scrape. The value is in milliseconds and specifies the minimum age the cached data must be. If matching cached data exists, it is returned instantly. If no cached data is found, a 404 with error code SCRAPE_NO_CACHED_DATA is returned. Set to 1 to accept any cached data regardless of age.
            - `headers` object — Headers to send with the request. Can be used to send cookies, user-agent, etc.
            - `waitFor` integer — Specify a delay in milliseconds before fetching the content, allowing the page sufficient time to load. This waiting time is in addition to Firecrawl's smart wait feature.
            - `mobile` boolean — Set to true if you want to emulate scraping from a mobile device. Useful for testing responsive pages and taking mobile screenshots.
            - `skipTlsVerification` boolean — Skip TLS certificate verification when making requests.
            - `timeout` integer — Timeout in milliseconds for the request. Minimum is 1000 (1 second). Default is 60000 (60 seconds). Maximum is 300000 (300 seconds).
            - `parsers` object[] — Controls how files are processed during scraping. When "pdf" is included (default), the PDF content is extracted and converted to markdown format, with billing based on the number of pages (1 credit per page). When an empty array is passed, the PDF file is returned in base64 encoding with a flat rate of 1 credit for the entire PDF.
              - …
            - `actions` union[] — Actions to perform on the page before grabbing the content
              - …
            - `location` object — Location settings for the request. When specified, this will use an appropriate proxy if available and emulate the corresponding language and timezone settings. Defaults to 'US' if not specified.
              - …
            - `removeBase64Images` boolean — Removes all base 64 images from the markdown output, which may be overwhelmingly long. This does not affect html or rawHtml formats. The image's alt text remains in the output, but the URL is replaced with a placeholder.
            - `blockAds` boolean — Enables ad-blocking and cookie popup blocking.
            - `proxy` 'basic' | 'enhanced' | 'auto' — Specifies the type of proxy to use. - **basic**: Proxies for scraping sites with none to basic anti-bot solutions. Fast and usually works. - **enhanced**: Enhanced proxies for scraping sites with advanced anti-bot solutions. Slower, but more reliable on certain sites. Costs up to 5 credits per request. - **auto**: Firecrawl will automatically retry scraping with enhanced proxies if the basic proxy fails. If the retry with enhanced is successful, 5 credits will be billed for the scrape. If the first attempt with basic is successful, only the regular cost will be billed.
            - `storeInCache` boolean — If true, the page will be stored in the Firecrawl index and cache. Setting this to false is useful if your scraping activity may have data protection concerns. Using some parameters associated with sensitive scraping (e.g. actions, headers) will force this parameter to be false.
            - `lockdown` boolean — If true, serves the request from Firecrawl's cache only and never makes an outbound request to the target URL. Designed for compliance-constrained or air-gapped environments where the scrape request itself could leak sensitive information. On cache miss, returns a 404 with error code SCRAPE_LOCKDOWN_CACHE_MISS (the URL is never logged on miss). Lockdown requests are treated as zero data retention. Default maxAge is extended to 2 years so existing cached pages remain eligible. Billed at 5 credits on hit, 1 credit on cache miss.
            - `redactPII` union — Redact personally identifiable information from returned markdown. Pass `true` to use defaults, or an object to tune mode, entities, and replacement style.
              - …
            - `profile` object — Enable persistent browser storage across scrape and interact sessions. Pass a profile when scraping to preserve cookies, localStorage, and session data. Sessions with the same profile name share browser state.
              - …
            - `threatProtection` ThreatProtectionOverride — Per-request [Threat Protection](https://docs.firecrawl.dev/features/threat-protection) override. Fields you provide replace the corresponding fields of your organization's policy for this request only; omitted fields keep their organization-level values. Requires Threat Protection to be enabled for your team (enterprise feature) — otherwise the request is rejected with a 403. If your organization has disabled request overrides, any request that includes this object is rejected with a 403. If Threat Protection is enforced for your team, `mode` may not be set to `off`.
              - …
        - object — Runs web search queries on each check and alerts on new results that match the monitor's goal. Requires a non-empty top-level `goal` on the monitor unless `judgeEnabled` is `false`.
          - `id` string, uuid — Optional stable ID for this target. Generated if omitted.
          - `type` 'search', required
          - `queries` string[], required — Search queries to run on each check (1-12).
          - `searchWindow` '5m' | '15m' | '1h' | '6h' | '24h' | '7d' — Recency filter — only consider results published within this window.
          - `maxResults` integer — Total results to evaluate per check, merged and deduped across all queries (a combined cap, not per-query).
          - `includeDomains` string[] — Optional. Restrict results to these domains.
          - `excludeDomains` string[] — Optional. Drop results from these domains.
    - `webhook` MonitorWebhook — Webhook destination for monitor page and check completion events.
      - `url` string, uri, required — The URL to send monitor webhooks to.
      - `headers` object — Headers to send to the webhook URL.
      - `metadata` object — Custom metadata included in webhook payloads.
      - `events` string[] — Monitor webhook events to receive. Defaults to all monitor events.
    - `notification` MonitorNotification
      - `email` object
        - `enabled` boolean
        - `recipients` string[]
        - `includeDiffs` boolean — Include changed page details in email summaries.
    - `retentionDays` integer
    - `estimatedCreditsPerMonth` integer, nullable — Upper-bound monthly credit estimate. When judging is enabled, actual usage may be lower because judge credits are only charged for changed pages that are judged.
    - `lastCheckSummary` MonitorSummary
      - `totalPages` integer
      - `same` integer
      - `changed` integer
      - `new` integer
      - `removed` integer
      - `error` integer
    - `goal` string, nullable
    - `judgeEnabled` boolean
    - `createdAt` string, date-time
    - `updatedAt` string, date-time

## Other responses

- `404` — Monitor not found

---

[API](https://skmtc.dev/firecrawl/apis/firecrawl-api.md) · [All operations](https://skmtc.dev/firecrawl/apis/firecrawl-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/firecrawl/firecrawl-api/revisions/e350fafb5a2a/schema)
