Free API key: MCP server and REST API
Backlnk inside your AI agent
Let Claude Code, Cursor or VS Code run Backlnk's technical SEO and AI-visibility checks on a page, fix what they find in your code, then verify the fix. Every finding comes with the evidence behind it.
- Remote MCPfor your agent
- 16 checkswith evidence
- Free keyby e-mail
How agents use it
Check, fix, verify
Your agent gets findings it can act on, and proof that the change worked, without leaving your editor.
Step 1
Check
The agent runs Backlnk's checks on a page and gets back the issues and warnings, most important first, each with evidence and a recommendation.
Step 2
Fix
It edits your templates, metadata, structured data or server configuration in your codebase, the way you review any other change.
Step 3
Verify
It re-runs the same checks fresh after the change is deployed and gets a comparison: what is fixed, what is new and what is still open.
Use Backlnk to check https://example.com/pricing. Fix the issues it finds in this repository, most important first. When I've deployed, verify the fixes.Connect your agent
One URL, one header
The MCP server lives at https://backlnk.com/mcp and speaks the Streamable HTTP transport. Your key goes in the Authorization header; replace YOUR_KEY with it, or use the snippets on the page that shows your key, which already contain it.
Tools your agent gets
list_checks: Which checks exist and what each one looks at.run_checks: Checks a page (a quick default set, or the checks you name) and returns the issues and warnings to fix, most important first.get_report: The report of an earlier check: the actions to take, or every finding.verify_fixes: Re-checks the page after the agent's fixes and lists what is fixed, new, still open or not re-checked.ai_crawler_policy: robots.txt lines that allow or block AI crawlers by purpose, with explanations.usage: How much of the key's daily and hourly quota is left.
Without a list of checks, run_checks runs a quick set: Meta & social preview, Structure & readability, AI crawler access, Redirects & headers, Schema & entities.
Run this once in your terminal. Claude Code then offers the Backlnk tools in every session; check with /mcp.
claude mcp add --transport http backlnk https://backlnk.com/mcp --header "Authorization: Bearer YOUR_KEY"Save as ~/.cursor/mcp.json for every project, or .cursor/mcp.json in one project (keep the key out of version control).
{
"mcpServers": {
"backlnk": {
"url": "https://backlnk.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_KEY"
}
}
}
}Save as .vscode/mcp.json. VS Code asks for your key the first time it starts the server and stores it securely, so the file can be committed. Then use the tools in Copilot's agent mode.
{
"inputs": [
{
"type": "promptString",
"id": "backlnk-api-key",
"description": "Backlnk API key",
"password": true
}
],
"servers": {
"backlnk": {
"type": "http",
"url": "https://backlnk.com/mcp",
"headers": {
"Authorization": "Bearer ${input:backlnk-api-key}"
}
}
}
}The same checks over plain HTTPS, for scripts, CI jobs and agents without MCP. Every response is JSON; errors look like {"error":{"code","message"}}.
# 1. Start a check (returns 202 with the audit id)
curl -X POST https://backlnk.com/api/v1/audits \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com/","checks":["meta-tags","page-structure"]}'
# 2. Read the result (poll until "state" is Completed, Partial or Failed)
curl https://backlnk.com/api/v1/audits/AUDIT_ID -H "Authorization: Bearer YOUR_KEY"
# 3. After fixing the page: re-check and compare with the first run
curl -X POST https://backlnk.com/api/v1/audits/AUDIT_ID/verify -H "Authorization: Bearer YOUR_KEY"REST API
Endpoint reference
Base URL https://backlnk.com/api/v1. Send Authorization: Bearer YOUR_KEY and JSON bodies. Responses are JSON and never cached; errors are {"error":{"code","message"}} with the matching HTTP status (401 for a missing or revoked key, 429 with Retry-After when a limit is reached).
GET
/checksThe checks you can run: id, tool, what they look at and their limits.
POST
/auditskey requiredStart checks on one URL. Body: { "url", "checks": [ids], "mode"?: "Source" | "Rendered" | "Auto", "options"?: { "maxPages", "maxDepth", "declaredPurpose", "audience" } }. Optional Idempotency-Key header makes retries safe. Returns 202 with one audit per check.
GET
/audits/{id}key requiredState, summary, scores, coverage and findings, most important first (?detail=actions for issues and warnings only). Verifications include a comparison.
POST
/audits/{id}/verifykey requiredRe-runs the same check fresh on the same address and options. The new audit compares itself with the original: fixed, new, still open, not re-checked.
GET
/audits/{id}/export?format=json|csvkey requiredDownload the full report (JSON) or the findings (CSV).
GET
/usagekey requiredHow much of today's and this hour's quota the key has used.
POST
/ai-crawler-policyrobots.txt lines for AI crawlers from a preset or your choices. Body: { "preset" } or { "purposes", "crawlers" }.
Example: GET /audits/{id} (shortened)
Findings come most important first: issues, then warnings, by severity. Only issues and warnings have a severity other than None.
{
"id": "0f8fad5b-d9cb-469f-a165-70867728950e",
"check": "meta-tags",
"url": "https://example.com/pricing",
"state": "Completed",
"summary": "…",
"counts": { "issues": 1, "warnings": 2, "informational": 3, "passed": 14, "notAssessed": 0, "notApplicable": 1 },
"findings": [
{
"ruleId": "…",
"status": "Issue",
"severity": "High",
"title": "…",
"explanation": "…",
"recommendation": "…",
"evidence": [{ "url": "https://example.com/pricing", "excerpt": "…", "location": "line 12:5" }],
"documentation": "https://…"
}
],
"links": { "self": "…", "verify": "…", "exportJson": "…", "exportCsv": "…" }
}Check ids
Use these in checks. GET /checks returns them with their inputs, scope and limits.
llms-txt-generatellms.txt draft (llms.txt Generator & Validator)llms-txt-validatellms.txt validation (llms.txt Generator & Validator)entity-schemaSchema & entities (Entity Signal & Schema Checker)answer-snippetsAnswer snippets (Answer Snippet Extractor)sitemap-hygieneSitemap audit (Sitemap Hygiene Auditor)intent-focusIntent & focus (Intent & Service Focus Analyzer)internal-linksInternal links (Internal Link Analyzer & Opportunity Finder)page-structureStructure & readability (Page Structure & Readability Auditor)ai-crawler-accessAI crawler access (AI Crawler Access Checker)meta-tagsMeta & social preview (Meta Tags & Social Preview)redirects-headersRedirects & headers (Redirect & HTTP Header Checker)indexabilityIndexability (Indexability Checker)hreflangHreflang (Hreflang Validator)duplicate-contentDuplicate & thin content (Duplicate & Thin Content Finder)image-seoImage SEO (Image SEO Audit)page-speedPage speed (Page Speed Test (Lab))
Limits, fair use and privacy
Limits and fair use
Each key has a daily and an hourly limit, shown when you confirm it; the usage tool and GET /usage show what's left. Checks fetch pages politely and within fixed limits. Check sites you run or may test, and don't share your key.
One key, shown once
Your key appears once, after you confirm your e-mail. Requesting a new key for the same address and confirming it revokes the old one, so a lost or leaked key is easy to replace.
Privacy
We keep your e-mail address with your key and delete it if you ask. Reports made with your key are private to it: they are never published or indexed.
Frequently asked questions
- Is the API really free?
- Yes. The key, the REST API and the MCP server are free: no cost, no card and no account. Each key has a daily and an hourly limit so the checks stay fast and polite for everyone; your agent can read its remaining quota at any time.
- Why do I have to confirm my e-mail?
- So that each key belongs to a real, reachable address. We e-mail a link first; the key is shown once, on the page that opens after you press the confirm button. If you didn't ask for a key, ignore the e-mail and nothing happens.
- I lost my key. Can you send it again?
- No. The key is shown once, when you confirm, and can't be retrieved again. Request a new key with the same address: once you confirm it, the old key stops working.
- Which pages can I check?
- Public web pages. Backlnk fetches them politely, within fixed limits per check; private, local and internal addresses are refused. A change your agent makes locally is only visible to the checks once it is deployed to a public address.
- What do you do with my e-mail address?
- We use it to send your key and keep it with the key, and we delete it if you ask. See our privacy page for details.
Prefer a browser? Every check also runs on its own on the tools page, and the full audit e-mails all of them as one PDF.
Give your agent Backlnk's checks
A free key by e-mail, then one line of configuration.
Get my free API key