Keupera exposes a clean REST API, so any Zap can talk to it through the built-in Webhooks by Zapier action. No custom integration required.Documentation Index
Fetch the complete documentation index at: https://docs.keupera.com/llms.txt
Use this file to discover all available pages before exploring further.
A native Zapier app is on the roadmap. Until then, the recipes below cover every Keupera endpoint.
Prerequisites
- A Zapier account on any plan that supports Webhooks by Zapier (Starter and above).
- A Keupera API key from Account → API Keys in your dashboard.
Generic setup
Every Zap that calls Keupera uses the same basic action.Pick the right event
GETfor read operations (list keywords, fetch analytics, etc.)POSTto create resources or trigger jobsPATCHto update recordsDELETEto remove records (use Custom Request)
Configure the request
- URL:
https://app.keupera.com/api/v1/<endpoint> - Data Pass-Through:
false - Headers:
Authorization:Bearer sk_live_xxxxxxxxxxxxxxxxContent-Type:application/json
- Data (for POST/PATCH): JSON body for the endpoint
Recipe: Add a keyword from a Google Sheet row
| Step | App | Configuration |
|---|---|---|
| 1 | Google Sheets | New Spreadsheet Row trigger |
| 2 | Webhooks by Zapier | POST to https://app.keupera.com/api/v1/keywords with body { "keywords": [{ "term": "{{Keyword}}", "keyword_group": "{{Group}}" }], "enrich": true } |
Recipe: Notify Slack when a Brand Radar campaign finishes
| Step | App | Configuration |
|---|---|---|
| 1 | Schedule by Zapier | Every hour |
| 2 | Webhooks by Zapier | GET https://app.keupera.com/api/v1/brand-radar/campaigns/{{campaign_id}}/results?limit=1 |
| 3 | Filter by Zapier | Only continue if data[0].run_at is newer than the last seen timestamp |
| 4 | Slack | Send Channel Message with the visibility score and mentions |
Recipe: Publish a draft article when a Trello card moves
| Step | App | Configuration |
|---|---|---|
| 1 | Trello | Card Moved to List trigger (list = “Ready to publish”) |
| 2 | Webhooks by Zapier | PATCH https://app.keupera.com/api/v1/articles/{{Card Description Article ID}} with body { "status": "published" } |
Errors & retries
Keupera returns standard HTTP codes (401, 402, 403, 404, 500) with a JSON { "error": "..." } body. Zapier will surface the error message; for 402 Payment Required (usage limit reached) enable metered billing in Account → Billing → Usage.
See the full API reference for every endpoint, request shape, and response example.