Catch The Good Ones API
The Catch The Good Ones API lets you programmatically manage your tracked accounts, trigger syncs, configure searches, and access the people who have recently followed, liked, or engaged with your tracked social media accounts. Use it to pipe your People of Interest into tools like Zapier, Make, n8n, or your own applications.Base URL
Quick start
- Generate an API key from your API Key page
- Make a request with your key in the
Authorizationheader
Available endpoints
Account & Auth
| Method | Endpoint | Description |
|---|---|---|
GET | /api/v1/me | Test your API key and get account info |
Tracked Accounts
| Method | Endpoint | Description |
|---|---|---|
GET | /api/v1/tracked-accounts | List all tracked X accounts |
POST | /api/v1/tracked-accounts | Add a new X account to track |
PUT | /api/v1/tracked-accounts/:id | Wake a sleeping account |
DELETE | /api/v1/tracked-accounts/:id | Put an account to sleep |
PATCH | /api/v1/tracked-accounts/:id | Assign a saved search to an account |
POST | /api/v1/tracked-accounts/:id/change-tier | Change an account’s tier |
Saved Searches
| Method | Endpoint | Description |
|---|---|---|
GET | /api/v1/saved-searches | List all saved searches |
POST | /api/v1/saved-searches | Create a new saved search |
GET | /api/v1/saved-searches/:id | Get a single saved search |
PUT | /api/v1/saved-searches/:id | Update a saved search |
DELETE | /api/v1/saved-searches/:id | Delete a saved search |
Sync
| Method | Endpoint | Description |
|---|---|---|
POST | /api/v1/sync | Trigger a discovery sync |
GET | /api/v1/sync-status?syncRunId=X | Check sync progress |
GET | /api/v1/sync-history | View past sync runs |
GET | /api/v1/sync-settings | Get per-tier sync schedules |
PUT | /api/v1/sync-settings | Update timezone and sync times |
Explore
| Method | Endpoint | Description |
|---|---|---|
POST | /api/v1/explore | Run an explore pass against cached profiles |
GET | /api/v1/explore/budget | Check remaining explore budget |
People of Interest
| Method | Endpoint | Description |
|---|---|---|
GET | /api/v1/people-of-interest | Retrieve discovered people of interest |
Feedback
| Method | Endpoint | Description |
|---|---|---|
GET | /api/v1/feedback | List all feedback |
POST | /api/v1/feedback | Submit Good One / Bad One feedback |
DELETE | /api/v1/feedback | Remove feedback (undo a rating) |
DM Templates
| Method | Endpoint | Description |
|---|---|---|
GET | /api/v1/dm-templates | List all DM templates |
POST | /api/v1/dm-templates | Create a new DM template |
GET | /api/v1/dm-templates/:id | Get a single DM template |
PUT | /api/v1/dm-templates/:id | Update a DM template |
DELETE | /api/v1/dm-templates/:id | Delete a DM template |
Notification Settings
| Method | Endpoint | Description |
|---|---|---|
GET | /api/v1/notification-settings | Get notification preferences |
PUT | /api/v1/notification-settings | Update notification preferences |
Webhooks
| Method | Endpoint | Description |
|---|---|---|
POST | /api/v1/webhooks/subscribe | Register a webhook URL (for Zapier) |
DELETE | /api/v1/webhooks/subscribe | Unregister a webhook URL |
Async operations
Some operations run asynchronously and return a run ID for polling:- Sync (
POST /api/v1/sync) returns{ syncRunId }- poll withGET /api/v1/sync-status?syncRunId=X - Explore (
POST /api/v1/explore) returns{ runId }- poll withGET /api/v1/sync-status?syncRunId=X
Billing effects
Several endpoints affect your Stripe subscription:- Adding a tracked account (
POST /api/v1/tracked-accounts) increments subscription quantity - Sleeping an account (
DELETE /api/v1/tracked-accounts/:id) decrements subscription quantity - Waking an account (
PUT /api/v1/tracked-accounts/:id) increments subscription quantity - Changing tier (
POST /api/v1/tracked-accounts/:id/change-tier) adjusts subscription with proration (upgrades) or schedules a change (downgrades)
Zapier integration
Catch The Good Ones has a native Zapier app. Search for “Catch The Good Ones” in Zapier to set up automated workflows when new people of interest are discovered.Rate limits
All API endpoints are rate limited to 60 requests per minute per API key. Rate limit status is returned in response headers:| Header | Description |
|---|---|
X-RateLimit-Limit | Maximum requests per window (60) |
X-RateLimit-Remaining | Requests remaining in current window |
Retry-After | Seconds until the window resets (only on 429) |
Errors
The API returns standard HTTP status codes:| Status | Description |
|---|---|
200 | Success |
201 | Created |
400 | Invalid request (bad parameters or body) |
401 | Missing, invalid, or revoked API key |
403 | Forbidden (subscription required, limit reached, etc.) |
404 | Resource not found |
409 | Conflict (duplicate resource) |
422 | Unprocessable (e.g. private account) |
429 | Rate limit exceeded |
502 | Upstream error (Stripe, etc.) |
503 | Service temporarily unavailable |