Browser Use
Browser agents and stealth cloud browsers for AI: run web tasks, fill forms, extract data.
Web page to structured JSON: product, tables, metadata. 20 free calls/day, x402.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
검사 4/4 통과 · 내가 묻는 내용은 제작자 서버(api.webextract.dev)를 거쳐요 · ✓ 명령 확인 2026년 11월 13일
먼저: 어떤 AI를 쓰시나요?
쓰는 앱을 고르면 아래에 단계가 나옵니다.
Claude에 연결할 수 있어요 · 약 2분
키 필요 없음, 설치 필요 없음 · claude.ai나 데스크톱 앱에서 한 번 설정하면 채팅에서 쓸 수 있어요 · 무료 계정은 1개까지 · Team/Enterprise는 소유자(Owner)가 추가
CustomizeConnectors
여기서 복사해 Claude의 같은 이름 칸에 붙여 넣고 Continue를 누르세요
WebExtracthttps://api.webextract.dev/mcpClaude가 찾은 로그인 설정 화면에서 Continue를 누르고 · Authentication은 제작자 안내대로(Sign in now, Sign in when needed, No sign in) 고른 뒤 Add를 누르세요
+ConnectorsWebExtract
WebExtract을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ Claude가 WebExtract을 쓰고 있다고 하거나 답에 WebExtract 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
ChatGPT 연결은 요금제에 따라 달라요
전체 MCP: 웹 ChatGPT Business, Enterprise, Edu · Pro: 읽기/가져오기 권한으로 연결, 데이터를 바꾸는 도구는 안 될 수 있어요 · Plus: 공식 문서 미확인, 플러그인 화면에 사용자 지정 MCP 추가 항목이 보이면 시도해 볼 수 있어요 · 웹만
Plugins+Add custom MCP server
이름을 넣고 Connection에 주소를 붙여 넣은 뒤 경고에 체크하고 Create as a plugin을 누르세요
WebExtracthttps://api.webextract.dev/mcp새 채팅을 열고 입력 전에 플러그인 목록에서 WebExtract을 고르세요
WebExtract을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ ChatGPT가 WebExtract을 쓰고 있다고 하거나 답에 WebExtract 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 OpenAI 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
Claude Code에 연결할 수 있어요 · 약 2분
키 필요 없음, 설치 필요 없음
Mac: Command+스페이스를 누르고 Terminal 입력 · Windows: PowerShell 열기
claude mcp add --transport http --scope user extract https://api.webextract.dev/mcpWebExtract이 목록에 있고 연결됨으로 보이면 돼요
WebExtract을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ Claude Code가 WebExtract을 쓰고 있다고 하거나 답에 WebExtract 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
Cursor에 연결할 수 있어요 · 약 2분
키 필요 없음, 설치 필요 없음
WebExtract을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ Cursor가 WebExtract을 쓰고 있다고 하거나 답에 WebExtract 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 Cursor 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
VS Code에 연결할 수 있어요 · 약 2분
키 필요 없음, 설치 필요 없음
WebExtract을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ VS Code가 WebExtract을 쓰고 있다고 하거나 답에 WebExtract 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 VS Code 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
Windsurf, Zed, Gemini CLI 같은 다른 MCP 앱은 추가 방법이 저마다 달라요. 앱 목록에서 확인하세요
웹으로 연결하는 앱용 주소
https://api.webextract.dev/mcpJSON 설정은 아래 “개발자용”에 있어요
Claude Code
claude mcp add --transport http --scope user extract https://api.webextract.dev/mcpCursor (~/.cursor/mcp.json)
{
"mcpServers": {
"extract": {
"url": "https://api.webextract.dev/mcp"
}
}
}VS Code (mcp.json)
{
"servers": {
"extract": {
"type": "http",
"url": "https://api.webextract.dev/mcp"
}
}
}x-api-key 비밀 HTTP header설명은 아직 영어 원문입니다.
이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
이 서버의 연결 방식과 각 앱의 공식 문서를 바탕으로 했어요. 2026년 11월 10일 확인.
인터넷으로 연결하는 앱
ClaudeChatGPTGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast
도구 이름과 설명은 서버가 2026년 11월 15일에 알려 준 그대로예요. 우리가 아니라 제작자가 쓴 글이고, 일반 텍스트로만 보여 드려요.
extract_urlFetch a public web page (robots.txt respected) and return clean Markdown plus fixed-schema JSON: article metadata, product/price, tables. HTML only, no JS execution, no PDF. Free 20 calls/day per IP; pass 'Authorization: Bearer ' for prepaid credits.
page_markdownFetch a public web page (robots.txt respected) and return clean Markdown only. HTML only, no JS execution, no PDF. Cheaper than extract_url (0.4 credit). Free 20 calls/day per IP; pass 'Authorization: Bearer ' for prepaid credits.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 15일 점검
레지스트리 이름이 도메인 webextract.dev 기준으로 확인되었어요(레지스트리가 도메인 소유를 확인해요)
코드 마지막 변경: 6일 전
해당 없음: webextract.dev 소유자가 직접 운영하는 클라우드 서버라 저장소 코드를 실행하지 않아요
682ms 만에 응답(HTTP 200)
로그인 필요 없음
도구 설명 2개를 읽었고, AI에게 보내는 숨겨진 지시는 없었어요
질문하고, 팁을 나누고, 안 되는 점을 알려 주세요. "도움이 됨"이 많은 순서예요.
아직 리뷰가 없어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 4개 중 4개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
제작자의 클라우드에서 실행돼요. 설치 없이 인터넷으로 연결하지만, 보내는 내용은 제작자의 서버를 거쳐요.
GitHub 저장소는 마지막으로 6일 전 변경됐고, 최신 버전(1.0.4)은 6일 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. URL로 연결되므로 원격 MCP를 받는 앱에서도 쓸 수 있어요. 예: 웹 ChatGPT(Business 이상은 전체 MCP, Pro는 읽기 전용).
같은 카테고리에는: Browser Use, changedetection.io (official), Apify MCP Server, Actionbook, Flowershow
같은 카테고리, 다른 제작자, 명령 확인 완료. 공식이 먼저, 그다음 스타 순.
카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
Browser agents and stealth cloud browsers for AI: run web tasks, fill forms, extract data.
Official changedetection.io MCP: web page change tracking, back-in-stock and price alerts.
Extract data from any website with thousands of scrapers, crawlers, and automations on Apify Store ⚡
Let your AI agent operate any website through a real, logged-in browser session.
Publish Markdown and HTML from your AI session as a live website. No account needed.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
Web page → structured JSON (product, tables, metadata) + clean Markdown, for AI agents. One URL returns product data (name, price, availability), tables with row checks, and article metadata as structured JSON, plus clean Markdown. 20 free calls/day, no signup. Failed REST fetches are not charged. Pay per call with x402 USDC on 7 chains over REST, or use Stripe prepaid credits (REST and MCP).
x402 networks: Base, Polygon, Arbitrum, Avalanche, OP Mainnet, World Chain and Monad. Prepaid credits are bought with a card via Stripe. Works from any MCP client.
https://api.webextract.devhttps://api.webextract.dev/mcpllms.txt: https://api.webextract.dev/llms.txtGET /v1/extract?url=https://books.toscrape.com/catalogue/a-light-in-the-attic_1000/index.html (a practice product page made for scraping). Real response saved on 2026-10-25, trimmed here to a few fields; the full files are in examples/compare/out.
{
"url": "https://books.toscrape.com/catalogue/a-light-in-the-attic_1000/index.html", "content_source": "raw_html", "word_count": 261, "product": { "name": "A Light in the Attic", "price": 51.77, "currency": "GBP", "availability": "InStock", "rating": { "value": 3, "count": null }, "source": "heuristic", "price_detail": { "warnings": ["heuristic_price_low_confidence", "currency_inferred_from_symbol"] } }, "tables": [ { "headers": ["col_1", "col_2"], "rows": [["UPC", "a897fe39b1053632"], ["Product Type", "Books"]], "checks": { "row_count": 7, "column_count": 2, "consistent_width": true } } ] }
The response also carries markdown (the page as clean Markdown) and metadata. The warnings show that the price came from a heuristic, not from structured markup on the page. A page that is not a product page returns "product": null instead of a guess. See examples/compare for a table page and for how /v1/markdown differs.
| Method | Path | Returns | x402 price | Credits |
|---|---|---|---|---|
| GET / POST | /v1/extract?url= | Markdown + structured JSON (metadata, product/price, tables) | $0.005 | 1 |
| GET / POST | /v1/markdown?url= | Markdown only | $0.002 | 0.4 |
| GET | /v1/balance | Free calls left today, or prepaid credits left | free | – |
| POST | /mcp | MCP tools extract_url, page_markdown | use the REST endpoints (not tested over MCP) | same as above, after the free tier |
| GET | /.well-known/x402 | x402 discovery | free | – |
POST takes the same URL as a JSON body: {"url": "https://..."}.
Behaviour:
robots.txt is respected.url returns 400 JSON (missing_url / invalid_url) before any billing. All errors are JSON.X-Billing: free (or ?free=1). MCP: no header needed./v1/extract) / $0.002 (/v1/markdown) in USDC on any supported network (below). No account, no gas needed. Works on the REST endpoints. Over MCP, use the free tier or a prepaid key (see Use from MCP clients)./v1/extract uses 1 credit, /v1/markdown uses 0.4 credit. Credits never expire. Buy at https://webextract.dev/#pricing; the API key is shown once on the success page.We ran WebExtract on 10 public pages and published the raw files and scripts: https://webextract.dev/benchmark · examples/benchmark.
/v1/markdown 38/40 succeeded (95.0%), /v1/extract 40/40 (100.0%). Field checks passed: 75/75 and 212/212. The two failures are counted in the rate./v1 run in the same server process and call the same extraction function; only the payment step differs.# Free tier (opt-in: 20 calls/day per IP)
curl -H "X-Billing: free" "https://api.webextract.dev/v1/markdown?url=https://example.com"
curl -H "Authorization: Bearer $WEBEXTRACT_KEY" \ "https://api.webextract.dev/v1/extract?url=https://example.com"
Response (abridged):
{
"url": "https://example.com", "final_url": "https://example.com/", "title": "Example Domain", "markdown": "This domain is for use in documentation examples ...", "word_count": 25 }
Prepaid responses include X-Credits-Charged and X-Credits-Remaining headers; free-tier responses (only with X-Billing: free / ?free=1) include X-Free-Remaining. Without a key, a payment or X-Billing: free, the REST endpoints answer HTTP 402 (reason: x402_required).
Requests without a key, payment or X-Billing: free get HTTP 402 (reason: x402_required; X-Billing: x402 gives the same 402 with reason: x402_requested) with an x402 v2 PAYMENT-REQUIRED header (scheme exact). It lists one option per network; pay with whichever one your wallet holds USDC on (see Choosing a network with the SDK):
| Network | CAIP-2 id | USDC (native) | EIP-712 name / version |
|---|---|---|---|
| Base (recommended) | eip155:8453 | 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 | USD Coin / 2 |
| Polygon PoS | eip155:137 | 0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359 | USD Coin / 2 |
| Arbitrum One | eip155:42161 | 0xaf88d065e77c8cC2239327C5EDb3A432268e5831 | USD Coin / 2 |
| Avalanche C-Chain | eip155:43114 | 0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E | USD Coin / 2 |
| OP Mainnet | eip155:10 | 0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85 | USD Coin / 2 |
| World Chain | eip155:480 | 0x79A02482A880bCE3F13e09Da970dC34db4CD24d1 | USDC / 2 |
| Monad | eip155:143 | 0x754704Bc059F8C67012fEd69BC8A327a5aafb603 | USDC / 2 |
Not supported: USDC on Ethereum mainnet (no x402 facilitator settles there). Solana is planned.
The JSON body of every 402 says why, in reason (also in the X-Payment-Reason header):
reason | Meaning |
|---|---|
x402_required | No key, no payment and no free opt-in. Pay with x402, use a key, or retry with X-Billing: free |
x402_requested | You sent X-Billing: x402 and no payment yet |
free_limit_reached | You opted in with X-Billing: free / ?free=1 but your IP's free calls are used up (X-Free-Remaining: 0) |
invalid_payment | A payment was sent but rejected; detail has a short reason code (e.g. invalid_exact_evm_insufficient_balance). Not charged |
unsupported_network | The payment used a network this endpoint does not accept |
settlement_failed | The payment was verified but on-chain settlement did not complete. Not charged (retryable: true); retry with a freshly signed payment |
An unknown X-Billing value returns 400 invalid_billing_mode. Precedence: a Bearer key wins over a payment, and a payment wins over X-Billing: free.
See the requirements without paying anything: examples/curl/x402-inspect.sh, examples/python/inspect_402.py or examples/node/inspect-402.mjs.
Any x402 client can pay and retry automatically. Two things to know with the official SDKs (@x402/fetch / @x402/evm 2.28, Python x402 2.25):
spendControls reject those options. Add them to spendControls.allowedAssets.network: "eip155:*" the SDK picks the first option (Base)** even if your USDC is elsewhere. Register only the networks where your wallet holds USDC, or pass a paymentRequirementsSelector.// npm i @x402/fetch @x402/evm viem
import { wrapFetchWithPaymentFromConfig } from "@x402/fetch"; import { ExactEvmScheme } from "@x402/evm"; import { privateKeyToAccount } from "viem/accounts";
const account = privateKeyToAccount(process.env.EVM_PRIVATE_KEY); // low-balance hot wallet const funded = ["eip155:10"]; // networks where this wallet holds USDC, e.g. OP Mainnet const fetchWithPayment = wrapFetchWithPaymentFromConfig(fetch, { schemes: funded.map(network => ({ network, client: new ExactEvmScheme(account) })), spendControls: { allowedAssets: [ { network: "eip155:10", asset: "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85", maxAmountPerPayment: "10000" }, // OP Mainnet USDC, $0.01 cap { network: "eip155:480", asset: "0x79A02482A880bCE3F13e09Da970dC34db4CD24d1", maxAmountPerPayment: "10000" }, // World Chain USDC ] }, });
const res = await fetchWithPayment( "https://api.webextract.dev/v1/extract?url=" + encodeURIComponent("https://example.com"), { headers: { "X-Billing": "x402" } } ); console.log(await res.json());
examples/node/x402-fetch.mjs does this automatically: it reads your USDC balance on every supported network, registers only the funded ones, prefers Base, and has a --dry-run mode that signs nothing.
In a browser, https://webextract.dev/try shows your USDC balance on every supported network, lets you pick one, switches your wallet to it and signs the payment.
REST: payment is only settled when the request succeeds (status < 400).
Test your x402 integration without real money: call https://api.webextract.dev/sandbox/v1/extract or /sandbox/v1/markdown, or send X-Billing: x402-testnet to the normal endpoints. The sandbox accepts only Base Sepolia (eip155:84532) test USDC 0x036CbD53842c5426634e7929541eC2318f3dCF7e, settled by the https://x402.org/facilitator testnet facilitator. Get test USDC at https://faucet.circle.com. Responses are identical; nothing real is charged. Rate limited to 20 requests/minute and 300/day per IP.
WEBEXTRACT_BILLING=x402-testnet ./examples/curl/x402-inspect.sh markdown
WEBEXTRACT_SANDBOX=1 EVM_PRIVATE_KEY=0x node examples/node/x402-fetch.mjs
Remote server, streamable HTTP, stateless: https://api.webextract.dev/mcp
Tools:
extract_url(url): Markdown + structured JSONpage_markdown(url): Markdown only (cheaper)Works without a key on the free tier (20 calls/day per IP, no X-Billing header needed for MCP). For prepaid credits add header Authorization: Bearer .
Both tools declare an outputSchema and return structuredContent.
After the free tier over MCP: once this IP's 20 free calls are used up, a tools/call without a Bearer key returns an error result (isError: true) whose text carries the payment requirements as JSON. Paying x402 through MCP has not been tested; add a prepaid key (Authorization: Bearer ), wait for the daily reset, or use the REST endpoints for x402 pay-per-call. `in