Product Page Extractor
Chuyển một URL trang sản phẩm, hoặc HTML thô bạn đã có, thành JSON sạch: giá, tiền tệ, tồn kho, SKU/GTIN/MPN, hình ảnh, đánh giá và mọi ưu đãi. Mỗi kết quả cho biết giá lấy từ đâu (price_source), để agent phân biệt được giá có cấu trúc với giá ước đoán. Tùy chọn Markdown sẵn sàng cho LLM. Bản demo miễn phí không cần khóa.
Máy chủ MCP được lưu trữ
npx add-mcp 'https://product-extractor.mohamed-bahaa53000.workers.dev/demo/mcp'Cài vào Claude Code, Codex, Cursor và nhiều công cụ khác
Tài liệu
Product Page Extractor: remote MCP server
For e-commerce and pricing teams: turn any product page URL (or HTML you already have) into clean JSON with price, stock, brand and identifiers.
1. Connect (free, no key; works in Claude Desktop, Cursor, Cline, VS Code and any client that supports remote Streamable HTTP):
{
"mcpServers": {
"product-extractor": {
"url": "https://product-extractor.mohamed-bahaa53000.workers.dev/demo/mcp"
}
}
}
2. Ask: "What's the price and stock status of https://www.allbirds.com/products/mens-tree-runners?" Your agent calls:
{"name":"extract_product","arguments":{"url":"https://www.allbirds.com/products/mens-tree-runners"}}
3. Get (real output from the free demo endpoint, trimmed):
{"name":"Men's Tree Runner","brand":"Allbirds","price":100,"currency":"USD","in_stock":true,"price_source":"json-ld"}
What makes it different
- Shows where the price came from. Each result has a
price_sourcefield (json-ld,microdata,meta, ornull), so your agent can tell a structured price apart from a guess. If a page renders its price with JavaScript, you getnullrather than a wrong number. - Works on raw HTML, not just URLs. Already scraped the page, or the site blocks bots? Pass the
html(up to 2 MB) and skip the fetch. - Returns every offer, not just the first price: variants, sellers and sale prices, up to 50 per page.
- LLM-ready Markdown of the page with
include=markdown, or the raw JSON-LD blocks withinclude=jsonld. - MCP-native with a free, keyless demo endpoint, so an agent can try it with one line of config.
It doesn't get past anti-bot pages (Amazon, Best Buy, REI) and doesn't run JavaScript. For those, fetch the HTML yourself and pass it in.
No-code version
Not building an agent? Try it free in your browser: no key or sign-up, 10 pages a day. Swap the url= value for any product page and you get the JSON back.
Try it free
- No key, right now: point any MCP client at
https://product-extractor.mohamed-bahaa53000.workers.dev/demo/mcp(10 tool calls per IP per day). - Free RapidAPI plan: 50 requests/month on the Basic plan, no card needed. Pro is $9.99 for 5,000.
This is a hosted (remote) MCP server using Streamable HTTP. There's nothing to install or run locally. This repository holds only the documentation and the MCP Registry manifest; the server code is not open source.
| Endpoint | Auth | Limits |
|---|---|---|
https://product-extractor.mohamed-bahaa53000.workers.dev/demo/mcp | none | free, 10 tool calls per IP per UTC day, no batch |
https://product-page-extractor.p.rapidapi.com/mcp | X-RapidAPI-Key + X-RapidAPI-Host headers | paid per request via RapidAPI (free Basic plan available) |
Official MCP Registry name: dev.workers.mohamed-bahaa53000.product-extractor/product-page-extractor
Tools
extract_product:urlorhtml, plus an optionalinclude(product,meta,markdown,jsonld). Data is read from schema.org JSON-LD, microdata and OpenGraph.extract_batch: up to 10 URLs in one call, with ok/error for each page (paid endpoint only).
Use cases
- Price and stock checks for agents doing competitor monitoring.
- Catalog enrichment: GTIN/MPN/brand for product matching.
- Turning a product page into Markdown for an LLM to read.
Examples
Ask your agent: "What's the price and stock status of https://www.allbirds.com/products/mens-tree-runners?" It calls:
{"name":"extract_product","arguments":{"url":"https://www.allbirds.com/products/mens-tree-runners"}}
Already have the HTML (from your own crawler, or a site that blocks bots)? Pass it in and skip the fetch:
{"name":"extract_product","arguments":{"html":"<html>...</html>","include":"product,markdown"}}
Plain REST works too:
curl "https://product-extractor.mohamed-bahaa53000.workers.dev/demo/v1/extract?url=https://www.allbirds.com/products/mens-tree-runners"
Connect
{
"mcpServers": {
"product-extractor": {
"url": "https://product-extractor.mohamed-bahaa53000.workers.dev/demo/mcp"
}
}
}
Paid / production (RapidAPI):
{
"mcpServers": {
"product-extractor": {
"url": "https://product-page-extractor.p.rapidapi.com/mcp",
"headers": {
"X-RapidAPI-Key": "YOUR_RAPIDAPI_KEY",
"X-RapidAPI-Host": "product-page-extractor.p.rapidapi.com"
}
}
}
}
For clients that only support stdio: npx -y mcp-remote https://product-extractor.mohamed-bahaa53000.workers.dev/demo/mcp
Notes
- Stateless. Pages and HTML aren't stored beyond standard request logs.
- Only fetches public http/https pages.
License
MIT for this repository's docs and config examples (see LICENSE). The hosted service is proprietary.