Skip to content
Pro feature

Residential Proxy API: Bypass Antibots & CAPTCHAs

Zero-config web unblocker. The API auto-detects when a target is blocking, routes the call through a rotating residential pool, and picks the resolution path for that specific antibot or CAPTCHA provider — well-tested across the Top 500 most popular sites worldwide. Available on metadata, HTML, and markdown requests.

Your code
metadata · html · markdown
Microlink Pro
detects need for proxy
Residential pool
rotating IPs
Target site
behind WAF / CAPTCHA
shields passed:CloudflareDataDomeAkamai+ 6 more
The Web Unblocker

When the API detects that a target site is blocking a request, the call is automatically routed through a rotating residential proxy pool. The same pipeline absorbs antibot challenges and CAPTCHA gates, so metadata, HTML, and markdown responses keep arriving even when the target sits behind Cloudflare, DataDome, or Akamai. Today this runs on metadata, HTML scraping, and markdown — for screenshots and PDFs, see the FAQ below.

Microlink Pro proxy: rotating residential pool, antibot bypass and CAPTCHA handling on a single API

It is included on every Pro plan. No separate vendor, no per-challenge surcharge, no infrastructure to maintain on your end. The same behavior covers the Top 500 most popular sites worldwide.

Three subscriptions → one parameter

Stop paying three vendors for one job

A residential proxy, an antibot detector, and a CAPTCHA solver are typically three separate vendor contracts, three SDKs in your package.json, and three lines on your monthly bill. Pro folds them into the same API key — fewer integration paths, fewer renewals to negotiate, lower stack complexity per request.

01 · Proxy rotation
Rotating residential pool
A fresh residential IP per request, with automatic retry from a different IP on block or throttle. Geo-aware routing kicks in when the target serves different content per region — no setup required.
Success rate: well-tested across the Top 500 most popular sites worldwide.
02 · Antibot detection
Identify the blocker, pick the resolution path
The missing piece isn't bypassing antibot systems — it's knowing when you've hit one. The detection layer identifies which provider is blocking a request and routes it through the exact resolution path required for that protection layer — including:
CloudflareDataDomeAkamai Bot ManagerPerimeterXKasadaImperva / IncapsulaAWS WAFVercel Attack ModeShape Security
Audit it yourself: the detection logic is open source as . It does detection only — telling you which provider blocked you, not how to solve a challenge. The resolution paths (alternative IPs, full browser rendering, retries) live inside the API. Result: fewer retries, cleaner data, predictable behavior at scale.
Read the antibot breakdown →
03 · CAPTCHA handling
Challenges, not in your billing
Most CAPTCHAs never appear when requests look like a real browser with a clean residential IP. When a challenge does surface, the detect-and-route pipeline adapts — escalating to full browser rendering or alternative IPs — so you never need a third-party CAPTCHA solver in your stack.
reCAPTCHA v2reCAPTCHA v3hCaptchaFunCaptchaGeeTestCloudflare Turnstile
Code

Default: automatic resolution

Send the request as you normally would. On any Pro metadata, HTML, or markdown request, the proxy layer engages automatically when the target requires it.

index.js
import mql from '@microlink/mql'

const { data } = await mql(
  'https://www.bloomberg.com',
  { apiKey: process.env.MICROLINK_API_KEY }
)
Bring your own proxy

Already paying for a residential proxy?

If you have a dedicated provider or need a fixed country IP, pass the proxy URL on the proxy parameter. Microlink routes every sub-request — redirects, assets, dynamic fetches — through the same server.

index.js
import mql from '@microlink/mql'

const { data } = await mql('https://geolocation.microlink.io', {
  proxy: 'https://myproxy:[email protected]:8001'
})
Verify

How to confirm a request was proxied

Every proxied response carries an x-fetch-mode header ending in -proxy. That suffix is your proof the request went through the resolution layer — and that you are being billed under the Pro plan.

HTTP/2 200
x-pricing-plan: proPro plan active
x-fetch-mode: fetch-proxyrequest went through proxy
x-cache-ttl: 86400000
x-cache-status: BYPASS

Stop renting three vendors for one job.

Pick the volume that matches your traffic. Automatic proxy resolution, antibot detection, and CAPTCHA handling are included on every Pro plan for metadata, HTML, and markdown requests.

Do I need to bring my own proxy?

No — the residential proxy is included on every Pro plan, so the default request needs no extra configuration and one residential-proxy bill comes off your stack on day one.
If you already have a dedicated residential proxy you want to keep using — for example a fixed country IP — pass it on the proxy parameter. The bring-your-own proxy guide covers the URL format and credential handling.

Does this work with screenshots and PDFs too?

Not yet. Automatic proxy resolution currently runs on metadata, HTML scraping, and markdown requests — the use cases that ship with most scraping pipelines.
For screenshots and PDFs we recommend two options: pass your own residential proxy on the proxy parameter (see the bring-your-own proxy guide), or write to us at so we can enable your use case.
Nine major providers: Cloudflare, DataDome, Akamai Bot Manager, PerimeterX, Kasada, Imperva / Incapsula, AWS WAF, Vercel Attack Mode and Shape Security. The detection logic is open source as , so you can audit the matchers yourself.
Resolution is well-tested across the Top 500 most popular sites worldwide. For the engineering breakdown, see antibot detection at scale.

Does this bypass CAPTCHAs too?

Yes — and you remove a second vendor from your stack. Most CAPTCHAs never surface when requests look like a real browser routed through a clean residential IP — including reCAPTCHA v2, reCAPTCHA v3, hCaptcha, FunCaptcha, GeeTest and Cloudflare Turnstile.
When a challenge does appear, the detect-and-route pipeline adapts — escalating to full browser rendering or alternative IPs — so a third-party CAPTCHA solver is never needed in your stack.

How do I confirm a proxy was actually used?

Check the x-fetch-mode response header. Any value ending in -proxy — for example fetch-proxy — means the request was routed through the proxy layer.
The x-pricing-plan header on the same response will read pro, confirming the request was billed against your Pro plan.