Meerkat
Open source · MIT · BYOK · Webhook-native

Describe a task in your own words. Meerkat runs it async.

Open source API for developers who need agents to monitor links, track deliveries, and report findings — without building schedulers, webhook plumbing, or LLM tool loops. Results POST to your endpoint.

POST /api/v1/tasks → you send
task_type
"recurring" // one_off or recurring
description
"Monitor DHL and report changes" // plain english
frequency
"every 2 hours" // cron or natural language
output_webhook
"https://your-app.com/hook" // where we POST results
↓ ~3.2s
POST /hook ← meerkat
status "changed"
state "In transit → Out for delivery"
eta "2026-06-20T16:40:00Z"
location "Berlin · DE"

Self-host anywhere · Run on the stack you already ship

stripe linear vercel supabase resend anthropic fly.io railway neon clerk doppler modal stripe linear vercel supabase resend anthropic fly.io railway neon clerk doppler modal

01 · The primitive

One verb. Register.

Every product that watches the world rebuilds the same stack: schedulers, LLM tool loops, page diffing, webhook retries. Meerkat collapses that into a single open source resource.

register
POST /api/v1/tasks
Describe in English. Pass input_params + output_webhook.
run
scheduled · on-demand
Cron, natural language, or POST /tasks/:id/run.
return
your webhook
Structured JSON, signed, retried until 2xx.

02 · Lifecycle

From cURL to webhook. Four hops.

1 step

Register

POST /api/v1/tasks
  description: "watch URL"
  input_params: {...}
  output_webhook: "/hook"
2 step

Connect LLM

providers:
  anthropic | openai
  openrouter | grok
key: encrypted at rest
3 step

Run

agent.execute()
→ on schedule
→ on demand
→ change detection
4 step

Webhook

POST your-app.com/hook
  signed: hmac-sha256
  retries: exponential
  status: 200 ✓

06 · Architecture

Your app Meerkat LLMs.

A task moves through three actors. You register it, Meerkat schedules and orchestrates, an LLM (your key) executes, and a signed webhook lands back at your endpoint.

01 · client
Your app
POST /api/v1/tasks
"description": "watch URL"
"output_webhook": "/hook"
02 · infra
Meerkat
schedule · orchestrate · sign
queue → worker → agent.run()
retries · idempotency · hmac
03 · model
LLMs (BYOK)
anthropic · openai · openrouter · grok
tool.call fetch_url(...)
tool.call diff(prev, next)
tail -f meerkat.log live
00:00 POST /api/v1/tasks → 201 task=tsk_8f2a
01:07 scheduler.enqueue tsk_8f2a in 0s
02:14 agent.boot provider=anthropic
03:21 tool.call fetch_url dhl.de/track?id=…
04:28 tool.call diff(prev, next) → changed
05:35 webhook.sign hmac-sha256
06:42 POST your-app.com/hook → 200 OK 142ms
07:49 task.next_run +2h
08:56 POST /api/v1/tasks → 201 task=tsk_8f2a
09:03 scheduler.enqueue tsk_8f2a in 0s
10:10 agent.boot provider=anthropic
11:17 tool.call fetch_url dhl.de/track?id=…
12:24 tool.call diff(prev, next) → changed
13:31 webhook.sign hmac-sha256
14:38 POST your-app.com/hook → 200 OK 142ms
15:45 task.next_run +2h

03 · Self-host

Deploy your own in one click.

Self-host Meerkat with the same REST API as Cloud. You run Postgres and workers; users connect their own LLM keys. MIT licensed, no vendor lock-in.

$ git clone github.com/Tiny-Bubble-Company/meerkat

04 · Run it your way

Self-host or Cloud.

Same open source codebase. Same API. Pick the operating model that fits your team.

open source Free · MIT

Self-host

  • Docker, Render, Fly.io, or Kamal
  • Full REST API + webhook delivery
  • Users bring LLM keys (BYOK)
  • You operate Postgres + job workers
View on GitHub
recommended
managed Monthly subscription

Meerkat Cloud

  • Same API — no workers to run
  • Managed queues + webhook delivery
  • BYOK — Anthropic, OpenAI, OpenRouter, Grok
  • LLM usage billed by your provider
Sign up free →

05 · BYOK

Bring your own LLM key.

Meerkat never resells AI tokens. Each account connects an encrypted API key. Model costs go to your provider; Meerkat charges only for scheduling, execution, and webhooks.

Configure in docs →
providers encrypted at rest
Anthropic claude-sonnet-4-20250514
OpenAI gpt-4o-mini
OpenRouter meta-llama/llama-3.3-70b-instruct:free
Grok / xAI grok-3-mini

07 · In production

What devs are already shipping.

See all templates →

08 · API surface

REST. Boring on purpose.

JSON in, JSON out. Bearer auth. Idempotent retries. Signed webhooks. The whole surface fits on one screen — identical between self-host and Cloud.

cloud.meerkatagents.com/api/v1 v1 · stable
POST /api/v1/signup Create account + API key
POST /api/v1/tasks Register a task — recurring or one_off
POST /api/v1/tasks/:id/run Trigger an on-demand run
GET /api/v1/tasks/:id/runs Stream execution history
GET /api/v1/tasks/:id/events Audit log + webhook deliveries
POST /api/v1/tasks/:id/pause Pause a recurring schedule

$ meerkat init

Stop building the same async stack.

Sign up free, connect your LLM key, and ship your first webhook in under five minutes. Or deploy the open source version yourself — same API, your infrastructure.