> Searlo API Docs — Shopping Search
> Source: https://searlo.tech/docs#search-shopping
> Full docs: https://searlo.tech/docs/full.md

# Shopping Search

Search product/shopping results.

### Endpoint

```
GET /search/shopping
```

**Credits:** 1 per request

### Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `q` | string | Yes | Search query (1–500 chars) |
| `limit` | number | No | Results (1–55, **default: 55**) |
| `gl` | string | No | Country code, max 5 chars (e.g. `us`) |
| `hl` | string | No | Interface language code, max 5 chars (e.g. `en`) |

### Response

```json
{
  "success": true,
  "searchParameters": { "q": "wireless earbuds", "type": "shopping", "gl": "us", "hl": "en" },
  "shopping": [
    { "title": "Wireless Earbuds Pro", "price": "$79.99", "source": "example-store.com", "link": "https://..." }
  ],
  "source": "searlo.tech(google)"
}
```

If no products are found you get a `200` with `"shopping": []`. If results are temporarily unavailable you get a `503` with `"retryable": true`.

## Code Examples

### cURL

```bash
curl "https://api.searlo.tech/api/v1/search/shopping?q=wireless+earbuds&gl=us" \
  -H "x-api-key: sk_your_api_key"
```

### JavaScript

```javascript
const res = await fetch(
  "https://api.searlo.tech/api/v1/search/shopping?q=wireless+earbuds&gl=us",
  { headers: { "x-api-key": process.env.SEARLO_API_KEY } }
);
console.log((await res.json()).shopping);
```

### Python

```python
import os
import requests

res = requests.get(
    "https://api.searlo.tech/api/v1/search/shopping",
    params={"q": "wireless earbuds", "gl": "us"},
    headers={"x-api-key": os.environ["SEARLO_API_KEY"]}
)
print(res.json()["shopping"])
```


---
*From https://searlo.tech/docs — see full docs at https://searlo.tech/docs/full.md*