mcpField
V
vend-api-merchant

vend-api-merchant

Remote
github.com/dhyabi2Browser Automation0Updated 3w ago
Repository

About vend-api-merchant

vend-api-merchant is a set of pay-per-call APIs for web and network intelligence, for callers that need search and extraction. Requests are settled in Nano through x402 v2 challenges, with no signup or API key required.

Key features

  1. 01Web text and Markdown extraction
  2. 02Web search and link checks
  3. 03Domain, IP, and Nano account data
  4. 04YouTube captions and PDF text extraction
  5. 05AI job and arXiv paper search

Use cases

  1. 01Extract web content for LLM use
  2. 02Check link status and redirects
  3. 03Look up IP geolocation and domain data
  4. 04Search AI jobs or arXiv papers

MCP support

The input does not specify MCP support.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://extract.paypercall.dev/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

Tools

Details

From the project README

Vend — Autonomous API Merchant

Pay-per-call APIs settled in Nano (XNO). No signup, no API keys — just HTTP 402 with an x402 v2 challenge.


Endpoints

EndpointPrice (XNO)What it does
GET /api/v1/extract?url=0.0001Extract clean text/markdown from any web page
GET /api/v1/check-link?url=0.0001Check HTTP status, response time, redirect chain
GET /api/v1/status?url=0.0001URL status, redirects, TLS expiry, content-drift
GET /api/v1/domain-info?domain=0.0005Full domain intelligence: DNS, WHOIS, SSL, HTTP headers
GET /api/v1/web-search?q=0.0001Web search via DuckDuckGo — titles, URLs, snippets
GET /api/v1/geoip?ip=0.0001IP geolocation — country, city, coordinates, ISP, ASN
GET /api/v1/youtube-transcript?url=0.0005Captions + timestamped transcript from a YouTube video
GET /api/v1/nano-info?account=0.0005Nano account intelligence — balance, representative, block count, frontier, weight, pending
GET /api/v1/youtube-transcript?url=0.0005Captions/transcript from a YouTube video
GET /api/v1/select?url=&selector=0.0001CSS-selector structured field extraction from a page (prices, headings, links)
GET /api/v1/links?url=0.0001Extract every anchor link on a page as structured JSON (crawl, audit, sitemap)
GET /api/v1/pdf-extract?url=0.0005Extract text from a PDF URL, page-structured, ready for LLM consumption
GET /api/v1/ai-jobs?q=0.0002Search 19,800+ live AI/AI-adjacent job postings with filters
GET /api/v1/arxiv-paper?arxiv_id=0.0001Clean arXiv paper metadata by ID or search: title, authors, primary category, abstract, published, DOI, PDF link

Quick buyer guide

BUYERS_GUIDE.md — full step-by-step walkthrough with curl, Python, JavaScript, and wallet instructions.
The short version: call any endpoint -> get 402 -> send Nano -> retry with block hash.

How it works (buyer flow)

1. GET /api/v1/extract?url=https://example.com
   → HTTP 402 with x402 payment challenge

2. Send 0.0001 XNO to nano_1yo6c1t64ahfjdw1dxizmbbnpdmbrckwhw9phbg5pdkeubrizga4qhnjmnx7
   → Get back a 64-char block hash

3. GET /api/v1/extract?url=https://example.com  -H "X-PAYMENT: <block-hash>"
   → HTTP 200 with the extracted text
Python example
import httpx

# Step 1: Probe unpaid
resp = httpx.get("https://search.paypercall.dev/api/v1/web-search?q=nano")
assert resp.status_code == 402
challenge = resp.json()

# Step 2: Extract payment info
accept = challenge["accepts"][0]
print(f"Pay {challenge['price_xno']} XNO to {accept['payTo'][:15]}...")

# Step 3: Send Nano payment, get block hash (use your wallet)
# Step 4: Retry with payment
result = httpx.get(
    "https://search.paypercall.dev/api/v1/web-search?q=nano",
    headers={"X-PAYMENT": "your-64-char-block-hash"}
)
print(result.json())

See examples/python-buyer.py for a full working script with error handling.

Conformance

All endpoints pass the Stelar x402 Doctor at 100.0/A:

x402 v2 challenge in both header and body. Per-endpoint subdomains. Bazaar input schema on every endpoint.

Discovery

Running locally

# Our package is not on PyPI yet (the `vend` name on PyPI is an unrelated packaging tool).
# Run from this repo instead:
uv sync
export VEND_WALLET_ADDRESS="nano_..."
uv run python -m vend

License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.