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

# Run a Monitor now

> Run a Monitor immediately, outside its schedule.



## OpenAPI

````yaml https://agent.tinyfish.ai/v1/openapi/monitor post /v1/monitors/{id}/runs
openapi: 3.0.0
info:
  title: TinyFish Monitor API
  version: 1.0.0
  description: Track a webpage or topic on a schedule and get its changes.
  contact:
    name: TinyFish Support
    email: support@tinyfish.ai
servers:
  - url: https://agent.tinyfish.ai
security: []
paths:
  /v1/monitors/{id}/runs:
    post:
      summary: Run a Monitor now
      description: Run a Monitor immediately, outside its schedule.
      operationId: runMonitor
      parameters:
        - schema:
            type: string
            minLength: 1
            maxLength: 36
            description: Monitor ID
          required: true
          description: Monitor ID
          name: id
          in: path
      responses:
        '201':
          description: Run result
          content:
            application/json:
              schema:
                type: object
                properties:
                  run:
                    $ref: '#/components/schemas/MonitorRun'
                required:
                  - run
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        enum:
                          - MISSING_API_KEY
                          - INVALID_API_KEY
                          - INVALID_INPUT
                          - RATE_LIMIT_EXCEEDED
                          - DAILY_LIMIT_EXCEEDED
                          - INTERNAL_ERROR
                          - RETRY_REQUIRED
                          - UNAUTHORIZED
                          - VAULT_RECONNECT_REQUIRED
                          - FORBIDDEN
                          - NOT_FOUND
                          - FEATURE_NOT_AVAILABLE
                          - SERVICE_BUSY
                          - TIMEOUT
                          - INSUFFICIENT_CREDITS
                          - FREE_ALLOWANCE_EXHAUSTED
                          - CONTENT_POLICY_VIOLATION
                          - MAX_STEPS_EXCEEDED
                          - SITE_BLOCKED
                          - TASK_FAILED
                          - CANCELLED
                        description: Machine-readable error code
                        example: INVALID_INPUT
                      message:
                        type: string
                        description: Human-readable error message
                        example: Field "url" is required and must be a string
                      details:
                        nullable: true
                        description: Additional error details (validation errors, etc.)
                    required:
                      - code
                      - message
                  request_id:
                    type: string
                    description: >-
                      Request correlation ID, also returned as the X-Request-ID
                      response header. Include it when reporting issues.
                    example: 8f9dba20-e37b-4749-a919-2269e28b4a2c
                required:
                  - error
                description: Standard error response format
        '401':
          description: Unauthorized - missing or invalid API key
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        enum:
                          - MISSING_API_KEY
                          - INVALID_API_KEY
                          - INVALID_INPUT
                          - RATE_LIMIT_EXCEEDED
                          - DAILY_LIMIT_EXCEEDED
                          - INTERNAL_ERROR
                          - RETRY_REQUIRED
                          - UNAUTHORIZED
                          - VAULT_RECONNECT_REQUIRED
                          - FORBIDDEN
                          - NOT_FOUND
                          - FEATURE_NOT_AVAILABLE
                          - SERVICE_BUSY
                          - TIMEOUT
                          - INSUFFICIENT_CREDITS
                          - FREE_ALLOWANCE_EXHAUSTED
                          - CONTENT_POLICY_VIOLATION
                          - MAX_STEPS_EXCEEDED
                          - SITE_BLOCKED
                          - TASK_FAILED
                          - CANCELLED
                        description: Machine-readable error code
                        example: INVALID_INPUT
                      message:
                        type: string
                        description: Human-readable error message
                        example: Field "url" is required and must be a string
                      details:
                        nullable: true
                        description: Additional error details (validation errors, etc.)
                    required:
                      - code
                      - message
                  request_id:
                    type: string
                    description: >-
                      Request correlation ID, also returned as the X-Request-ID
                      response header. Include it when reporting issues.
                    example: 8f9dba20-e37b-4749-a919-2269e28b4a2c
                required:
                  - error
                description: Standard error response format
        '402':
          description: Payment required - wallet balance too low to run
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        enum:
                          - MISSING_API_KEY
                          - INVALID_API_KEY
                          - INVALID_INPUT
                          - RATE_LIMIT_EXCEEDED
                          - DAILY_LIMIT_EXCEEDED
                          - INTERNAL_ERROR
                          - RETRY_REQUIRED
                          - UNAUTHORIZED
                          - VAULT_RECONNECT_REQUIRED
                          - FORBIDDEN
                          - NOT_FOUND
                          - FEATURE_NOT_AVAILABLE
                          - SERVICE_BUSY
                          - TIMEOUT
                          - INSUFFICIENT_CREDITS
                          - FREE_ALLOWANCE_EXHAUSTED
                          - CONTENT_POLICY_VIOLATION
                          - MAX_STEPS_EXCEEDED
                          - SITE_BLOCKED
                          - TASK_FAILED
                          - CANCELLED
                        description: Machine-readable error code
                        example: INVALID_INPUT
                      message:
                        type: string
                        description: Human-readable error message
                        example: Field "url" is required and must be a string
                      details:
                        nullable: true
                        description: Additional error details (validation errors, etc.)
                    required:
                      - code
                      - message
                  request_id:
                    type: string
                    description: >-
                      Request correlation ID, also returned as the X-Request-ID
                      response header. Include it when reporting issues.
                    example: 8f9dba20-e37b-4749-a919-2269e28b4a2c
                required:
                  - error
                description: Standard error response format
        '403':
          description: Forbidden - team API keys cannot manage Monitors
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        enum:
                          - MISSING_API_KEY
                          - INVALID_API_KEY
                          - INVALID_INPUT
                          - RATE_LIMIT_EXCEEDED
                          - DAILY_LIMIT_EXCEEDED
                          - INTERNAL_ERROR
                          - RETRY_REQUIRED
                          - UNAUTHORIZED
                          - VAULT_RECONNECT_REQUIRED
                          - FORBIDDEN
                          - NOT_FOUND
                          - FEATURE_NOT_AVAILABLE
                          - SERVICE_BUSY
                          - TIMEOUT
                          - INSUFFICIENT_CREDITS
                          - FREE_ALLOWANCE_EXHAUSTED
                          - CONTENT_POLICY_VIOLATION
                          - MAX_STEPS_EXCEEDED
                          - SITE_BLOCKED
                          - TASK_FAILED
                          - CANCELLED
                        description: Machine-readable error code
                        example: INVALID_INPUT
                      message:
                        type: string
                        description: Human-readable error message
                        example: Field "url" is required and must be a string
                      details:
                        nullable: true
                        description: Additional error details (validation errors, etc.)
                    required:
                      - code
                      - message
                  request_id:
                    type: string
                    description: >-
                      Request correlation ID, also returned as the X-Request-ID
                      response header. Include it when reporting issues.
                    example: 8f9dba20-e37b-4749-a919-2269e28b4a2c
                required:
                  - error
                description: Standard error response format
        '404':
          description: Monitor not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        enum:
                          - MISSING_API_KEY
                          - INVALID_API_KEY
                          - INVALID_INPUT
                          - RATE_LIMIT_EXCEEDED
                          - DAILY_LIMIT_EXCEEDED
                          - INTERNAL_ERROR
                          - RETRY_REQUIRED
                          - UNAUTHORIZED
                          - VAULT_RECONNECT_REQUIRED
                          - FORBIDDEN
                          - NOT_FOUND
                          - FEATURE_NOT_AVAILABLE
                          - SERVICE_BUSY
                          - TIMEOUT
                          - INSUFFICIENT_CREDITS
                          - FREE_ALLOWANCE_EXHAUSTED
                          - CONTENT_POLICY_VIOLATION
                          - MAX_STEPS_EXCEEDED
                          - SITE_BLOCKED
                          - TASK_FAILED
                          - CANCELLED
                        description: Machine-readable error code
                        example: INVALID_INPUT
                      message:
                        type: string
                        description: Human-readable error message
                        example: Field "url" is required and must be a string
                      details:
                        nullable: true
                        description: Additional error details (validation errors, etc.)
                    required:
                      - code
                      - message
                  request_id:
                    type: string
                    description: >-
                      Request correlation ID, also returned as the X-Request-ID
                      response header. Include it when reporting issues.
                    example: 8f9dba20-e37b-4749-a919-2269e28b4a2c
                required:
                  - error
                description: Standard error response format
        '409':
          description: >-
            Monitor is not runnable in its current state, or the run raced;
            retry only for the latter
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        enum:
                          - MISSING_API_KEY
                          - INVALID_API_KEY
                          - INVALID_INPUT
                          - RATE_LIMIT_EXCEEDED
                          - DAILY_LIMIT_EXCEEDED
                          - INTERNAL_ERROR
                          - RETRY_REQUIRED
                          - UNAUTHORIZED
                          - VAULT_RECONNECT_REQUIRED
                          - FORBIDDEN
                          - NOT_FOUND
                          - FEATURE_NOT_AVAILABLE
                          - SERVICE_BUSY
                          - TIMEOUT
                          - INSUFFICIENT_CREDITS
                          - FREE_ALLOWANCE_EXHAUSTED
                          - CONTENT_POLICY_VIOLATION
                          - MAX_STEPS_EXCEEDED
                          - SITE_BLOCKED
                          - TASK_FAILED
                          - CANCELLED
                        description: Machine-readable error code
                        example: INVALID_INPUT
                      message:
                        type: string
                        description: Human-readable error message
                        example: Field "url" is required and must be a string
                      details:
                        nullable: true
                        description: Additional error details (validation errors, etc.)
                    required:
                      - code
                      - message
                  request_id:
                    type: string
                    description: >-
                      Request correlation ID, also returned as the X-Request-ID
                      response header. Include it when reporting issues.
                    example: 8f9dba20-e37b-4749-a919-2269e28b4a2c
                required:
                  - error
                description: Standard error response format
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        enum:
                          - MISSING_API_KEY
                          - INVALID_API_KEY
                          - INVALID_INPUT
                          - RATE_LIMIT_EXCEEDED
                          - DAILY_LIMIT_EXCEEDED
                          - INTERNAL_ERROR
                          - RETRY_REQUIRED
                          - UNAUTHORIZED
                          - VAULT_RECONNECT_REQUIRED
                          - FORBIDDEN
                          - NOT_FOUND
                          - FEATURE_NOT_AVAILABLE
                          - SERVICE_BUSY
                          - TIMEOUT
                          - INSUFFICIENT_CREDITS
                          - FREE_ALLOWANCE_EXHAUSTED
                          - CONTENT_POLICY_VIOLATION
                          - MAX_STEPS_EXCEEDED
                          - SITE_BLOCKED
                          - TASK_FAILED
                          - CANCELLED
                        description: Machine-readable error code
                        example: INVALID_INPUT
                      message:
                        type: string
                        description: Human-readable error message
                        example: Field "url" is required and must be a string
                      details:
                        nullable: true
                        description: Additional error details (validation errors, etc.)
                    required:
                      - code
                      - message
                  request_id:
                    type: string
                    description: >-
                      Request correlation ID, also returned as the X-Request-ID
                      response header. Include it when reporting issues.
                    example: 8f9dba20-e37b-4749-a919-2269e28b4a2c
                required:
                  - error
                description: Standard error response format
        '502':
          description: Upstream scheduler or run service failed
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        enum:
                          - MISSING_API_KEY
                          - INVALID_API_KEY
                          - INVALID_INPUT
                          - RATE_LIMIT_EXCEEDED
                          - DAILY_LIMIT_EXCEEDED
                          - INTERNAL_ERROR
                          - RETRY_REQUIRED
                          - UNAUTHORIZED
                          - VAULT_RECONNECT_REQUIRED
                          - FORBIDDEN
                          - NOT_FOUND
                          - FEATURE_NOT_AVAILABLE
                          - SERVICE_BUSY
                          - TIMEOUT
                          - INSUFFICIENT_CREDITS
                          - FREE_ALLOWANCE_EXHAUSTED
                          - CONTENT_POLICY_VIOLATION
                          - MAX_STEPS_EXCEEDED
                          - SITE_BLOCKED
                          - TASK_FAILED
                          - CANCELLED
                        description: Machine-readable error code
                        example: INVALID_INPUT
                      message:
                        type: string
                        description: Human-readable error message
                        example: Field "url" is required and must be a string
                      details:
                        nullable: true
                        description: Additional error details (validation errors, etc.)
                    required:
                      - code
                      - message
                  request_id:
                    type: string
                    description: >-
                      Request correlation ID, also returned as the X-Request-ID
                      response header. Include it when reporting issues.
                    example: 8f9dba20-e37b-4749-a919-2269e28b4a2c
                required:
                  - error
                description: Standard error response format
        '503':
          description: Monitor storage unavailable; retry
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        enum:
                          - MISSING_API_KEY
                          - INVALID_API_KEY
                          - INVALID_INPUT
                          - RATE_LIMIT_EXCEEDED
                          - DAILY_LIMIT_EXCEEDED
                          - INTERNAL_ERROR
                          - RETRY_REQUIRED
                          - UNAUTHORIZED
                          - VAULT_RECONNECT_REQUIRED
                          - FORBIDDEN
                          - NOT_FOUND
                          - FEATURE_NOT_AVAILABLE
                          - SERVICE_BUSY
                          - TIMEOUT
                          - INSUFFICIENT_CREDITS
                          - FREE_ALLOWANCE_EXHAUSTED
                          - CONTENT_POLICY_VIOLATION
                          - MAX_STEPS_EXCEEDED
                          - SITE_BLOCKED
                          - TASK_FAILED
                          - CANCELLED
                        description: Machine-readable error code
                        example: INVALID_INPUT
                      message:
                        type: string
                        description: Human-readable error message
                        example: Field "url" is required and must be a string
                      details:
                        nullable: true
                        description: Additional error details (validation errors, etc.)
                    required:
                      - code
                      - message
                  request_id:
                    type: string
                    description: >-
                      Request correlation ID, also returned as the X-Request-ID
                      response header. Include it when reporting issues.
                    example: 8f9dba20-e37b-4749-a919-2269e28b4a2c
                required:
                  - error
                description: Standard error response format
      security:
        - ApiKeyAuth: []
components:
  schemas:
    MonitorRun:
      anyOf:
        - type: object
          properties:
            results:
              type: array
              items:
                type: object
                properties:
                  url:
                    type: string
                    description: Original requested URL
                    example: https://example.com
                  final_url:
                    type: string
                    nullable: true
                    description: Final URL after redirects
                    example: https://www.example.com
                  title:
                    type: string
                    nullable: true
                    description: Page title
                    example: Example Domain
                  description:
                    type: string
                    nullable: true
                    description: Page meta description
                    example: This domain is for use in illustrative examples.
                  language:
                    type: string
                    nullable: true
                    description: Detected language code
                    example: en
                  format:
                    type: string
                    enum:
                      - markdown
                      - html
                      - json
                    description: Format of the extracted text
                    example: markdown
                  text:
                    anyOf:
                      - type: string
                      - {}
                      - nullable: true
                    description: >-
                      Extracted content (string for markdown/html, object for
                      json). Null if extraction failed.
                  author:
                    type: string
                    nullable: true
                    description: Page author if available
                    example: John Doe
                  published_date:
                    type: string
                    nullable: true
                    description: Published date if available
                    example: '2024-01-15'
                  links:
                    type: array
                    items:
                      type: string
                    description: Extracted links (only if links=true in request)
                  image_links:
                    type: array
                    items:
                      type: string
                    description: >-
                      Extracted image links (only if image_links=true in
                      request)
                  iframe_links:
                    type: array
                    items:
                      type: string
                    description: >-
                      Extracted <iframe src> URLs, absolute and deduplicated
                      (only if iframe_links=true in request)
                  page_metadata:
                    type: object
                    additionalProperties:
                      nullable: true
                    description: >-
                      Page-head metadata (only if page_metadata=true in
                      request): canonical, favicon, robots, generator, viewport,
                      keywords, plus nested og/twitter/article objects keyed by
                      tag suffix and remaining named meta tags under `other`.
                      Tags that legitimately repeat (og:image,
                      og:locale:alternate, article:tag, article:author) collect
                      into arrays. Keys are omitted when the page does not
                      declare them; the whole field is omitted when the page
                      exposes none.
                    example:
                      canonical: https://example.com
                      robots: max-image-preview:large
                      og:
                        title: Example Domain
                        image:
                          - https://example.com/og.png
                      twitter:
                        card: summary_large_image
                  latency_ms:
                    type: number
                    nullable: true
                    description: >-
                      Fetch latency for this URL in milliseconds if available
                      from tf-fetch
                    example: 1183.4
                  not_modified:
                    type: boolean
                    description: >-
                      Present and `true` only when the origin returned 304 Not
                      Modified for your `if_none_match`/`if_modified_since`;
                      omitted otherwise.
                    example: true
                  etag:
                    type: string
                    description: >-
                      The origin's current ETag validator, present only when the
                      origin sent one and you set
                      `include_etag_and_last_modified: true`; omitted otherwise.
                      Store it and replay it as `if_none_match`.
                    example: W/"abc123"
                  last_modified:
                    type: string
                    description: >-
                      The origin's current Last-Modified validator, present only
                      when the origin sent one and you set
                      `include_etag_and_last_modified: true`; omitted otherwise.
                      Store it and replay it as `if_modified_since`.
                    example: Wed, 21 Oct 2015 07:28:00 GMT
                  unmatched_selectors:
                    type: array
                    items:
                      type: string
                    description: >-
                      Partial-miss report for `include_selectors`: the entries
                      that matched no elements on this page, present only when
                      some (but not all) entries matched — the result still
                      carries the matched content. Omitted when every entry
                      matched. A total miss is not a result at all: it is
                      reported as a `selector_not_matched` entry in `errors[]`.
                    example:
                      - aside.related
                required:
                  - url
                  - final_url
                  - title
                  - description
                  - language
                  - format
                  - text
                  - author
                  - published_date
              description: Successfully fetched URLs
            errors:
              type: array
              items:
                type: object
                properties:
                  url:
                    type: string
                    description: URL that failed to fetch
                    example: https://invalid.example.com
                  error:
                    type: string
                    description: >-
                      Error code describing the failure. Possible values:
                      `target_http_error` (target server returned a non-2xx HTTP
                      status other than 404/410 — see `status` field),
                      `page_not_found` (target returned HTTP 404 or 410),
                      `target_unreachable` (connection refused, TLS failure, or
                      network error), `timeout` (request timed out),
                      `proxy_error` (proxy tunnel failure), `bot_blocked`
                      (bot-challenge page detected), `empty_content` (page
                      loaded but no extractable text), `login_required` (target
                      redirected to a login or account wall; the page is not
                      served to anonymous sessions, so retrying without
                      credentials will not help), `content_too_large` (document
                      exceeds the 20MB size limit for generic documents — not
                      retried in the browser; PDF and CSV have their own 50MB
                      budgets), `invalid_url` (malformed URL or SSRF-blocked
                      address), `invalid_redirect_url` (redirect target rejected
                      before fetch), `conditional_unsupported` (conditional
                      requests are supported on the fast path only; this URL
                      requires browser rendering), `selector_not_matched` (no
                      elements matching any `include_selectors` entry remained
                      after `exclude_selectors` was applied — a total miss;
                      carries `unmatched_selectors` and `candidate_selectors`
                      retry hints. A partial miss is NOT an error: it is
                      reported via the result's `unmatched_selectors`),
                      `selector_unsupported`
                      (`include_selectors`/`exclude_selectors` sent for a URL
                      that resolves to a direct PDF/CSV download — no HTML to
                      scope).
                    example: target_http_error
                  status:
                    type: integer
                    description: >-
                      Upstream HTTP status code. Only present when `error` is
                      `target_http_error` or `page_not_found`.
                    example: 404
                  unmatched_selectors:
                    type: array
                    items:
                      type: string
                    description: >-
                      The `include_selectors` entries that matched no elements
                      on the fetched page. Only present when `error` is
                      `selector_not_matched`.
                    example:
                      - article
                      - '#content'
                  candidate_selectors:
                    type: array
                    items:
                      type: string
                    description: >-
                      Cheap retry hints (max 10), only present when `error` is
                      `selector_not_matched`: landmark tags present on the page
                      (e.g. `main`, `article`, `nav`) plus `#id` selectors of
                      content-heavy elements. Retry the fetch with
                      `include_selectors` drawn from this list.
                    example:
                      - main
                      - nav
                      - '#content'
                required:
                  - url
                  - error
                description: A URL that failed to fetch
              description: URLs that failed to fetch
            request_id:
              type: string
              description: >-
                Request correlation ID, also returned as the X-Request-ID
                response header. Present only when errors is non-empty; include
                it when reporting failed URLs.
              example: 8f9dba20-e37b-4749-a919-2269e28b4a2c
            id:
              type: string
            is_baseline:
              type: boolean
              description: True for the first run; nothing to compare.
          required:
            - results
            - errors
            - id
            - is_baseline
        - type: object
          properties:
            id:
              type: string
            request_id:
              type: string
            query:
              type: string
            status_code:
              type: integer
            result_count:
              type: integer
            results:
              type: array
              items:
                type: object
                properties:
                  position:
                    type: integer
                    description: Position in search results
                    example: 1
                  site_name:
                    type: string
                    description: Site name
                    example: example.com
                  snippet:
                    type: string
                    description: Text snippet from the result
                    example: This is an example snippet...
                  title:
                    type: string
                    description: Page title
                    example: Example Page
                  url:
                    type: string
                    format: uri
                    description: Result URL
                    example: https://example.com/page
                  thumbnail_url:
                    type: string
                    format: uri
                    description: >-
                      Thumbnail image URL, present only when
                      include_thumbnail=true and a thumbnail is available
                    example: https://example.com/thumb.jpg
                  fetch:
                    nullable: true
                    description: >-
                      Fetched page content, present only when fetch param is
                      supplied
                  fetch_error:
                    nullable: true
                    description: >-
                      Fetch error details when fetch was requested. Contains
                      details on failure; may be null when fetching succeeds.
                  date:
                    type: string
                    description: Publication date, present for news and some web results
                  publisher:
                    type: string
                    description: >-
                      Publisher name, present for news results when
                      domain_type=news
                  authors:
                    type: array
                    items:
                      type: string
                    description: >-
                      Author list, present for academic results when
                      domain_type=research_paper
                  venue:
                    type: string
                    description: >-
                      Journal or conference name, present when
                      domain_type=research_paper
                  year:
                    type: integer
                    description: Publication year, present when domain_type=research_paper
                  cited_by_count:
                    type: integer
                    description: Citation count, present when domain_type=research_paper
                  pdf_url:
                    type: string
                    description: >-
                      PDF URL, present when domain_type=research_paper and a PDF
                      is available
                required:
                  - position
                  - site_name
                  - snippet
                  - title
                  - url
                description: A single search result
            new_result_positions:
              type: array
              items:
                type: integer
              description: Positions of results not seen in earlier runs
            created_at:
              type: string
              format: date-time
          required:
            - id
            - request_id
            - query
            - status_code
            - result_count
            - results
            - new_result_positions
            - created_at
      description: Fetch result for Page Monitors, Search for Topic
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: API key for authentication. Get your key from the API Keys page.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.