ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที เข้าสู่ระบบด้วย Google เพื่อเขียนรีวิวได้แล้วต้นแบบ · อัปเดตทุก 30 นาที
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · วิธีติดตั้งภาษาไทยทุกตัว

WebExtract

โดย nyx464664816-stackรุ่น 1.0.4i★ 0iรันบนคลาวด์
ชื่อใน registrydev.webextract/extract

วิธีติดตั้ง

ใช้ทำอะไรได้

ยังไม่มีคำอธิบายภาษาไทย ดูข้อเท็จจริงด้านล่าง หรือเปิดคำอธิบายต้นฉบับจากผู้ทำ

  • ต่อแบบ คลาวด์ (ต่อผ่านอินเทอร์เน็ต)
  • บัญชีหรือคีย์ ใช้ได้โดยไม่ใส่คีย์ · ใส่ Authorization, x-api-key ได้ถ้ามี (มักเพิ่มโควตา)
  • หมวด เว็บและเบราว์เซอร์
คำอธิบายต้นฉบับจากผู้ทำ (อังกฤษ)
Web page to structured JSON: product, tables, metadata. 20 free calls/day, x402.

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ผลตรวจผ่าน 4/4 · สิ่งที่คุณถามผ่านเซิร์ฟเวอร์ของผู้ทำ (api.webextract.dev) · ✓ ตรวจคำสั่งแล้ว 13 พ.ย. 2569

ขั้นแรก: คุณใช้ AI ตัวไหน

เลือกแอปที่คุณใช้ ขั้นตอนจะขึ้นด้านล่าง

ต่อกับ Claude ได้ · ประมาณ 2 นาที

ไม่ต้องใช้คีย์ ไม่ต้องลงโปรแกรม · ตั้งครั้งเดียวที่ claude.ai หรือแอปบนคอม แล้วใช้ในแชตได้ · บัญชีฟรีเพิ่มได้ 1 ตัว · แผน Team/Enterprise ให้เจ้าของ (Owner) เป็นคนเพิ่ม

  1. เปิดหน้า Connectors ของ Claude

    CustomizeConnectors

    CustomizeConnectors1Add2https://…3Add4
  2. กด “Add” → “Custom” → “Web” แล้วกรอก 2 ช่องนี้

    คัดลอกจากที่นี่ไปวางในช่องชื่อเดียวกันบนหน้าจอของ Claude แล้วกด Continue

    Name · ชื่อWebExtract
    Remote MCP server URL · ที่อยู่https://api.webextract.dev/mcp

    กด Continue ผ่านหน้าตรวจการล็อกอินที่ Claude ตรวจเจอ · หัวข้อ Authentication เลือกตามที่ผู้ทำบอก (Sign in now, Sign in when needed หรือ No sign in) แล้วกด Add

  3. เปิดใช้ในแชต

    +ConnectorsWebExtract

  4. ลองเลย

    ใช้ WebExtract บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง

    ✓ ถ้า Claude บอกว่ากำลังใช้ WebExtract หรือมีชื่อเครื่องมือของ WebExtract ขึ้นในคำตอบ แปลว่าต่อสำเร็จ

ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Anthropic เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป

ต่อกับ ChatGPT ได้ ขึ้นกับแผน

MCP แบบเต็ม: ChatGPT Business, Enterprise หรือ Edu บนเว็บ · Pro: ต่อได้ด้วยสิทธิ์อ่านและดึงข้อมูล เครื่องมือที่แก้ข้อมูลอาจใช้ไม่ได้ · Plus: เอกสารยังไม่ยืนยัน ถ้าเห็นเมนูเพิ่ม MCP แบบกำหนดเองในหน้าปลั๊กอิน ลองตามขั้นตอนได้ · ใช้บนเว็บเท่านั้น

  1. เปิดหน้าเพิ่ม MCP ของ ChatGPT บนเว็บ

    Plugins+Add custom MCP server

    ChatGPTPlugins1+2https://…3Create4
  2. กรอกชื่อและที่อยู่

    ใส่ชื่อ แล้ววางที่อยู่ใต้ Connection ติ๊กยอมรับคำเตือน แล้วกด Create as a plugin

    Name · ชื่อWebExtract
    Connection · ที่อยู่https://api.webextract.dev/mcp
  3. เลือก WebExtract ในแชต

    เปิดแชตใหม่แล้วเลือก WebExtract จากรายการปลั๊กอินก่อนพิมพ์

  4. ลองเลย

    ใช้ WebExtract บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง

    ✓ ถ้า ChatGPT บอกว่ากำลังใช้ WebExtract หรือมีชื่อเครื่องมือของ WebExtract ขึ้นในคำตอบ แปลว่าต่อสำเร็จ

ชื่อเมนูตรวจกับหน้าช่วยเหลือของ OpenAI เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป

ต่อกับ Claude Code ได้ · ประมาณ 2 นาที

ไม่ต้องใช้คีย์ ไม่ต้องลงโปรแกรม

  1. เปิด Terminal

    Mac: กด Command+Space พิมพ์ Terminal · Windows: เปิด PowerShell

  2. วางคำสั่งนี้แล้วกด Enter

    claude mcp add --transport http --scope user extract https://api.webextract.dev/mcp
  3. พิมพ์ /mcp ใน Claude Code

    ต้องเห็น WebExtract ในรายการและขึ้นว่าเชื่อมต่อแล้ว

  4. ลองเลย

    ใช้ WebExtract บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง

    ✓ ถ้า Claude Code บอกว่ากำลังใช้ WebExtract หรือมีชื่อเครื่องมือของ WebExtract ขึ้นในคำตอบ แปลว่าต่อสำเร็จ

ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Anthropic เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป

ต่อกับ Cursor ได้ · ประมาณ 2 นาที

ไม่ต้องใช้คีย์ ไม่ต้องลงโปรแกรม

  1. กดปุ่มนี้เพื่อเปิด Cursor

    เปิดใน Cursor

    Cursor จะถามยืนยันการติดตั้ง ให้กด Install

  2. เปิดแชตของ AI ใน Cursor โหมด Agent

  3. ลองเลย

    ใช้ WebExtract บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง

    ✓ ถ้า Cursor บอกว่ากำลังใช้ WebExtract หรือมีชื่อเครื่องมือของ WebExtract ขึ้นในคำตอบ แปลว่าต่อสำเร็จ

ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Cursor เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป

ต่อกับ VS Code ได้ · ประมาณ 2 นาที

ไม่ต้องใช้คีย์ ไม่ต้องลงโปรแกรม

  1. กดปุ่มนี้เพื่อเปิด VS Code

    เปิดใน VS Code

    VS Code จะถามยืนยันการติดตั้ง ให้กด Install

  2. เปิดแชตของ AI ใน VS Code โหมด Agent

  3. ลองเลย

    ใช้ WebExtract บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง

    ✓ ถ้า VS Code บอกว่ากำลังใช้ WebExtract หรือมีชื่อเครื่องมือของ WebExtract ขึ้นในคำตอบ แปลว่าต่อสำเร็จ

ชื่อเมนูตรวจกับหน้าช่วยเหลือของ VS Code เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป

โปรแกรมอื่นที่ใช้ MCP ได้ เช่น Windsurf, Zed หรือ Gemini CLI มีวิธีเพิ่มต่างกัน ดูวิธีของแต่ละตัวในหน้ารวมโปรแกรม

ดูโปรแกรมที่ใช้ MCP ทั้งหมด →

ที่อยู่สำหรับโปรแกรมที่ต่อผ่านเว็บ

ที่อยู่https://api.webextract.dev/mcp

ค่าตั้งแบบไฟล์ JSON อยู่ในหัวข้อ “สำหรับคนเขียนโค้ด” ด้านล่าง

ติดตรงไหน? ถามคนที่ใช้ WebExtract อยู่💬 พูดคุย →
สำหรับคนเขียนโค้ด: คำสั่ง Terminal และค่าตั้ง JSON

ต่อผ่านเว็บ

Claude Code

claude mcp add --transport http --scope user extract https://api.webextract.dev/mcp

Cursor (~/.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"
    }
  }
}

ค่าที่ต้องใส่เอง

  • Authorization ความลับ HTTP header
    Optional: 'Bearer ' for prepaid credits (free tier works without it)
  • x-api-key ความลับ HTTP header
    Optional alternative to Authorization: your WebExtract API key

คำอธิบายยังเป็นภาษาอังกฤษตามต้นฉบับ

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

สรุป

ดาวน์โหลดต่อสัปดาห์i
ไม่มียอดใน npm/PyPI
โดเมนที่ยืนยัน
✓ webextract.dev
การเชื่อมต่อ
รันบนคลาวด์
รุ่นล่าสุดi
1.0.4
ส่งเข้า registryi
9 พ.ย. 2569
แก้โค้ดล่าสุดi
9 พ.ย. 2569
ผู้ทำ
nyx464664816-stack
เว็บผู้ทำ
webextract.dev
สถานะใน registry
ใช้งานอยู่

ใช้กับโปรแกรมไหนได้

ดูจากแบบการต่อของ server ตัวนี้ และเอกสารของผู้ทำโปรแกรมแต่ละตัว ตรวจเมื่อ 10 พ.ย. 2569

ต่อผ่านคลาวด์ได้ใน

ClaudeChatGPTGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast

ดูโปรแกรมทั้งหมดพร้อมข้อดีข้อเสีย →

คู่มือที่เกี่ยวข้อง

ทำอะไรได้บ้าง

ชื่อและคำอธิบายเครื่องมือตามที่ server ตอบมาเมื่อ 15 พ.ย. 2569 ผู้ทำเป็นคนเขียน ไม่ใช่เรา แสดงเป็นข้อความล้วน

  • extract_url

    Fetch 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_markdown

    Fetch 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.

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 15 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันโดเมน webextract.dev แล้ว (registry ตรวจความเป็นเจ้าของโดเมน)

  • ✓ ผ่าน

    ยังมีคนดูแล

    มีการแก้โค้ดล่าสุด 6 วันที่ผ่านมา

  • – ไม่เกี่ยว

    มีสัญญาอนุญาต (license)

    ไม่เกี่ยว: server บนคลาวด์ของเจ้าของ webextract.dev เอง คุณไม่ได้รันโค้ดจากรีโป

  • ✓ ผ่าน

    endpoint ตอบ

    ตอบกลับใน 682 ms (HTTP 200)

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ไม่ต้องล็อกอิน

  • ✓ ผ่าน

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    อ่านคำอธิบายเครื่องมือ 2 ตัวแล้ว ไม่พบคำสั่งแอบแฝงถึง AI

เราตรวจอะไรบ้าง → · JSON

ผู้ทำ: ขอให้ตรวจใหม่ หรือแจ้งข้อมูลผิด

พูดคุย

ถาม แชร์เคล็ดลับ หรือแจ้งว่าใช้ไม่ได้ เรียงตามที่คนกดว่ามีประโยชน์

ยังไม่มีใครโพสต์ ถามหรือแชร์เป็นคนแรกได้เลย

ข้อความในส่วนนี้เขียนโดยผู้ใช้ ไม่ใช่ทีม PopNx

เข้าสู่ระบบเพื่อโพสต์

รีวิวจากผู้ใช้

ยังไม่มีรีวิว

เข้าสู่ระบบเพื่อเขียนรีวิว

เทียบกับตัวอื่นในหมวด เว็บและเบราว์เซอร์i

  • ดาวมากกว่า 0% ของอีก 1530 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 84% ของอีก 1530 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 1530 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

WebExtract ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 4 จาก 4 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนคลาวด์ของผู้ทำ ต่อผ่านอินเทอร์เน็ตได้เลย ไม่ต้องลงโปรแกรม แต่ข้อมูลที่ส่งให้จะผ่านเซิร์ฟเวอร์ของผู้ทำ

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด 6 วันที่ผ่านมา และส่งรุ่นล่าสุด (1.0.4) เข้า registry 6 วันที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT บนเว็บ (แบบเต็มในแผน Business ขึ้นไป · Pro แบบอ่านอย่างเดียว)

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี Browser Use, changedetection.io (official), Apify MCP Server, Actionbook, Flowershow

ตัวอื่นที่ทำงานคล้ายกัน

หมวดเดียวกันจากผู้ทำคนอื่น ผ่านตัวตรวจคำสั่งแล้ว ตัวทางการขึ้นก่อน แล้วเรียงตามดาว

อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

Browser Use

ให้ AI ทำงานบนเว็บแทนคุณ เช่น กรอกฟอร์ม ค้นหา และดึงข้อมูล ใช้เบราว์เซอร์บนคลาวด์ของผู้ทำหรือรันในเครื่องก็ได้

โดย browser-useใช้กันมาก↓ 1.7M/สัปดาห์★ 121.1Kอัปเดต 25 วันที่ผ่านมา

บนเครื่องหรือคลาวด์✓ เจ้าของบริการ · browser-use.com

changedetection.io (official)

Official changedetection.io MCP: web page change tracking, back-in-stock and price alerts.

โดย dgtlmoonใช้กันมาก★ 35.8Kอัปเดต 10 วันที่ผ่านมา

รันบนคลาวด์✓ เจ้าของบริการ · changedetection.io

Apify MCP Server

Extract data from any website with thousands of scrapers, crawlers, and automations on Apify Store ⚡

โดย apifyใช้กันมาก★ 16.3Kอัปเดต เมื่อวานซืน

รันบนคลาวด์✓ เจ้าของบริการ · apify.com

Actionbook

Let your AI agent operate any website through a real, logged-in browser session.

โดย actionbookกำลังโต★ 1.6Kอัปเดต 27 วันที่ผ่านมา

รันบนคลาวด์✓ เจ้าของบริการ · actionbook.app

Flowershow

Publish Markdown and HTML from your AI session as a live website. No account needed.

โดย flowershowกำลังโต★ 1.1Kอัปเดต 20 วันที่ผ่านมา

รันบนคลาวด์✓ เจ้าของบริการ · flowershow.app
  • Browser Use — มีทั้งบนคลาวด์และแบบลงเครื่อง · ต้องใช้คีย์ · อยู่ในคลังของ Claude
  • changedetection.io (official) — ใช้บนคลาวด์ ไม่ต้องลงเครื่อง · ไม่ต้องใช้คีย์
  • Apify MCP Server — ใช้บนคลาวด์ ไม่ต้องลงเครื่อง · ต้องใช้คีย์
  • Actionbook — ใช้บนคลาวด์ ไม่ต้องลงเครื่อง · ไม่ต้องใช้คีย์
  • Flowershow — ใช้บนคลาวด์ ไม่ต้องลงเครื่อง · ไม่ต้องใช้คีย์

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

WebExtract

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.

  • Website: https://webextract.dev
  • API base: https://api.webextract.dev
  • MCP (streamable HTTP): https://api.webextract.dev/mcp
  • OpenAPI: https://api.webextract.dev/openapi.json · llms.txt: https://api.webextract.dev/llms.txt
  • Docs: https://webextract.dev/docs
  • Try a paid x402 call in your browser wallet: https://webextract.dev/try

Example output

GET /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.

Endpoints

MethodPathReturnsx402 priceCredits
GET / POST/v1/extract?url= Markdown + structured JSON (metadata, product/price, tables)$0.0051
GET / POST/v1/markdown?url= Markdown only$0.0020.4
GET/v1/balanceFree calls left today, or prepaid credits leftfree–
POST/mcpMCP tools extract_url, page_markdownuse the REST endpoints (not tested over MCP)same as above, after the free tier
GET/.well-known/x402x402 discoveryfree–

POST takes the same URL as a JSON body: {"url": "https://..."}.

Behaviour:

  • robots.txt is respected.
  • No charge on failed fetches (404, timeout, blocked, robots disallowed, invalid URL).
  • A missing or invalid url returns 400 JSON (missing_url / invalid_url) before any billing. All errors are JSON.
  • Structured JSON costs nothing extra. With a prepaid key, if structured fields come back empty you're charged the Markdown rate (0.4 credit). x402 payments settle at the quoted price.

Pricing

  • Free: 20 calls/day per IP, no key, no signup. REST: opt in with the header X-Billing: free (or ?free=1). MCP: no header needed.
  • x402 pay-per-call: $0.005 (/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).
  • Prepaid packs (card, via Stripe Checkout), from $1: $1 = 200 credits · $5 = 1,000 credits · $20 = 5,000 credits · $50 = 15,000 credits. /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.

Measured results

We ran WebExtract on 10 public pages and published the raw files and scripts: https://webextract.dev/benchmark · examples/benchmark.

  • Sandbox (Base Sepolia test USDC), 4 runs per page and endpoint, 80 calls: /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.
  • Failed fetches on the sandbox route: 10 calls that must fail, wallet balance 18.904000 USDC before and after (control call: 0.002000 USDC). We did not run failing URLs through the paid live path.
  • The sandbox and /v1 run in the same server process and call the same extraction function; only the payment step differs.
  • Limits: one client, one day, 10 pages that are easy to fetch. No competitor was run; no mainnet payment and no payment through MCP was tested.

Quick start

# Free tier (opt-in: 20 calls/day per IP)

curl -H "X-Billing: free" "https://api.webextract.dev/v1/markdown?url=https://example.com"

Prepaid key (Stripe)

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).

Pay per call with x402

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):

NetworkCAIP-2 idUSDC (native)EIP-712 name / version
Base (recommended)eip155:84530x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913USD Coin / 2
Polygon PoSeip155:1370x3c499c542cEF5E3811e1192ce70d8cC03d5c3359USD Coin / 2
Arbitrum Oneeip155:421610xaf88d065e77c8cC2239327C5EDb3A432268e5831USD Coin / 2
Avalanche C-Chaineip155:431140xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6EUSD Coin / 2
OP Mainneteip155:100x0b2C639c533813f4Aa9D7837CAf62653d097Ff85USD Coin / 2
World Chaineip155:4800x79A02482A880bCE3F13e09Da970dC34db4CD24d1USDC / 2
Monadeip155:1430x754704Bc059F8C67012fEd69BC8A327a5aafb603USDC / 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):

reasonMeaning
x402_requiredNo key, no payment and no free opt-in. Pay with x402, use a key, or retry with X-Billing: free
x402_requestedYou sent X-Billing: x402 and no payment yet
free_limit_reachedYou opted in with X-Billing: free / ?free=1 but your IP's free calls are used up (X-Free-Remaining: 0)
invalid_paymentA payment was sent but rejected; detail has a short reason code (e.g. invalid_exact_evm_insufficient_balance). Not charged
unsupported_networkThe payment used a network this endpoint does not accept
settlement_failedThe 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.

Choosing a network with the SDK

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):

  1. OP Mainnet and World Chain USDC are not in the SDK default asset list, so the default spendControls reject those options. Add them to spendControls.allowedAssets.
  2. **With 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).

Sandbox (free test money only)

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

Use from MCP clients

Remote server, streamable HTTP, stateless: https://api.webextract.dev/mcp

Tools:

  • extract_url(url): Markdown + structured JSON
  • page_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

ตัดมาแค่ช่วงต้น อ่านต่อใน repo