Instagram Profile Monitor API

Instagram Profile Monitor API

Creates a monitor that checks a public Instagram account on a schedule and reports each new Reel, by a signed webhook POST or through the events endpoint. interval_minutes sets how often the account is checked, and transcripts set to true attaches each new Reel's transcript, transcribed from its audio.

Each check1 creditNew videos or not; plus 1 per caption transcript
Creating a monitor1 creditIts first check, which records what is already there
Audio transcripts1 / 5 minBilled on delivery, per started 5 minutes
Monitors & webhooks guide
POST/api/v2/monitorsidempotent

Body parameters

The YouTube channel (@handle, UC… id or URL) or the TikTok or Instagram profile URL, in any form the channel endpoint accepts. The platform is read from it. Fixed for the life of the monitor.

curl https://transcriptfetch.com/api/v2/monitors \
  -H "Authorization: Bearer $TRANSCRIPTFETCH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"target":"https://www.instagram.com/nasa/","interval_minutes":60,"transcripts":true,"name":"NASA Reels"}'
CreatedExample response envelope
{
  "ok": true,
  "request_id": "req_…",
  "data": {
    "kind": "monitor",
    "id": "mon_mupg15j4pc2oe60o",
    "type": "channel",
    "platform": "instagram",
    "target": "https://www.instagram.com/nasa/",
    "options": {},
    "name": "NASA Reels",
    "status": "active",
    "has_new": false,
    "last_event_id": null,
    "interval_minutes": 60,
    "transcripts": true,
    "webhook_url": null,
    "next_check_at": "2026-10-01T12:21:28.630Z",
    "last_checked_at": null,
    "last_error": null,
    "created_at": "2026-10-01T11:21:02.280Z",
    "updated_at": "2026-10-01T11:21:02.280Z",
    "webhook_secret": "whsec_…",
    "baseline_count": 30
  },
  "usage": {
    "credits_spent": 0,
    "balance": 655
  }
}

Every Instagram endpoint

Same call, other platforms:TikTok Profile Monitor APIYouTube Channel Monitor API

Frequently asked questions

How do I get each new Reel an account posts?

Create a monitor with the account's profile URL as target. Each check that finds new Reels raises a monitor.videos event, delivered to webhook_url if you set one and listed by the events endpoint either way.

What does an Instagram monitor cost?

Every check costs 1 credit, the price of one listing page, whether or not it finds new Reels. With transcripts true, each Reel is transcribed from its audio and billed at the audio rate on delivery.

Can a monitor watch a private Instagram account?

No. Only public accounts can be listed, so only public accounts can be monitored.

How do I verify a webhook came from TranscriptFetch?

Compute HMAC-SHA256 of the exact request bytes with the monitor's webhook_secret and compare it, in constant time, with the X-TranscriptFetch-Signature header (sha256= followed by the hex digest). X-TranscriptFetch-Delivery identifies the delivery across retries.