# 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://staging.scrappa.co/docs/billiger-api/billiger_product](https://staging.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, oversized, or incomplete response. No partial results are billed. Check the HTTP status before parsing the body because an intermediary may replace an error response. |
| 503 | Service Unavailable | The upstream service is temporarily unavailable. Please retry shortly. |

## More Scrappa resources

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