---
title: "Get Monitor Matches"
description: "Returns matches collected by the monitor. Supports streaming pagination via `after`, or reverse chronological sorting with `order=newest`.\n"
---

> Documentation Index
> Fetch the complete documentation index at: https://staging.threadapi.dev/llms.txt
> Use this file to discover all available pages before exploring further.

Path: ThreadAPI API › Monitors

`GET /v1/monitors/{id}/matches`

Returns matches collected by the monitor. Supports streaming pagination via `after`, or reverse chronological sorting with `order=newest`.

## Authentication

Requires one of the following:

- `bearerAuth`, http, header `Authorization`
- `apiKeyAuth`, apiKey, in header, header `x-api-key`

## Path parameters

- `id` (`getMonitorMatches.path.id`; string, required)

## Query parameters

- `order` (`getMonitorMatches.query.order`; string, optional) — Sort ordering for returned matches.
  - one of `"oldest"`, `"newest"`; default `"oldest"`
- `after` (`getMonitorMatches.query.after`; string, optional) — With `order=oldest`, cursor for the next page of matches.
- `before` (`getMonitorMatches.query.before`; string, optional) — With `order=newest`, cursor for the next page of matches.
- `limit` (`getMonitorMatches.query.limit`; integer, optional) — Maximum items to return.
  - min 1; max 200; default `100`

## Code samples

### cURL

```bash
curl --request GET \
  --url 'https://api.threadapi.dev/v1/monitors/<id>/matches' \
  --header 'Authorization: Bearer <token>'
```

### TypeScript

```typescript
const url = 'https://api.threadapi.dev/v1/monitors/<id>/matches';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

fetch(url, options)
  .then(res => res.json())
  .then(json => console.log(json))
  .catch(err => console.error(err));
```

### Python

```python
import requests

url = "https://api.threadapi.dev/v1/monitors/<id>/matches"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.text)
```

## Responses

### 200

List of matches

#### Example

```json
{
  "items": [
    {
      "id": "string",
      "monitor_id": "string",
      "thing_id": "string",
      "kind": "post",
      "subreddit": "string",
      "author": "string",
      "title": "string",
      "body": "string",
      "permalink": "string",
      "post_id": "string",
      "created_utc": "2019-08-24T14:15:22Z",
      "matched_terms": [
        "string"
      ],
      "suppressed": true,
      "delivery_status": "none",
      "delivered_at": "2019-08-24T14:15:22Z",
      "created_at": "2019-08-24T14:15:22Z"
    }
  ],
  "after": "string",
  "before": "string"
}
```

- `items` (`getMonitorMatches.response.200.items`; array<object>, optional)
  - `id` (`getMonitorMatches.response.200.items.id`; string, required)
  - `monitor_id` (`getMonitorMatches.response.200.items.monitor_id`; string, required)
  - `thing_id` (`getMonitorMatches.response.200.items.thing_id`; string, required)
  - `kind` (`getMonitorMatches.response.200.items.kind`; string, required)
    - one of `"post"`, `"comment"`
  - `subreddit` (`getMonitorMatches.response.200.items.subreddit`; string, required)
  - `author` (`getMonitorMatches.response.200.items.author`; string, required)
  - `title` (`getMonitorMatches.response.200.items.title`; string, required)
  - `body` (`getMonitorMatches.response.200.items.body`; string, required)
  - `permalink` (`getMonitorMatches.response.200.items.permalink`; string, required)
  - `post_id` (`getMonitorMatches.response.200.items.post_id`; string, required)
  - `created_utc` (`getMonitorMatches.response.200.items.created_utc`; string, required)
    - format `date-time`
  - `matched_terms` (`getMonitorMatches.response.200.items.matched_terms`; array<string>, required)
  - `suppressed` (`getMonitorMatches.response.200.items.suppressed`; boolean, required)
  - `delivery_status` (`getMonitorMatches.response.200.items.delivery_status`; string, required)
    - one of `"none"`, `"pending"`, `"delivered"`, `"failed"`, `"skipped"`
  - `created_at` (`getMonitorMatches.response.200.items.created_at`; string, required)
    - format `date-time`
  - `delivered_at` (`getMonitorMatches.response.200.items.delivered_at`; string | null, optional)
    - format `date-time`
- `after` (`getMonitorMatches.response.200.after`; string, optional) — With `order=oldest`, the cursor for the next page when one is waiting.
- `before` (`getMonitorMatches.response.200.before`; string, optional)

### 401

Missing or invalid API key or OAuth access token

#### Example

```json
{
  "error": "unauthorized: missing or invalid credentials",
  "error_code": "insufficient_credits"
}
```

One of:

- `ErrorResponse`
- `Error`

### 404

Requested user or resource not found

#### Example

```json
{
  "error": "unauthorized: missing or invalid credentials",
  "error_code": "insufficient_credits"
}
```

One of:

- `ErrorResponse`
- `Error`


Source: https://staging.threadapi.dev/api/Monitors/getMonitorMatches/index.md
