Price Comparison API
Price Comparison API
/price-compare/v1/search2 creditskeyword/EAN product search across a comparison source → product cards with lowest_price, offer_count, rating, image, comparison_url
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| query | required | — | Search keyword (product name, model, or EAN/GTIN). |
| source = geizhals | optional | geizhals · cimri · akakce | Price-comparison site to query. 'geizhals' covers Germany, Austria, and the EU (geizhals.de / geizhals.at / geizhals.eu); 'akakce' and 'cimri' cover Turkey. All three return multi-merchant offer lists, EAN/GTIN identifiers, and current pricing. Idealo (idealo.de) is not currently available. |
| country = de | optional | de · at · eu · tr | Locale host. geizhals: de/at/eu (same DOM, different merchant pool). cimri/akakce are TR-only (country is ignored for them). |
| page = 1 | optional | 1–50 | Result page (1-based). Page forward with meta.next_page. |
| sort | optional | p · -p · r · t | Result sort order. geizhals: passed to the site 'sort' value. akakce: engine-side offer sort — 'p' price asc, '-p' price desc. |
/price-compare/v1/product3 creditsfull product detail (title, brand, EAN/GTIN, MPN, breadcrumb, images, specs, rating, lowest_price, embedded merchant offers) by product_id or url
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| product_id | optional | — | Product id. geizhals: the digits in -vNNN.html (family) / -aNNN.html (variant). cimri: the numeric id after the slug comma (…,2237451716) — prefer passing the full `url`. akakce: the numeric prCode (…,282674948.html, or just 282674948) — a bare prCode works (api6 needs no slug). |
| url | optional | — | Full product/variant URL (overrides product_id). geizhals: a *.html page. cimri: https://www.cimri.com/<slug>,<id>. akakce: https://www.akakce.com/<slug>,<id>.html. Take it from a search result's comparison_url. |
| source = geizhals | optional | geizhals · cimri · akakce | Price-comparison site to query. 'geizhals' covers Germany, Austria, and the EU (geizhals.de / geizhals.at / geizhals.eu); 'akakce' and 'cimri' cover Turkey. All three return multi-merchant offer lists, EAN/GTIN identifiers, and current pricing. Idealo (idealo.de) is not currently available. |
| country = de | optional | de · at · eu · tr | Locale host. geizhals: de/at/eu (same DOM, different merchant pool). cimri/akakce are TR-only (country is ignored for them). |
/price-compare/v1/offers3 creditsall merchant offers for a product variant — per-merchant price, availability, delivery, merchant redirect URL (paginated; use a VARIANT id, -aNNN)
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| product_id | optional | — | Product id. geizhals: the digits in -vNNN.html (family) / -aNNN.html (variant). cimri: the numeric id after the slug comma (…,2237451716) — prefer passing the full `url`. akakce: the numeric prCode (…,282674948.html, or just 282674948) — a bare prCode works (api6 needs no slug). |
| url | optional | — | Full product/variant URL (overrides product_id). geizhals: a *.html page. cimri: https://www.cimri.com/<slug>,<id>. akakce: https://www.akakce.com/<slug>,<id>.html. Take it from a search result's comparison_url. |
| source = geizhals | optional | geizhals · cimri · akakce | Price-comparison site to query. 'geizhals' covers Germany, Austria, and the EU (geizhals.de / geizhals.at / geizhals.eu); 'akakce' and 'cimri' cover Turkey. All three return multi-merchant offer lists, EAN/GTIN identifiers, and current pricing. Idealo (idealo.de) is not currently available. |
| country = de | optional | de · at · eu · tr | Locale host. geizhals: de/at/eu (same DOM, different merchant pool). cimri/akakce are TR-only (country is ignored for them). |
| page = 1 | optional | 1–50 | Result page (1-based). Page forward with meta.next_page. |
| sort | optional | p · -p · r · t | Result sort order. geizhals: passed to the site 'sort' value. akakce: engine-side offer sort — 'p' price asc, '-p' price desc. |
| merchant | optional | — | Filter offers to a merchant (vdName, case-insensitive substring — e.g. 'n11', 'Amazon', 'Trendyol'). akakce offers/compare only. |
| min_price | optional | — | Filter offers to price >= min_price (akakce offers/compare). |
| max_price | optional | — | Filter offers to price <= max_price (akakce offers/compare). |
| limit | optional | 1–200 | Top-N: cap the returned offers after sort/filter (akakce offers/compare). Honest bare ceiling per query ≈ 15 offers (~5 product models × top-3). |
/price-compare/v1/price_history3 creditsprice-history for a product — window + min/max observed. cimri ships a REAL 90-day daily min-price series; geizhals' raw point-series is JS-chart-only (min/max + range surfaced, honestly flagged, R15 no fabrication). akakce: not exposed (use cimri for TR history).
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| product_id | optional | — | Product id. geizhals: the digits in -vNNN.html (family) / -aNNN.html (variant). cimri: the numeric id after the slug comma (…,2237451716) — prefer passing the full `url`. akakce: the numeric prCode (…,282674948.html, or just 282674948) — a bare prCode works (api6 needs no slug). |
| url | optional | — | Full product/variant URL (overrides product_id). geizhals: a *.html page. cimri: https://www.cimri.com/<slug>,<id>. akakce: https://www.akakce.com/<slug>,<id>.html. Take it from a search result's comparison_url. |
| source = geizhals | optional | geizhals · cimri · akakce | Price-comparison site to query. 'geizhals' covers Germany, Austria, and the EU (geizhals.de / geizhals.at / geizhals.eu); 'akakce' and 'cimri' cover Turkey. All three return multi-merchant offer lists, EAN/GTIN identifiers, and current pricing. Idealo (idealo.de) is not currently available. |
| country = de | optional | de · at · eu · tr | Locale host. geizhals: de/at/eu (same DOM, different merchant pool). cimri/akakce are TR-only (country is ignored for them). |
/price-compare/v1/category2 creditsbrowse a comparison-site category by its id/slug → product cards (same shape as search). geizhals-only (cimri/akakce expose search/product/offers/price_history/suggest/compare).
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| category | required | — | Geizhals category id or slug — the value after ?cat= (e.g. 'umtsover' for Handys, 'sm_ssd' for SSDs). Discover via the categories action. |
| source = geizhals | optional | geizhals · cimri · akakce | Price-comparison site to query. 'geizhals' covers Germany, Austria, and the EU (geizhals.de / geizhals.at / geizhals.eu); 'akakce' and 'cimri' cover Turkey. All three return multi-merchant offer lists, EAN/GTIN identifiers, and current pricing. Idealo (idealo.de) is not currently available. |
| country = de | optional | de · at · eu · tr | Locale host. geizhals: de/at/eu (same DOM, different merchant pool). cimri/akakce are TR-only (country is ignored for them). |
| page = 1 | optional | 1–50 | Result page (1-based). Page forward with meta.next_page. |
| sort | optional | p · -p · r · t | Result sort order. geizhals: passed to the site 'sort' value. akakce: engine-side offer sort — 'p' price asc, '-p' price desc. |
/price-compare/v1/categories2 creditstop-level category navigation tree of the comparison source (id, name, url)
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| source = geizhals | optional | geizhals · cimri · akakce | Price-comparison site to query. 'geizhals' covers Germany, Austria, and the EU (geizhals.de / geizhals.at / geizhals.eu); 'akakce' and 'cimri' cover Turkey. All three return multi-merchant offer lists, EAN/GTIN identifiers, and current pricing. Idealo (idealo.de) is not currently available. |
| country = de | optional | de · at · eu · tr | Locale host. geizhals: de/at/eu (same DOM, different merchant pool). cimri/akakce are TR-only (country is ignored for them). |
/price-compare/v1/suggest2 creditssearch autocomplete — product-name suggestions + the linked product_id for a partial query
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| query | required | — | Search keyword (product name, model, or EAN/GTIN). |
| source = geizhals | optional | geizhals · cimri · akakce | Price-comparison site to query. 'geizhals' covers Germany, Austria, and the EU (geizhals.de / geizhals.at / geizhals.eu); 'akakce' and 'cimri' cover Turkey. All three return multi-merchant offer lists, EAN/GTIN identifiers, and current pricing. Idealo (idealo.de) is not currently available. |
| country = de | optional | de · at · eu · tr | Locale host. geizhals: de/at/eu (same DOM, different merchant pool). cimri/akakce are TR-only (country is ignored for them). |
/price-compare/v1/compare4 creditsone-shot price-compare: resolve a query to its top product, then return that product's merchant offers + EAN/GTIN in a single call (search→offers convenience)
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| query | required | — | Search keyword (product name, model, or EAN/GTIN). |
| source = geizhals | optional | geizhals · cimri · akakce | Price-comparison site to query. 'geizhals' covers Germany, Austria, and the EU (geizhals.de / geizhals.at / geizhals.eu); 'akakce' and 'cimri' cover Turkey. All three return multi-merchant offer lists, EAN/GTIN identifiers, and current pricing. Idealo (idealo.de) is not currently available. |
| country = de | optional | de · at · eu · tr | Locale host. geizhals: de/at/eu (same DOM, different merchant pool). cimri/akakce are TR-only (country is ignored for them). |
| sort | optional | p · -p · r · t | Result sort order. geizhals: passed to the site 'sort' value. akakce: engine-side offer sort — 'p' price asc, '-p' price desc. |
| merchant | optional | — | Filter offers to a merchant (vdName, case-insensitive substring — e.g. 'n11', 'Amazon', 'Trendyol'). akakce offers/compare only. |
| min_price | optional | — | Filter offers to price >= min_price (akakce offers/compare). |
| max_price | optional | — | Filter offers to price <= max_price (akakce offers/compare). |
| limit | optional | 1–200 | Top-N: cap the returned offers after sort/filter (akakce offers/compare). Honest bare ceiling per query ≈ 15 offers (~5 product models × top-3). |
curl -X POST https://api.reefapi.com/price-compare/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"iphone 15"}'{
"ok": true,
"data": { /* the result */ },
"meta": {
"latency_ms": 240,
"record_count": 12,
"completeness_pct": 100
},
"error": null
}