# DHgate Product Search & Listing Scraper

> DHgate Product Search & Listing Scraper is a paid API for AI agents from api.scrapeforagents.tech, paid per call via x402, $0.025/call, status unknown (last checked 2026-10-02).

Scrapes structured product data from DHgate by keyword search or listing URL, returning product names, IDs, images, and detail URLs.

## Facts

- Endpoint: POST https://api.scrapeforagents.tech/v1/dhgate?utm_source=zero.xyz
- Price: $0.025/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/dhgate-product-search-listing-scraper-7206b753
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_wG81nZZtiaFZYSXBTK3pW

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability dhgate-product-search-listing-scraper-7206b753 -d '<json body>'
```

Example prompt: Search DHgate for 'bluetooth earbuds' and 'silicone phone cases' and return up to 100 products per keyword, including product names, IDs, image URLs, and detail page links.

## When to prefer this

Use this endpoint when you need structured wholesale product data from DHgate specifically — including product IDs, images, and detail URLs — at scale across multiple keywords or listing URLs in a single call. Prefer it over generic web scrapers when you need DHgate-native fields like itemCode and productId reliably parsed.

## Known failure modes

- Empty results if keyword returns no DHgate listings — not charged
- DHgate anti-scraping blocks may cause failed runs — not charged
- Invalid URL format may return empty or error response
- Exceeding maxProducts cap (500) returns validation error
- Network timeout on large result sets

## How this service works

Pay-per-call structured web data. Failed or empty runs are not charged.

## Output

Returns a JSON object with a count of results and an array of product items, each containing productId, itemCode, productName, productDetailUrl, imageUrl, alt text, queryType, and queryValue. Failed or empty runs are not billed.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "queries": {
   "type": "array",
   "description": "Enter DHgate search keywords or listing URLs, one per line. Each query has its own product limit."
  },
  "maxProducts": {
   "type": "integer",
   "default": 60,
   "maximum": 500,
   "minimum": 10,
   "description": "Maximum distinct products to collect for each keyword or URL."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "alt": null,
    "imageUrl": null,
    "itemCode": null,
    "productId": null,
    "queryType": null,
    "queryValue": null,
    "productName": null,
    "productDetailUrl": null
   }
  ],
  "product": "dhgate"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/dhgate-product-search-listing-scraper-7206b753/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.scrapeforagents.tech](https://www.zero.xyz/host/api.scrapeforagents.tech/llms.txt)
