---
title: "Get a Monitor"
method: GET
path: "/monitors/{id}"
tags: ["Monitors"]
---

# Get a Monitor

`GET /monitors/{id}`

Retrieves a single monitor by its ID.

## Path parameters

- `id` string, required — The monitor ID

## Response `200`

The monitor

- SearchMonitor
  - `id` string, required — The unique identifier for the monitor
  - `name` string, nullable, required — An optional display name
  - `status` 'active' | 'paused' | 'disabled', required — The status of the monitor. `active` monitors run on schedule and can be triggered manually. `paused` monitors can only be triggered manually. `disabled` monitors are auto-disabled after 10 consecutive authentication failures.
  - `search` SearchMonitorSearchOutput, required
    - `query` string, required — The query string for the search.
    - `numResults` integer — Number of results to return. Limits vary by search type. The maximum public limit is 100 results. Contact sales (hello@exa.ai) to discuss higher limits.
    - `contents` SearchMonitorContentsOutput — Content extraction options applied to each search result. All fields are optional.
      - `text` union — Text extraction options for each result.
        - boolean — If true, returns full page text with default settings. If false, disables text return.
        - object — Advanced options for controlling text extraction. Use this when you need to limit text length or include HTML structure.
          - `maxCharacters` integer, nullable — Maximum character limit for the full page text. Useful for controlling response size and API costs. Maximum supported value is 10000.
          - `includeHtmlTags` boolean, nullable — If true, include lightweight HTML tags in returned text instead of plain markdown-style text. Use maxAgeHours: 0 when you need this applied to freshly fetched content.
          - `verbosity` 'compact' | 'standard' | 'full', nullable — Controls text rendering verbosity. compact focuses on main content, standard includes more surrounding page context, and full requests the most complete rendered text. Some pages may produce identical standard and full output. Use maxAgeHours: 0 when you need this applied to freshly fetched content.
          - `includeSections` string[], nullable — Best-effort. Only include content classified into these semantic page sections. Section classification may be unavailable or incomplete for some pages; validate output if strict filtering is required. Use maxAgeHours: 0 when you need this applied to freshly fetched content.
          - `excludeSections` string[], nullable — Exclude content classified into these semantic page sections. Section classification is best-effort. Use maxAgeHours: 0 when you need this applied to freshly fetched content.
      - `highlights` union — Text snippets the LLM identifies as most relevant from each page.
        - boolean — If true, returns highlights with default settings. If false, disables highlights.
        - object — Advanced options for steering highlight extraction. Pass highlights: true for the highest-quality default; supply this object only when you need to guide selection with your own query.
          - `query` string, nullable — Custom query that guides which highlights the LLM picks.
          - `maxCharacters` integer, nullable — Maximum number of characters to return for highlights. Controls the total length of highlight text returned per URL. Maximum supported value is 10000.
          - `numSentences` integer, nullable — Deprecated and will be removed in a future release. Currently mapped to a character budget of about 1333 characters per sentence. Pass highlights: true for default highlights, or { query } to guide selection with your own query.
          - `highlightsPerUrl` integer, nullable — Deprecated and will be removed in a future release. Currently ignored. Pass highlights: true for default highlights, or { query } to guide selection with your own query.
      - `summary` union — Return an LLM-generated summary. Pass `true` for defaults, or an object with `query` and `maxTokens`.
        - boolean
        - object
          - `query` string, nullable — Custom query for the LLM-generated summary.
          - `maxTokens` integer — Maximum tokens for the generated summary.
      - `extras` object — Extra parameters to pass.
        - `links` integer, nullable — Number of URLs to return from each webpage.
        - `imageLinks` integer, nullable — Number of images to return for each result.
        - `richImageLinks` integer, nullable — Number of rich image links to return for each result.
        - `richLinks` integer, nullable — Number of rich links to return for each result.
        - `codeBlocks` integer, nullable — Number of code blocks to return for each result.
      - `context` union — Deprecated: Use highlights or text instead. Returns page contents as a combined context string.
        - boolean — Deprecated: Use highlights or text instead. Returns page contents as a combined context string.
        - object — Deprecated: Use highlights or text instead. Returns page contents as a combined context string.
          - `maxCharacters` integer — Deprecated. Maximum character limit for the context string. Maximum supported value is 10000.
      - `livecrawl` union — Crawl strategy for fetching page content
        - 'never' | 'always' | 'fallback' | 'preferred'
        - 'auto'
      - `livecrawlTimeout` integer — The timeout for livecrawling in milliseconds.
      - `maxAgeHours` integer — Maximum age of cached content in hours. Positive values use cached content if it is less than this many hours old; 0 fetches fresh content and is the supported way to apply text rendering options to newly fetched pages; -1 always uses cache; omitted uses fallback fetching when cached content is unavailable. Maximum supported value is 720 hours.
      - `filterEmptyResults` boolean — Filter out results with no content
      - `subpages` integer — The number of subpages to crawl. The actual number crawled may be limited by system constraints.
      - `subpageTarget` union — Term to find specific subpages of search results. Can be a single string or an array of strings.
        - string
        - string[]
  - `trigger` SearchMonitorTriggerOutput, required
    - `type` 'interval', required — The type of trigger. Currently only `interval` is supported.
    - `period` string, required — A duration string specifying how often the monitor runs (e.g., "1h", "6h", "1d", "7d"). Single-unit only. Minimum interval is 1 hour. The schedule is anchored to the monitor's creation time (e.g., a daily monitor created at 2:30 PM runs daily around 2:30 PM).
  - `outputSchema` union, required — Controls the format of the run output. Defaults to `{ "type": "text" }` if not specified. When `type` is `"text"`, the output is a plain text summary. When `type` is `"object"`, the output is structured JSON. If no `properties` are specified with `"object"` type, a schema is inferred automatically; otherwise the output adheres to the provided schema.
    - object
      - `type` 'text', required
      - `description` string
    - object
      - `type` 'object', required
      - `description` string
      - `properties` object
      - `required` string[]
      - `additionalProperties` boolean
  - `metadata` object, nullable, required — Caller-provided key-value metadata for your own tracking.
  - `webhook` SearchMonitorWebhookOutput, required
    - `url` string, uri, required — The HTTPS URL to receive webhook events. Must not point to localhost or private IP ranges.
    - `events` string[] — Which events to subscribe to. Defaults to all events if not specified.
  - `nextRunAt` string, date-time, nullable, required — When the next scheduled run will occur. Null if no trigger is set.
  - `createdAt` string, date-time, required — When the monitor was created
  - `updatedAt` string, date-time, required — When the monitor was last updated

---

[API](https://skmtc.net/exa/apis/exa-public-api.md) · [All operations](https://skmtc.net/exa/apis/exa-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/exa/exa-public-api/versions/5c7114e0ef43/schema)
