Exa

Exa Monitors Runs API

The Monitors Runs API from Exa — 2 operation(s) for monitors runs.

Operations 2

GET /v0/monitors/{monitor}/runs List Monitor Runs #
GET /v0/monitors/{monitor}/runs/{id} Get Monitor Run #

Documentation

Specifications

Schemas & Data

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/exa-ai-monitors-runs-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

exa-ai-monitors-runs-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Exa Monitors Monitors Runs API
  version: 2.0.0
  description: Exa Monitors API - subset of the Exa Public API.
servers:
- url: https://api.exa.ai
security:
- apiKey: []
- bearer: []
tags:
- name: Monitors Runs
paths:
  /v0/monitors/{monitor}/runs:
    servers:
    - url: https://api.exa.ai/websets
    get:
      description: Lists all runs for the Monitor.
      operationId: monitors-runs-list
      parameters:
      - name: monitor
        required: true
        in: path
        description: The id of the Monitor to list runs for
        schema:
          type: string
      responses:
        '200':
          description: List of monitor runs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListMonitorRunsResponse'
          headers:
            X-Request-Id:
              schema:
                type: string
              description: Unique identifier for the request.
              example: req_N6SsgoiaOQOPqsYKKiw5
              required: true
      summary: List Monitor Runs
      tags:
      - Monitors Runs
      security:
      - apiKey: []
      - bearer: []
      x-codeSamples:
      - lang: javascript
        label: JavaScript
        source: "// npm install exa-js\nimport Exa from \"exa-js\";\nconst exa = new Exa(\"YOUR_EXA_API_KEY\");\n\nconst runs = await exa.websets.monitors.runs.list(\"monitor_id\");\n\nconsole.log(`Found ${runs.data.length} monitor runs`);\nruns.data.forEach((run) => {\n  console.log(`- ${run.id}: ${run.status}`);\n});"
      - lang: python
        label: Python
        source: "# pip install exa-py\nfrom exa_py import Exa\n\nexa = Exa(\"YOUR_EXA_API_KEY\")\n\nruns = exa.websets.monitors.runs.list(\"monitor_id\")\n\nprint(f\"Found {len(runs.data)} monitor runs\")\nfor run in runs.data:\n    print(f\"- {run.id}: {run.status}\")"
  /v0/monitors/{monitor}/runs/{id}:
    servers:
    - url: https://api.exa.ai/websets
    get:
      description: Gets a specific monitor run.
      operationId: monitors-runs-get
      parameters:
      - name: monitor
        required: true
        in: path
        description: The id of the Monitor to get the run for
        schema:
          type: string
      - name: id
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: Monitor run details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MonitorRun'
          headers:
            X-Request-Id:
              schema:
                type: string
              description: Unique identifier for the request.
              example: req_N6SsgoiaOQOPqsYKKiw5
              required: true
      summary: Get Monitor Run
      tags:
      - Monitors Runs
      security:
      - apiKey: []
      - bearer: []
      x-codeSamples:
      - lang: javascript
        label: JavaScript
        source: '// npm install exa-js

          import Exa from "exa-js";

          const exa = new Exa("YOUR_EXA_API_KEY");


          const run = await exa.websets.monitors.runs.get("monitor_id", "run_id");


          console.log(`Monitor run: ${run.id} - ${run.status}`);'
      - lang: python
        label: Python
        source: '# pip install exa-py

          from exa_py import Exa


          exa = Exa("YOUR_EXA_API_KEY")


          run = exa.websets.monitors.runs.get("monitor_id", "run_id")


          print(f"Monitor run: {run.id} - {run.status}")'
components:
  schemas:
    MonitorRun:
      type:
      - object
      properties:
        id:
          type:
          - string
          description: The unique identifier for the Monitor Run
        object:
          type:
          - string
          enum:
          - monitor_run
          description: The type of object
        status:
          type:
          - string
          enum:
          - created
          - running
          - completed
          - canceled
          - failed
          description: The status of the Monitor Run
        monitorId:
          type:
          - string
          description: The monitor that the run is associated with
        type:
          type:
          - string
          enum:
          - search
          - refresh
          description: The type of the Monitor Run
        completedAt:
          type: string
          format: date-time
          description: When the run completed
          nullable: true
        failedAt:
          type: string
          format: date-time
          description: When the run failed
          nullable: true
        failedReason:
          type: string
          description: The reason the run failed
          nullable: true
        canceledAt:
          type: string
          format: date-time
          description: When the run was canceled
          nullable: true
        createdAt:
          type:
          - string
          format: date-time
          description: When the run was created
        updatedAt:
          type:
          - string
          format: date-time
          description: When the run was last updated
      required:
      - id
      - object
      - monitorId
      - status
      - type
      - completedAt
      - failedAt
      - failedReason
      - canceledAt
      - createdAt
      - updatedAt
    ListMonitorRunsResponse:
      type:
      - object
      properties:
        data:
          type:
          - array
          items:
            type:
            - object
            $ref: '#/components/schemas/MonitorRun'
          description: The list of monitor runs
        hasMore:
          type:
          - boolean
          description: Whether there are more results to paginate through
        nextCursor:
          type: string
          description: The cursor to paginate through the next set of results
          nullable: true
      required:
      - data
      - hasMore
      - nextCursor
  securitySchemes:
    apiKey:
      type: apiKey
      name: x-api-key
      in: header
      description: 'Pass your Exa API key in the x-api-key header. You can also authenticate with Authorization: Bearer <key>.'
    bearer:
      type: http
      scheme: bearer
      description: 'Pass your Exa API key in the x-api-key header. You can also authenticate with Authorization: Bearer <key>.'