# Billiger.de Product API Documentation

Fetch a product by canonical product ID, including media, specifications, variants, offer summaries, reviews, test reports, related products, and price history when Billiger provides them.

- **Documentation:** [https://scrappa.co/docs/billiger-api/billiger_product](https://scrappa.co/docs/billiger-api/billiger_product)
- **API group:** Billiger.de API
- **Endpoint:** `GET https://scrappa.co/api/billiger/product`

## Authentication

Send your Scrappa API key in the `X-API-KEY` request header. Paid endpoints also support accountless x402 payments when called without an API key.

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `product_id` | integer | Yes | Canonical Billiger product identifier from search or a product group. |

## Example request

```bash
#!/bin/bash

curl -X GET \
    -H "x-api-key: YOUR_API_KEY_HERE" \
    "https://scrappa.co/api/billiger/product?product_id=5048620687"
```

## Example response

```json
{
    "success": true,
    "data": {
        "product_id": 5048620687,
        "properties": [],
        "pricehistory": []
    }
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
| 422 | Validation Error | Returned when required identifiers, query text, pagination, or numeric offer condition parameters are invalid. |
| 502 | Invalid Upstream Response | Returned as a non-billable failure when Billiger returns an unsuccessful, malformed, or incomplete response. |
| 503 | Service Unavailable | Returned as a non-billable failure when private configuration or a healthy proxy path is unavailable. |

## More Scrappa resources

- [API documentation](https://scrappa.co/docs)
- [Full LLM-readable API reference](https://scrappa.co/llms-full.txt)
- [OpenAPI specification](https://scrappa.co/docs/api.json)
- [Pricing](https://scrappa.co/pricing)
