BrowserElf eBay API

Stealth browser scraping for eBay product pages

Endpoints

GET / — This documentation page
GET /health — Service health check
GET /scrape?url=... — Scrape eBay product URL
POST /scrape — Scrape with full options (JSON body)
GET /logs — Recent request logs
GET /stats?domain=... — Rate limit stats
GET /profiles — Available scraping profiles
GET /profiles/:domain — Specific profile config
GET /cache/stats — Cache metrics
DELETE /cache?domain=... — Clear cache

Scrape Options

FieldTypeDefaultDescription
urlstringeBay product URL (required)
stealthbooltrueUse stealth headers/user-agent
screenshotboolfalseReturn base64 screenshot
extractarrayallSpecific fields to extract
formatstringjsonResponse format: json, html, raw
showHtmlboolfalseInclude raw HTML in JSON response
noCacheboolfalseSkip cache lookup
noDelayboolfalseSkip human-like delay

Allowed Domains

Only these eBay domains are accepted:

ebay.com.au | www.ebay.com.au | ebay.com | www.ebay.com

Examples

GET request

curl "http://localhost:3001/scrape?url=https://www.ebay.com.au/itm/123456&noDelay=true"

POST request

curl -X POST http://localhost:3001/scrape \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://www.ebay.com.au/itm/123456",
    "extract": ["name", "price", "currency", "condition"],
    "noDelay": true
  }'

Sample Response

{
  "url": "https://www.ebay.com.au/itm/123456",
  "timestamp": "2026-02-15T12:00:00.000Z",
  "loadTimeMs": 4523,
  "cached": false,
  "product": {
    "name": "Example eBay Product",
    "price": 61.60,
    "currency": "AUD",
    "availability": "In Stock",
    "sku": "123456",
    "image": "https://i.ebayimg.com/...",
    "brand": "BrandName",
    "category": "Electronics > Components",
    "description": "Product description...",
    "sellerName": "seller_123",
    "condition": "New"
  }
}
Rate Limits: eBay domains are rate-limited to 5,000 requests/day and 100 requests per 10-minute burst window. Exceeding limits returns HTTP 429.