CheckWebs API — vibe coding with an actual feedback loop

The AI writes code in Cursor or Claude Code. CheckWebs measures the deployed site (performance, SEO, security, GDPR, accessibility…). The AI reads the report, fixes what it finds, then calls the API again. No more “generate and pray” — a control loop.

Launch offer

API and MCP on the house: 5 calls a day

Until 31 December 2026, every CheckWebs account gets 5 calls a day on the public API and the MCP server, reset every night. That counter is separate from the 3 daily audits of the web interface: auditing from the site does not eat into your integration calls.

The only condition: hold a CheckWebs account and create an API key. No card, no subscription.

1. Trial — get a key

Loading…

2. The call

curl -sS -X POST https://checkwebs.fr/api/v1/audit \
  -H "Authorization: Bearer cw_live_VOTRE_CLE" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://votresite.fr"}'

Response: { success, report } — overall score, categories, actionable issues, final URL.

  • POST /api/v1/audit
  • Auth: Authorization: Bearer cw_live_… / x-api-key
  • Body: { "url": "https://…" }profils: ["mobile","desktop"]

3. In Cursor

  1. Add the CHECKWEBS_API_KEY environment variable (never commit it).
  2. Paste the rule below into .cursor/rules or .cursorrules.
  3. Ask the agent: “audit https://… with CheckWebs, fix it, re-check”.
# CheckWebs — quality loop
When you change the front end or the SEO of a deployed site:
1. After a batch of fixes, call:
   POST https://checkwebs.fr/api/v1/audit
   Header: Authorization: Bearer $CHECKWEBS_API_KEY
   Body: { "url": "<PROD_URL>" }
2. Read report.score and report.categories[].issues
3. Fix the actionable findings, then call the API again
4. Do not declare the work done until the score has improved
   (or the blocking issues are resolved)

4. In Claude Code

Same principle: export CHECKWEBS_API_KEY, then in the system prompt or CLAUDE.md tell it to call POST https://checkwebs.fr/api/v1/audit after every batch of front-end fixes, and not to close out until the report has improved.

5. Or over MCP, without writing a single HTTP call

CheckWebs also ships an MCP server: your agent sees tools rather than an API to document. Same audit engine, same key, same quota.

In Claude Code, one command is enough:

claude mcp add --transport http checkwebs \
  https://checkwebs.fr/api/v1/mcp \
  --header "Authorization: Bearer cw_live_VOTRE_CLE"

In Cursor, Windsurf or any MCP client configured in JSON (.cursor/mcp.json):

{
  "mcpServers": {
    "checkwebs": {
      "url": "https://checkwebs.fr/api/v1/mcp",
      "headers": { "Authorization": "Bearer cw_live_VOTRE_CLE" }
    }
  }
}
  • auditer_siteruns a full audit and returns scores, metrics and the findings to fix. Uses one call.
  • dernier_rapportre-reads the last audit of a URL without running a new one. Costs nothing — the one to reach for when picking work back up.
  • quota_restanttells you what is left today and how long the offer runs. Free.

The quota is shared between the API and MCP: going through one rather than the other does not double what is on offer.

The loop

The AI codes → CheckWebs checks → the AI fixes → CheckWebs re-checks.

Without an account: 1 audit on checkwebs.fr/checkweb. With a free account: an API key (5 calls a day) + 3 audits a day in the interface. Webhooks and higher volumes: the Pro plan.