Marketplace
E-commerce data: Amazon (by ASIN or keyword), Walmart (by product ID), TikTok Shop (trending products) — plus a lightweight actor marketplace for creating, listing, and running reusable scraping actors.
What it scrapes
| Source | Data |
|---|---|
| Amazon | Product by ASIN (price, title, availability, rating); keyword search (listings with price, title, image, rating, availability) |
| Walmart | Product by product ID (price, title, availability, seller, rating) |
| TikTok Shop | Currently trending products (title, price, sales velocity, image) |
| Actor marketplace (internal) | Create/run reusable actors with templates, pricing, visibility, and cron schedules |
Endpoints
Router: routers/marketplace.py · tag: Marketplace
| Method | Path | Summary |
|---|---|---|
| POST | /v1/actors/create | Create a new actor (name, description, template_id, code, price_per_run, visibility, schedule_cron, tags) |
| GET | /v1/actors | List actors — filter by visibility (public/private) and tag |
| POST | /v1/actors/{actor_id}/run | Run an actor with input dict |
| GET | /v1/marketplace/amazon/product/{asin} | Amazon product by ASIN |
| GET | /v1/marketplace/amazon/search | Amazon keyword search (query, limit 1–100, default 20) |
| GET | /v1/marketplace/walmart/product/{product_id} | Walmart product by product ID |
| GET | /v1/marketplace/tiktok/trending | TikTok Shop trending (limit 1–500, default 50) |
GET /v1/marketplace/amazon/product/{asin}
curl -X GET "http://localhost:8005/v1/marketplace/amazon/product/B0B2X9LJQK" \
-H "Authorization: Bearer <key>"
Response (200):
{
"success": true,
"asin": "B0B2X9LJQK",
"data": {
"title": "Example Wireless Keyboard",
"price": 29.99,
"currency": "USD",
"availability": "In Stock",
"rating": 4.5,
"review_count": 1234,
"url": "https://www.amazon.com/dp/B0B2X9LJQK"
}
}
GET /v1/marketplace/amazon/search
Query params: query (required), limit (1–100, default 20).
curl -X GET "http://localhost:8005/v1/marketplace/amazon/search?query=wireless%20keyboard&limit=5" \
-H "Authorization: Bearer <key>"
Response (200):
{
"success": true,
"query": "wireless keyboard",
"limit": 5,
"data": [
{
"asin": "B0B2X9LJQK",
"title": "Example Wireless Keyboard",
"price": 29.99,
"currency": "USD",
"rating": 4.5,
"review_count": 1234,
"availability": "In Stock",
"image": "https://m.media-amazon.com/images/I/..."
}
]
}
GET /v1/marketplace/walmart/product/{product_id}
curl -X GET "http://localhost:8005/v1/marketplace/walmart/product/12345678" \
-H "Authorization: Bearer <key>"
Response (200):
{
"success": true,
"product_id": "12345678",
"data": {
"title": "Example Wireless Keyboard",
"price": 24.97,
"currency": "USD",
"availability": "In stock",
"seller": "Walmart",
"rating": 4.3,
"review_count": 876,
"url": "https://www.walmart.com/ip/12345678"
}
}
GET /v1/marketplace/tiktok/trending
curl -X GET "http://localhost:8005/v1/marketplace/tiktok/trending?limit=10" \
-H "Authorization: Bearer <key>"
Response (200):
{
"success": true,
"limit": 10,
"data": [
{
"title": "Example Trending Gadget",
"price": 19.99,
"currency": "USD",
"sales_velocity": "high",
"image": "https://p16-va.lemon8cdn.com/...",
"url": "https://www.tiktok.com/shop/..."
}
]
}
Actor marketplace
The actor system lets you package scrapers as reusable, schedulable units:
# Create
curl -X POST http://localhost:8005/v1/actors/create \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <key>" \
-d '{"name": "price-watcher", "description": "Track product prices", "template_id": "amazon-product", "price_per_run": 0.01, "visibility": "private"}'
# List
curl -X GET "http://localhost:8005/v1/actors?visibility=public" \
-H "Authorization: Bearer <key>"
# Run
curl -X POST http://localhost:8005/v1/actors/my_actor_123/run \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <key>" \
-d '{"inputs": {"asin": "B0B2X9LJQK"}}'
MCP tools
| Tool | Backing endpoint |
|---|---|
pry_amazon_product | GET /v1/marketplace/amazon/product/{asin} |
pry_amazon_search | GET /v1/marketplace/amazon/search |
pry_walmart_product | GET /v1/marketplace/walmart/product/{product_id} |
pry_tiktok_trending | GET /v1/marketplace/tiktok/trending |
The pry_template tool also covers marketplace sites — search the catalog
with pry_search_templates (e.g. amazon, walmart) before building a
custom extraction.
Who uses this
- Price intelligence — track competitor pricing across Amazon/Walmart by ASIN/product ID.
- Dropshipping / product research — TikTok Shop trending for viral product discovery.
- Retail arbitrage — compare the same SKU across marketplaces.
- Automated price watches — combine the actor marketplace with monitors
(
POST /v1/watch//v1/monitor) for scheduled price-change alerts.
Next steps
- MCP Integration — run marketplace tools from AI agents
- Extraction API — custom CSS/LLM extraction for sites without a built-in endpoint
- Pricing & Monetization — per-call pricing