API reference

Preview a Monitor API

What a subject monitor would do, before it exists: the resolved subject or the senses to choose from, the recommended platforms with reasons, the schedule, the credit estimate from the price list, and a few pieces of no-cost evidence. Runs the free first pass only — no metered platform and no paid fallback is touched.

Endpoint

GET/v1/monitors/previewlive · provenfree
Try in Playground

Parameters

Query parameters

Useful optional inputs

  • rules — For metric monitoring, set rules.metric_fields to published numeric JSON pointers before scheduling; missing values are not zero.

    Preview the estimate first. Confirmed tests use the existing source price; invalid paths are uncharged.

  • sources — Restrict a multi-source request to the platforms useful for your task.

    Use dry_run to inspect the resulting quote before fetching.

  • dry_run — Read a free estimate before fetching sources or scheduling paid work.

    Zero credits; cache status and availability are snapshots rather than guarantees.

NameRequiredDescriptionExample
queryyesThe name, handle, URL, domain, product or keyword to followMonzo
entitynoA sense id from an earlier preview, when the name was ambiguousbare
entity_typenoOptional type hintbrand
purposenoPreset id or free text; sets the recommended sources and filterscomplaints
sourcesnoOverride the recommended platformsreddit,x
schedule_minutesnoInterval used for the monthly estimate1440
monthly_cap_creditsnoLegacy field accepted for compatibility but ignored and returned as null. It does not impose a spending cap. Account balance, quoted run cost and existing account safeguards still apply.
dry_runnoRead a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable.1
rulesnoOptional change-monitor rules as a JSON object. Use metric_fields with up to 10 published numeric object JSON pointers (for example /followers or /stats/likes), with result_mode=changes. Unknown/nonnumeric paths are rejected before a source call or charge; missing actual values are not zero and the check is refunded. Numeric selection replaces family rules. Or use watch_fields for generic field comparisons. See /docs/monitors#metric-fields.{"metric_fields":["/followers"]}
relevance_enablednoOptional on every monitor. Enable or disable relevance filtering. Enabling requires a nonempty relevance_prompt.true
relevance_promptnoUp to 600 characters describing what should trigger an alert. A nonempty value enables filtering unless explicitly disabled. Empty clears it.Only genuine requests for recommendations; exclude promotions.
exclusionsnoComma-separated phrases skipped before AI; empty clears. Returned by monitor read tools.sponsored,job opening

Examples

Make the request

curl
curl "https://www.monocrawl.com/v1/monitors/preview?query=Monzo" \
  -H "x-api-key: mn_your_key_here"
TypeScript
typescript
const key = process.env.MONOCRAWL_API_KEY;
if (!key) throw new Error('Set MONOCRAWL_API_KEY on your server.');
const res = await fetch(
  "https://www.monocrawl.com/v1/monitors/preview?query=Monzo",
  { headers: { "x-api-key": key } },
);
const body = await res.json();

if (!body.success) {
  // one error shape for every endpoint — see /docs/errors
  throw new Error(`${body.error.type}: ${body.error.message}`);
}

console.log(body.data, "credits left:", body.credits_remaining);
Python
python
import os
import requests

res = requests.get(
    "https://www.monocrawl.com/v1/monitors/preview?query=Monzo",
    headers={"x-api-key": os.environ["MONOCRAWL_API_KEY"]},
    timeout=60,
)
body = res.json()

if not body["success"]:
    # one error shape for every endpoint — see /docs/errors
    raise RuntimeError(f"{body['error']['type']}: {body['error']['message']}")

print(body["data"], "credits left:", body["credits_remaining"])

Response

Response fields and example

This example is illustrative, not a captured live response. Variable-cost operations may settle a charge different from the list price below. A successful response puts the platform payload in data and reports the exact credits used, remaining balance, request id and cache status beside it.

200 · application/json
{
  "success": true,
  "platform": "monitors",
  "endpoint": "/v1/monitors/preview",
  "data": {
    "kind": null,
    "purpose": null,
    "preset": null,
    "name": null,
    "note": null,
    "schedule_minutes": 0,
    "monthly_cap_credits": 0,
    "can_activate": false,
    "requires_choice": false,
    "sample": false,
    "subject": {},
    "estimate": {},
    "availability": {},
    "resolution": {},
    "evidence": [],
    "feeds": []
  },
  "credits_used": 0,
  "credits_remaining": 99,
  "request_id": "req_…",
  "cached": false
}

The example is illustrative and shows a documented subset of data. The fields below are optional across supported sources; nullable fields can also be absent. Preserve unknown values and accept additional fields.

Schema basis: reviewed response shaper. See schema coverage and validation limits.

Download the data JSON Schema. Validate response.data, not the whole envelope. A valid shape does not establish that every field or source record was returned.

Field inside dataTypeMeaning
kindstring | nullkind
purposestring | nullpurpose
presetstring | nullpreset
namestring | nullname
notestring | nullnote
schedule_minutesnumber | nullschedule minutes
monthly_cap_creditsnumber | nullmonthly cap credits
can_activateboolean | nullcan activate
requires_choiceboolean | nullrequires choice
sampleboolean | nullsample
subjectobject | nullNested response fields; optional unless explicitly documented.
estimateobject | nullNested response fields; optional unless explicitly documented.
availabilityobject | nullNested response fields; optional unless explicitly documented.
resolutionobject | nullNested response fields; optional unless explicitly documented.
evidencearray | nullNested response fields; optional unless explicitly documented.
feedsarray | nullNested response fields; optional unless explicitly documented.
feeds[].platformstring | nullplatform
feeds[].labelstring | nulllabel
feeds[].endpointstring | nullendpoint

Core response fields reviewed from the public response shaper. Fields vary by requested options; additive fields remain allowed.

Failures use the typed error envelope. A confirmed uncharged or refunded failure reports zero; a pending reconciliation can report an unknown charge. Read credits_used and error.details.billing_status, and keep request_id for recovery. Response contract · Error reference

First call in under a minute

150 free credits and a ready-made key the moment you sign up. No card.