Skip to main content

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.

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.
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.
1

Add a 'Webhooks by Zapier' action

In your Zap editor, add an action and choose Webhooks by Zapier.
2

Pick the right event

  • GET for read operations (list keywords, fetch analytics, etc.)
  • POST to create resources or trigger jobs
  • PATCH to update records
  • DELETE to remove records (use Custom Request)
3

Configure the request

  • URL: https://app.keupera.com/api/v1/<endpoint>
  • Data Pass-Through: false
  • Headers:
    • Authorization: Bearer sk_live_xxxxxxxxxxxxxxxx
    • Content-Type: application/json
  • Data (for POST/PATCH): JSON body for the endpoint
4

Test the step

Zapier shows the JSON response so you can map fields into downstream steps.
Store the API key in Zapier’s Storage or paste it once into the action — never expose sk_live_... keys in client-side code.

Recipe: Add a keyword from a Google Sheet row

StepAppConfiguration
1Google SheetsNew Spreadsheet Row trigger
2Webhooks by ZapierPOST 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

StepAppConfiguration
1Schedule by ZapierEvery hour
2Webhooks by ZapierGET https://app.keupera.com/api/v1/brand-radar/campaigns/{{campaign_id}}/results?limit=1
3Filter by ZapierOnly continue if data[0].run_at is newer than the last seen timestamp
4SlackSend Channel Message with the visibility score and mentions

Recipe: Publish a draft article when a Trello card moves

StepAppConfiguration
1TrelloCard Moved to List trigger (list = “Ready to publish”)
2Webhooks by ZapierPATCH 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.