CLEARIO API
Run the same checks as the website from your own systems, a Zap or a script. Team plan. Each call uses one check from your plan and is saved to My reports.
1. Make a key
Go to Integrations and click "Make an API key". Copy it straight away; it's shown once. Keep it secret: anyone with the key can run checks on your plan.
2. Send a check
POST https://dmlfwbblfbgjgxggwavk.supabase.co/functions/v1/check
Authorization: Bearerfollowed by CLEARIO's public key (below, the same for everyone)x-backfyre-key:your API keyContent-Type: application/json
curl -X POST 'https://dmlfwbblfbgjgxggwavk.supabase.co/functions/v1/check' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImRtbGZ3YmJsZmJnamd4Z2d3YXZrIiwicm9sZSI6ImFub24iLCJpYXQiOjE3OTQyMjM1NzQsImV4cCI6MjEwOTc5OTU3NH0.gGxR8ALFc9gbQVwbqE2f8mRMo_HMIfBsGw-KbMlS_Qg' \
-H 'x-backfyre-key: YOUR_API_KEY' \
-d '{"kind":"copy","text":"Our best deal ever, guaranteed. #BlackFriday","context":{"industry":"coffee shop","audience":"US, Instagram","launch_date":"2026-11-27"},"save":{"subject":"Black Friday caption"}}'
What you can send
kind:name(a name or tagline intext),copy(ad copy, caption or script intext, optional landing page inurl),imageorad(pictures inimages),person(a partner's name intext).images: a list of{"label":"Page 1: Whole ad","data":"BASE64 JPEG"}, each under about 1 MB.context: optionalindustry,audience(markets and platforms) andlaunch_date(YYYY-MM-DD).rule_set_id: optional, to check against one of your house rule sets.save.subject: the name the report gets in My reports.
What comes back
The full report as JSON. A check takes 30 to 90 seconds, so allow at least 2 minutes before your tool gives up.
{
"report": {
"overall": "high",
"summary": "Two problems: an unproven guarantee and ...",
"scores": { "legal": {"rating":"mild","reason":"..."}, "public_reaction": {...}, "platforms": [...] },
"findings": [ { "title": "...", "category": "words_text", "rating": "high", "where": "...", "detail": "...", "suggestion": "..." } ],
"checked": ["..."], "not_checked": ["..."]
},
"context_check": { "news": {...}, "dates": {...}, "hashtags": {...} },
"saved": { "id": "...", "share_id": "...", "version": 1, "fingerprint": "..." }
}
The report link is https://backfyre.netlify.app/r/ followed by saved.share_id.
Errors
- 401: the key is wrong, deleted, or your team is no longer on the Team plan.
- 402: you've used this month's checks, or the check type isn't in your plan.
- 400: something is missing from the request; the message says what.
Using it from Zapier
- Pick your trigger, for example "New card in Trello" or "New row in Google Sheets".
- Add the action "Webhooks by Zapier", event "Custom Request". Method POST, the URL above, and the three headers above.
- In Data, paste the JSON and map your text in, for example
{"kind":"copy","text":"[the post text]","save":{"subject":"[the card title]"}}. - Add a step that uses
report.overallandreport.summary, for example post them back to the card.
To start a Zap when a check finishes instead, add a webhook on the Integrations page.
Public key
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImRtbGZ3YmJsZmJnamd4Z2d3YXZrIiwicm9sZSI6ImFub24iLCJpYXQiOjE3OTQyMjM1NzQsImV4cCI6MjEwOTc5OTU3NH0.gGxR8ALFc9gbQVwbqE2f8mRMo_HMIfBsGw-KbMlS_Qg