Developers

The appeal engine, as an API and an MCP server

Everything the website does, from reading a notice to filing the appeal, is available over a REST API and as Model Context Protocol tools. Connect it to Claude, ChatGPT, Cursor or your fleet system in a few minutes.

1. Create a key

Sign in and create a key on your profile page. It starts ag_live_ and is shown once.

2. Scan a notice

POST the photo. In under two minutes you get the issuer, the code, the grounds and a draft letter.

3. File it

Call file. Covered by an Unlimited plan it files now; otherwise you get a £6.99 checkout link and it files on payment.

MCP server

Streamable HTTP at https://appealgo.com/api/mcp. The guide, code and deadline tools work without a key. Scanning and filing need your key in the Authorization header.

Want the guides, codes and deadline tools only, with no key and no account? Use the public server at https://appealgo.com/api/public/mcp. Every tool carries read-only or destructive annotations, so your client knows to ask before file_appeal sends anything.

ChatGPT, Claude, Gemini and Perplexity apps

Add a custom connector (ChatGPT: Settings, Connectors, developer mode. Claude: Settings, Connectors, Add custom connector) and paste the public server URL above. It needs no sign-in. For scanning and filing from inside an assistant, use a client that lets you set an Authorization header, such as Claude Code or Cursor below.

Claude Code

claude mcp add --transport http appealgo https://appealgo.com/api/mcp \
  --header "Authorization: Bearer ag_live_YOUR_KEY"

Cursor, Windsurf, Claude Desktop (mcp.json)

{
  "mcpServers": {
    "appealgo": {
      "url": "https://appealgo.com/api/mcp",
      "headers": { "Authorization": "Bearer ag_live_YOUR_KEY" }
    }
  }
}

Tools

  • check_noticeScan a photo or PDF and get grounds + a draft appeal
  • file_appealFile it, or get a checkout link if unpaid
  • get_notice / list_my_noticesStatus, letter and links for the account's notices
  • calculate_deadlinesDiscount, challenge, escalation and tribunal dates
  • explain_contravention_codeWhat a PCN code means and the grounds that beat it
  • search_guides / get_guide42 plain-English appeal guides as Markdown
  • lookup_appeal_statusPublic status by reference

Then just ask: “Here's a photo of my parking ticket, what are my grounds?” or “When does the discount on my PCN dated 3 September end?”

REST API

Base URL https://appealgo.com/api/v1. JSON in and out. Full schema at /api/v1/openapi.json, and a Markdown map of the whole site at /llms.txt.

Scan a notice

curl -X POST https://appealgo.com/api/v1/notices \
  -H "Authorization: Bearer ag_live_YOUR_KEY" \
  -F "file=@ticket.jpg"

File the appeal

curl -X POST https://appealgo.com/api/v1/notices/NOTICE_ID/file \
  -H "Authorization: Bearer ag_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "Sam Driver", "address": "1 High Street, Leeds LS1 1AA"}'

Endpoints

MethodPathKeyWhat it does
POST/api/v1/noticesrequiredScan a notice (multipart file, image_url or image_base64). Returns the read details, grounds and draft letter.
GET/api/v1/noticesrequiredList the account's notices.
GET/api/v1/notices/{id}requiredOne notice with status, draft and submission.
POST/api/v1/notices/{id}/filerequiredFile the appeal. 402 + checkout_url if it needs paying for.
GET/api/v1/status?reference=nonePublic status by customer reference.
GET/api/v1/deadlinesnoneStatutory deadlines for a notice type and date.
GET/api/v1/codes/{code}noneExplain a contravention code.
GET/api/v1/guides?q=noneSearch the guides; /guides/{slug} returns Markdown.
GET|POST|DELETE/api/v1/keysrequiredManage keys (also from the profile page).

Pricing and limits

  • Scanning is free, up to 25 scans per key per day.
  • Filing costs £6.99 per notice (the same as the website), or nothing on the £21.99/year Unlimited plan.
  • Running a fleet? Fleet plans cover up to 50 vehicles with the API included. Email support@appealgo.com for higher limits.
  • Appeals are filed in the account holder's name and address, exactly as on the website.

Good to know

  • Keys authenticate as the account that created them. Revoke them from the profile page at any time.
  • A scan takes 20 to 90 seconds; keep the request open.
  • Errors are { error: { code, message } } with conventional HTTP status codes.
  • AppealGo prepares and files documents; it is not a law firm and outcomes are decided by the issuer or tribunal.