Tool for Cursor

Cursor's agent, with a browser of its own.

UnblockingAPI plugs into Cursor over MCP, so the agent can read live documentation, changelogs and pages that normally block automated tools - fully rendered, through your own API key.

500 free credits  ·  No credit card  ·  Open-source MCP server

~/.cursor/mcp.json
{
  "mcpServers": {
    "unblockingapi": {
      "command": "npx",
      "args": ["-y", "@unblockingapi/mcp"],
      "env": { "UNBLOCKINGAPI_KEY": "your_api_key_here" }
    }
  }
}
Step 1

Docs as they are today

Point Cursor's agent at a changelog or an API reference and it reads the live page instead of recalling an old version.

Step 2

Real pages, fully rendered

Framework docs and dashboards that render client-side come back complete, not as an empty HTML shell.

Step 3

Nothing to configure twice

Add it once to your global mcp.json and it's available in every Cursor project you open.

Cursor's agent can fetch a page on its own, but it stalls on anything that renders with JavaScript or sits behind bot protection - a product page that loads prices client-side, a search-results page with a CAPTCHA, a dashboard that needs a login session. UnblockingAPI gives it a real browser fetcher instead, so those pages come back rendered rather than empty or blocked.

If the agent needs structured fields rather than a full page - a price, a title, a list of listings - the visual editor builds that without CSS selectors or regex: load the page, tap what you want, and it saves a template that returns clean JSON on every call.

Add it to Cursor

Or just ask Cursor's agent to install @unblockingapi/mcp with your key - it'll write this for you. Same package as Claude, VS Code and Zed.

Add to Cursor opens Cursor's install dialog - paste your key afterwards

Or drop this into ~/.cursor/mcp.json.

{
  "mcpServers": {
    "unblockingapi": {
      "command": "npx",
      "args": ["-y", "@unblockingapi/mcp"],
      "env": { "UNBLOCKINGAPI_KEY": "your_api_key_here" }
    }
  }
}

Make it the agent's default

Cursor has a web tool of its own. One rule in .cursor/rules/unblockingapi.mdc makes the agent read every page through UnblockingAPI - plain fetch first, a real browser only when the page needs JavaScript.

---
description: Read web pages through UnblockingAPI
alwaysApply: true
---

When you need the contents of a URL, use the `unblock_fetch` tool from the
unblockingapi MCP server instead of the built-in web tool. Call it with
render=false first; if the page comes back thin or says JavaScript is required,
call it again with render=true. Before parsing a recognisable site by hand, call
`find_templates` with the URL - if a template covers it, pass its reference as
`unblock_fetch`'s template argument to get structured JSON instead of HTML.

Full guide in the repository.

Try it in Cursor

Paste this into the agent once you've connected.

Use unblockingapi to fetch a product page from amazon.com as structured data - a title, a price and a rating.
No code

Want structured data instead of raw HTML?

unblock_fetch hands back the full rendered page. For clean fields instead - a price, a title, a whole list - build a template visually in the editor: load the page, tap what you want, done. No CSS selectors to write by hand.

Save it and it's a reusable API endpoint - same account, same key, same as the built-in templates. Build the structure once, then call it from your app - or your AI agent - forever.

Try the editor

No account needed to try it  ·  No credit card  ·  More about the editor

amazon.comSample data

Select one item. Similar items are detected automatically.

Website

Sony WH-1000XM5

4.6

$299.99

Bose QuietComfort

4.5

$249.00

Bang & Olufsen Beoplay

4

$1,714.99

Extracted JSON

{ "products": [
  { "name": "Sony WH-1000XM5", "price": 299.99, "currency": "USD", "rating": 4.6 },
  { "name": "Bose QuietComfort", "price": 249, "currency": "USD", "rating": 4.5 },
  { "name": "Bang & Olufsen Beoplay", "price": 1714.99, "currency": "USD", "rating": 4 }
] }

Tap one item, get every item - as an array.

Cursor questions

Into ~/.cursor/mcp.json for every project, or a project-local .cursor/mcp.json if you only want it there. You can see it in Cursor under Settings → MCP.

Yes. Cursor's agent can edit its own config, so pasting your key and asking it to install @unblockingapi/mcp usually works - the manual JSON below is exactly what it would write.

Add the rule shown above to .cursor/rules/unblockingapi.mdc (or to your User Rules for every project). The agent then reaches for unblock_fetch whenever it needs a page, plain fetch first and a real browser only when the page needs JavaScript.

Yes - every request runs through UnblockingAPI's proxies, which needs an account. New accounts start on Pay as you Go with 500 free credits and no credit card, which is plenty to try it.

Almost always a missing or wrong UNBLOCKINGAPI_KEY, or being out of credits - both come back as a clear message rather than a silent failure.

No - that's what the visual editor is for. Load a page, tap the fields you want, and it builds a structured-data template for you - no selector to write by hand.

Yes. UnblockingAPI runs a real headless browser and rotates residential proxies, so Cursor's agent gets the fully rendered page even for single-page apps, dashboards and sites that block plain HTTP requests.

Yes - it's the same MCP server and the same API key. See the Claude, VS Code and Zed setup pages for the exact config each one expects.

Also works with

One API key, every assistant. Connect as many as you like.

Give Cursor a real browser.

500 free credits, no credit card. Connect in under a minute.