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

# List Monitor Checks

> A monitor's checks, newest first, with a summary of each.

```bash theme={null}
curl "https://api.spidra.io/api/monitors/d6761e12-b011-4633-a593-fa6be2ef466c/checks" \
  -H "Authorization: Bearer $SPIDRA_API_KEY"
```

```json theme={null}
{
  "status": "success",
  "total": 2,
  "page": 1,
  "checks": [
    {
      "id": "45da0eb4-7969-4beb-861d-107ce34178e1",
      "trigger": "manual",
      "status": "completed",
      "startedAt": "2026-10-24T18:51:26.000Z",
      "finishedAt": "2026-10-24T18:51:33.000Z",
      "creditsUsed": 1,
      "hasChanges": true,
      "summary": "1 page changed",
      "notified": false,
      "judgment": null,
      "error": null
    },
    {
      "id": "63922522-ede6-42b3-88af-a74b033645b4",
      "trigger": "manual",
      "status": "completed",
      "startedAt": "2026-10-24T18:50:08.000Z",
      "finishedAt": "2026-10-24T18:50:15.000Z",
      "creditsUsed": 1,
      "hasChanges": false,
      "summary": "Started watching (1 item)",
      "notified": false,
      "judgment": null,
      "error": null
    }
  ]
}
```

The changes themselves are in [Get a Monitor Check](https://docs.spidra.io/api-reference/monitors/get-check.md). Checks are kept for 30 days.

| `status` | Meaning |
| - | - |
| `running` | In progress. |
| `completed` | Every source was read. |
| `partial` | Some sources failed. The others were compared as usual. |
| `failed` | No source could be read. `error` says why. |
| `skipped` | Out of credits, or the previous check was still running. Nothing was charged. |

`trigger` is `schedule` or `manual` (the first check and [Check now](https://docs.spidra.io/api-reference/monitors/check-now.md)).


## OpenAPI

````yaml GET /monitors/{monitorId}/checks
openapi: 3.1.0
info:
  title: Spidra API
  version: 1.0.0
  description: >-
    Public API endpoints for web scraping via Spidra. Authenticate with
    `Authorization: Bearer YOUR_API_KEY`.
servers:
  - url: https://api.spidra.io/api
security:
  - BearerAuth: []
  - ApiKeyAuth: []
paths:
  /monitors/{monitorId}/checks:
    get:
      tags:
        - Monitors
      summary: List Monitor Checks
      description: >-
        A monitor's checks, newest first, without the changes themselves. Checks
        are kept for 30 days.
      parameters:
        - name: monitorId
          in: path
          required: true
          schema:
            type: string
          description: The monitor's ID.
        - name: page
          in: query
          required: false
          schema:
            type: integer
            default: 1
            minimum: 1
          description: Page number.
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            default: 20
            minimum: 1
            maximum: 100
          description: Checks per page.
      responses:
        '200':
          description: The checks.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                      - success
                  total:
                    type: integer
                  page:
                    type: integer
                  checks:
                    type: array
                    items:
                      $ref: '#/components/schemas/MonitorCheck'
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: No monitor with this ID on your account (`NOT_FOUND`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    MonitorCheck:
      type: object
      properties:
        id:
          type: string
        trigger:
          type: string
          enum:
            - schedule
            - manual
        status:
          type: string
          enum:
            - running
            - completed
            - partial
            - failed
            - skipped
          description: '`skipped`: out of credits, or the previous check was still running.'
        startedAt:
          type:
            - string
            - 'null'
          format: date-time
        finishedAt:
          type:
            - string
            - 'null'
          format: date-time
        creditsUsed:
          type:
            - number
            - 'null'
        hasChanges:
          type: boolean
        summary:
          type:
            - string
            - 'null'
        notified:
          type: boolean
          description: Whether an alert went out.
        judgment:
          type:
            - object
            - 'null'
          properties:
            meaningful:
              type: boolean
            reason:
              type: string
          description: 'With a `goal`: whether the changes matched it, and why.'
        error:
          type:
            - string
            - 'null'
    ErrorResponse:
      type: object
      properties:
        status:
          type: string
          enum:
            - error
        message:
          type: string
      required:
        - status
        - message
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API key
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key

````

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