Trovaprezzi.it API

Every Italian shop's price, shipping and total for a product, with six months of daily prices

Trovaprezzi.it is Italy's largest price-comparison site: for each product it lists the online shops selling it with the item price, the shipping cost and the total.

no credit card1,000 free credits · instant API key · pay by card or crypto
Missing a Trovaprezzi.it endpoint, or need a source we don't have yet?Contact us real people · same-day reply.
T
/trovaprezzi/v1

4 active endpoints. Every call is 3 credits.

  • POST/trovaprezzi/v1/search
  • POST/trovaprezzi/v1/product
  • POST/trovaprezzi/v1/offers
  • POST/trovaprezzi/v1/price_history

What Trovaprezzi.it endpoints does ReefAPI ship?

4 live read endpoints. Read-only data API: no writes, no account actions, no dashboard access on the target site.

4 endpoints

search

3 cr

Keyword search on trovaprezzi.it.

required
query
optional
sort, min_price, max_price, filter, page

product

3 cr

One trovaprezzi product page.

required
—
optional
product_id, url

offers

3 cr

Every shop offer for one trovaprezzi product, 20 per page, in the order you ask for.

required
—
optional
product_id, url, sort, min_price, max_price, filter, page

price_history

3 cr

Daily lowest-price history of a trovaprezzi product over the last 6 months, as the site chart…

required
—
optional
product_id, url, variant

Every parameter, every allowed value →

Trovaprezzi.it API

4 of 4 endpoints, ready to run

View docs ↗

Every shop's price, shipping and total for one product

3 credits1 required · 1 optional
POST/trovaprezzi/v1/offers
idle
// Press "Try it" and this pane shows exactly what the
// live site returned this second — including an empty
// result, if that is the truth. No key, no account.

How the Trovaprezzi.it API works

Trovaprezzi.it is a normal ReefAPI surface — the same four rules that hold for every other engine on the key.

01
Authenticate
x-api-key header

No OAuth app, no request signing, no per-site account. One key covers all 549 engines.

02
Call
POST /trovaprezzi/v1/…

Every route is a POST with a JSON body. Parameters are validated against the published schema before anything is charged.

03
Pay
3 credit per call

Credits, not seats. Failed and blocked calls are never charged, and cache hits cost nothing.

04
Read
{ ok, data, meta, error }

One envelope everywhere. meta carries latency_ms, record_count and the endpoint that answered.

From a product to every Italian shop's offer and its price curve

Read the product, then its full offer list page by page, then the six-month price history.

01search?query=logitech%20mx%20master%203s
GET/trovaprezzi/v1/search?query=logitech%20mx%20master%203s

An exact product match returns result_type product with product.product_id, plus the product's first 20 offers.

02offers?product_id=<product_id>&sort=total_price_asc
GET/trovaprezzi/v1/offers?product_id=<product_id>&sort=total_price_asc

20 offers per page with price, shipping cost, total, availability, shop rating and payment methods; total is the site's count.

03product?product_id=<product_id>
GET/trovaprezzi/v1/product?product_id=<product_id>

Lowest and highest price, offer count, review score, the full spec sheet and the offer filters with counts.

04price_history?product_id=<product_id>
GET/trovaprezzi/v1/price_history?product_id=<product_id>

Daily lowest price for six months, with today's price and shop, the six-month mean and high.

A dated Italian price feed: the cheapest shop with shipping, every competing offer and the six-month price curve for each product you track.

request
curl -X POST https://api.reefapi.com/trovaprezzi/v1/offers \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"product_id":"cellulari/apple_iphone_17"}'
response envelope
{
  "ok": true,
  "data": { … },
  "meta": {
    "api": "trovaprezzi",
    "endpoint": "offers",
    "mode": "live",
    "latency_ms": …,
    "record_count": …
  },
  "error": null
}

What a Trovaprezzi.it field actually contains

Fields that read differently from how they look. Every row was measured against live Trovaprezzi.it pages on 2026-10-15.

FieldWhat it holds
product_idTrovaprezzi's product address without the fixed middle part: cellulari/apple_iphone_17 for trovaprezzi.it/cellulari/prezzi-scheda-prodotto/apple_iphone_17. The category part is required; the same product name under another category does not exist. A product URL works too.
price, shipping_cost, total_priceThree numbers per offer, all in euros as the site prints them: the item price, the shipping cost (0 when the shop ships free) and the site's own total. The engine re-adds price and shipping on every row and sets total_mismatch if they disagree.
lowest_priceThe 'a partire da' price in the product header. It is checked on every call against the page's structured data and the first offer of the price-ordered list; price_mismatch is set if any of the three disagree.
variant_product_idOffers in search that belong to a catalogue product carry the id of that product's variant page (cellulari/apple_iphone_17e_256gb-v). Pass it unchanged to product or offers.
shop.rating, shop.review_countThe shop's star rating on trovaprezzi (0 to 5, in half stars) and the number of reviews behind it, as printed next to the offer (1.659 = 1659). badges lists Trusted / Feedaty when shown.
availabilityavailable or limited (Disponibilità limitata), as the offer row marks it.
result_typeWhere a search landed: product (an exact product match), offer_list (trovaprezzi's offer list for those words) or category_choice (several categories; offers are not listed, the categories and proposed products are). none means no match.
price_history_variantTrovaprezzi charts one variant per product, the variant of the best offer (apple_iphone_17_256gb for the iPhone 17). price_history names it in variant.

Prices are Italian consumer prices in euros, VAT included, as listed by the shops on Trovaprezzi.it.

Trovaprezzi.it coverage, measured

Every number below was read from live Trovaprezzi.it responses on 2026-10-15.

Market

Italy, prices in euros including VAT. The iPhone 17 had 289 shop offers; "lavatrice 9 kg" 429 offers; "cuffie bluetooth" 2,000 (the site's count stops at 2,000).

Filters that bite

"lavatrice 9 kg" 429 → 300 to 400 euros 127, brand Samsung 58. iPhone 17 offers 289 → 1,000 to 1,200 euros 92, 256GB 229.

Price accuracy

Header price, structured data and first offer agreed on 7 of 7 products; price + shipping equalled the site's own total on 80 of 80 offer rows.

Price history

183 daily points (six months) for the iPhone 17, with today's price matching the product's lowest price.

Identity

Product ids from search answers resolved to the same product and title on 6 of 6 checks.

Limits

20 offers per page; searches that span several categories return the categories and proposed products, not offers; shop review texts are not returned; the price history covers one variant per product.

What people build with Trovaprezzi.it

The jobs this data is most often used for.

4

endpoints

3

credits per call

01

Monitor the cheapest Italian shop price, shipping included, for a list of products every day.

02

Compare every shop's price, shipping cost and rating for one product across Italian e-commerce.

03

Build a six-month daily price curve per product for pricing and promotion analysis.

04

Track how many shops sell a product and how its offer count moves by memory size or colour.

What Trovaprezzi.it data costs

The cheapest call here is 3 credits, so $15/mo (Pro) buys 3,333 of them — $1.50 per 1,000 credits. Credits roll over and never expire, and failed or blocked calls are not charged.

Full pricing →
$0.67–$1.50 / 1,000 credits
  • 1,000 free credits on signup, no card
  • One key, all 549 APIs, one credit pool
  • Failed and blocked calls are never charged
  • Credits roll over and never expire

Call it in two lines

Sign up, get 1,000 credits and one key that works on every engine. Then this is the whole protocol.

curl
curl -X POST https://api.reefapi.com/trovaprezzi/v1/offers \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"product_id":"cellulari/apple_iphone_17"}'
python
import requests

r = requests.post(
    "https://api.reefapi.com/trovaprezzi/v1/offers",
    headers={"x-api-key": REEF_KEY},
    json={
  "product_id": "cellulari/apple_iphone_17"
},
)
print(r.json()["data"])
FAQ

Have a question? We got answers.

The questions people actually ask before wiring up Trovaprezzi.it.

Get a free key →
Do I need a Trovaprezzi.it account?▾

No. Everything is read logged out, and you call reefapi.com from anywhere.

How many offers does a product have, and how do I get all of them?▾

offers returns 20 per page with total = the site's own count for your filters. The iPhone 17 had 289 offers on 2026-10-15, 15 pages; a page past the last answers NOT_FOUND.

Which filters are there?▾

A price range and one facet per call, on both search and offers, plus four sort orders. Measured in the same run: "lavatrice 9 kg" 429 offers → 300 to 400 euros 127, brand Samsung 58; iPhone 17 offers 289 → 1,000 to 1,200 euros 92, 256GB 229.

Can I sort by price including shipping?▾

Yes: sort=total_price_asc is trovaprezzi's own 'Includi spese spedizione' order.

How far back does price_history go?▾

Six months of daily lowest prices (183 points on 2026-10-15), as trovaprezzi charts them, plus today's price and shop, yesterday's price, the six-month mean and the six-month high with its date.

Why does a search return categories instead of offers?▾

Some words span many categories ("samsung" spanned 160). Trovaprezzi then asks which category; the API returns those categories with their offer counts and the products trovaprezzi proposes, each with a product_id you can pass to offers.

Do you return shop reviews?▾

Not yet. Each offer carries the shop's star rating and review count; the review texts are not returned.

What is the Trovaprezzi.it API?▾

Trovaprezzi.it API is a ReefAPI endpoint group for italy's largest price comparison: every shop's price, shipping and total for a product, plus 6 months of daily prices. It returns live JSON through POST requests under /trovaprezzi/v1.

Is the Trovaprezzi.it API free to try?▾

Yes. ReefAPI starts with 1,000 free credits, no card required. Trovaprezzi.it calls use the same shared credit balance as every other ReefAPI engine.

Do I need a Trovaprezzi.it login or account?▾

No login to Trovaprezzi.it is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.

How fresh is the Trovaprezzi.it data?▾

The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.

How many credits does the Trovaprezzi.it API use?▾

Trovaprezzi.it actions currently cost 3 credits per successful call. Failed or blocked calls are free. All APIs draw from one credit pool.

Can I call Trovaprezzi.it from an AI assistant or MCP client?▾

Yes. Connect ReefAPI once through MCP and your assistant can call trovaprezzi actions with the same key, credit pool and JSON envelope used by normal REST requests.

Is the Trovaprezzi.it API a Trovaprezzi.it scraper?▾

It is the managed alternative to a DIY Trovaprezzi.it scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same italy's largest price comparison: every shop's price, shipping and total for a product, plus 6 months of daily prices back as clean JSON.

Need something this API does not do?

Name the endpoint, the field, or a source we do not carry yet. We ship new APIs every week and you would be first to get the key. Real people read every message and reply the same day.

0/4000

No account needed · we reply from [email protected]

Try it on your own data before you pay anything

The call above is the real endpoint, not a recording. A free key gives you 1,000 credits, the other 548 APIs, and the same envelope everywhere.

Endpoints, parameters and credit costs on this page are read from the live catalog and cannot drift from what the API accepts. Field notes were captured on 2026-10-15.