Looking for the overview — what this API returns, what it costs, and a call you can run without a key? See the Pigu (pigu.lt, 220.lv, kaup24.ee, hobbyhall.fi) API page →
E-commerce & Marketplaces

Pigu (pigu.lt, 220.lv, kaup24.ee, hobbyhall.fi) API & Scraper

Pigu Group runs the largest marketplace in the Baltics under four names: pigu.lt in Lithuania, 220.lv in Latvia, kaup24.ee in Estonia and hobbyhall.fi in Finland.

3 actionsLive JSON1,000 free credits$0.67–$1.50 / 1,000 creditsMCP-ready
Get a free keyOpen in playground

🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.

This API reads all four with one parameter, country (lt, lv, ee, fi). search takes a keyword with a price range, sort and page; category lists one category by id; product returns one product with the main offer, every other seller's offer, the delivery options with date and fee, and the full specification table. Every price is in EUR and comes in two fields: price is what anyone pays, member_price is the Pigu PLUS loyalty price when the shop shows one.

Reference

What a Pigu field actually contains

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

FieldWhat it holds
price, member_priceprice is the price every buyer pays (the shop labels it the usual price). member_price is the Pigu PLUS loyalty price, shown next to it on most products and only available to members of the shop's loyalty programme. Example: 375.00 EUR for everyone, 230.25 EUR for members. The shop's own analytics and structured data report the member figure as the price; this API keeps the two apart.
product_id, modification_idA product is opened with both ids, and both are on every search and category row. A modification id that belongs to another product returns NOT_FOUND rather than that other product.
supply_type, seller_id1P means the shop itself sells the product, 3P a marketplace seller. product names the main seller with its rating, and offers lists every other seller with price, member price, rating count and delivery date.
deliveryOn product: each delivery method the shop offers for the main offer (pickup in a store, parcel locker, post office, courier) with the date it states and the fee in EUR. The dates are the shop's estimate on the day of the call.
installment_from_per_monthThe lowest monthly payment the shop advertises for buying in instalments. It is not a price.
sponsoredtrue for rows the shop pays to place at the top of a listing.
next_cursor, result_setThe shop answers the same keyword from one of two result sets, chosen per request (lego technic: 451 or 261 hits). Page on with next_cursor: every later page is taken from page 1's result set and products already returned are left out (duplicates_dropped). If the shop will not answer from the same set, the page says result_set_changed: true.
totalThe shop's own count of matching products. A search with no match returns total 0 and an empty list.

On 12 products in the four shops, price equalled the price printed on the product's own page for everyone on 12 of 12 and member_price the printed member price on 12 of 12. A product opened from a search row returned the same product and the same two prices on 24 of 24 round trips.

Live example

Real request and response JSON

Captured from the indexed primary action, search, on .

Captured request
{
  "method": "POST",
  "url": "https://api.reefapi.com/pigu/v1/search",
  "headers": {
    "x-api-key": "$REEF_KEY",
    "content-type": "application/json"
  },
  "body": {
    "query": "lego technic",
    "country": "lt"
  }
}
Captured response
{
  "ok": true,
  "meta": {
    "api": "pigu",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": 6948,
    "record_count": 60,
    "bytes": 1104749,
    "cache_hit": false,
    "upstream_requests": 3,
    "refused_attempts": 2,
    "total": 451,
    "country": "lt",
    "result_set_tries": 1,
    "charged_credits": 3,
    "version": "0.1.0",
    "request_id": "ec3f693ae10b402b",
    "queue_ms": 1.1,
    "fetched_at": "2026-10-15T17:03:03.057Z"
  },
  "data": {
    "country": "lt",
    "shop": "pigu.lt",
    "query": "lego technic",
    "results": [
      {
        "product_id": "256931847",
        "modification_id": "280867832",
        "title": "LEGO® Technic „Fast and Furious“ automobilis „Dodge Charger R/T“ 42231",
        "brand": "LEGO®",
        "url": "https://pigu.lt/lt/kudikiams-ir-vaikams/zaislai/konstruktoriai-ir-kaladeles/lego-technic-fast-and-furious-automobilis-dodge?id=256931847",
        "image": "https://lt2.pigugroup.eu/colours/256/706/397/256706397/lego-technic-fast-and-furious-automobilis-dodge-6e581_large.jpg",
        "currency": "EUR",
        "price": 159.99,
        "member_price": 119.06,
        "installment_from_per_month": 3.16,
        "rating": 5,
        "review_count": 1,
        "available": true,
        "item_status": "active",
        "supply_type": "1P",
        "seller_id": "80",
        "delivery_promise": "pickup-tomorrow",
        "delivery_label": "ATSIIMK RYTOJ",
        "labels": [
          "*MOKI3 - BE PABRANGIMO"
        ],
        "category_id": "2630",
        "sponsored": false
      },
      {
        "product_id": "241505706",
        "modification_id": "266394951",
        "title": "LEGO® Technic Ferrari FXX K 42212",
        "brand": "LEGO®",
        "url": "https://pigu.lt/lt/kudikiams-ir-vaikams/zaislai/konstruktoriai-ir-kaladeles/lego-technic-ferrari-fxx-k-42212?id=241505706",
        "image": "https://lt2.pigugroup.eu/colours/242/077/616/242077616/lego-technic-ferrari-fxx-k-42212-1e208-price_large.jpg",
        "currency": "EUR",
        "price": 64.99,
        "member_price": 51.69,
        "installment_from_per_month": 1.37,
        "rating": 5,
        "review_count": 5,
        "available": true,
        "item_status": "active",
        "supply_type": "1P",
        "seller_id": "80",
        "delivery_promise": "pickup-tomorrow",
        "delivery_label": "ATSIIMK RYTOJ",
        "labels": [
          "*MOKI3 - BE PABRANGIMO"
        ],
        "category_id": "2630",
        "sponsored": false
      },
      {
        "product_id": "68618821",
        "modification_id": "85212331",
        "title": "42154 LEGO® Technic 2022 Ford GT",
        "brand": "LEGO®",
        "url": "https://pigu.lt/lt/kudikiams-ir-vaikams/zaislai/konstruktoriai-ir-kaladeles/lego-technic-2022-ford-gt-42154?id=68618821",
        "image": "https://lt2.pigugroup.eu/colours/694/353/46/69435346/42154-lego-technic-2022-ford-gt-ec976_large.jpg",
        "currency": "EUR",
        "price": 139.99,
        "member_price": 98.65,
        "installment_from_per_month": 2.62,
        "rating": 4.6,
        "review_count": 43,
        "available": true,
        "item_status": "active",
        "supply_type": "1P",
        "seller_id": "80",
        "delivery_promise": "pickup-tomorrow",
        "delivery_label": "ATSIIMK RYTOJ",
        "labels": [
          "*MOKI3 - BE PABRANGIMO"
        ],
        "category_id": "2630",
        "sponsored": false
      }
    ],
    "total": 451,
    "page": 1,
    "last_page": 8,
    "has_more": true,
    "next_cursor": "ADJ7InEiOiJsZWdvIHRlY2huaWMiLCJjIjoibHQiLCJwIjoyLCJycyI6ImFsZ29saWEifQ9QeAcOZRWqBBcKRQTOZBkHJFKfDuZD9gTOZCgO5kPxBQlsNQ7mQ-cPbi2sCKNspg_RmzgM3ZGbBQlsKw5lFa8HfI6hD8X8vwb4dYUHJFKkDmUVuQzdkZYHDGyODuZD4g8u76wO5kQACKNsqw5lFbQO5kP7Bvh16QUJbDoPLu-nD8LY-gUJbD8FYGcQDy7vtgd8jpcIo2ywDuZD7A9uLjgPbi1XByRSmg9K_lkPLu-xBM5kHg9uLbEOZRWlDN2RkQ9uLVwEzmQPBGzDWQF519oEsbp5AvEEvwIriq8B5oXLAiuKvgIriqUB1xVyAw32dQ",
    "currency": "EUR",
    "search_kind": "search",
    "result_set": "algolia",
    "result_set_requested": null,
    "result_set_changed": false,
    "duplicates_dropped": 0,
    "redirected_to": null,
    "price_filter_applies_to": null
  }
}
Actions

What the Pigu (pigu.lt, 220.lv, kaup24.ee, hobbyhall.fi) API does

ActionDescriptionConcrete use caseKey params
searchKeyword search in one Pigu Group shop (country lt/lv/ee/fi). Each row: product id and modification id (pass both to `product`), title, brand, URL, image, price in EUR that everyone pays, Pigu PLUS member price when the shop shows one, monthly instalment from, rating and review count, seller id and supply type (1P = sold by the shop, 3P = marketplace seller), delivery promise, promotion labels, sponsored flag, category id (feeds `category`). Plus the shop's own total and page count. Page on with `next_cursor`: it keeps every page in page 1's result set and drops rows already returned. One of `query` or `cursor` is required.Pricing teams call search to get keyword search in one Pigu Group shop (country lt/lv/ee/fi).query, country, min_price, max_price, sort, ...
categoryOne category listing of a Pigu Group shop, by the category id a search row carries in `category_id` (or the id in a shop category URL's listing). Same row fields as `search`, plus the category title and the shop's own product count.Marketplace operators call category to get one category listing of a Pigu Group shop, by the category id a search row carries in `catego….category_id, country, sort, page
productOne product of a Pigu Group shop by its product id AND modification id (both are on every search/category row). Returns the main offer's price for everyone and member price, main seller with rating, every seller's offer with both prices, rating count and delivery date, the delivery options with date and fee, specification table, description, images.Catalog enrichment teams call product to get one product of a Pigu Group shop by its product id AND modification id (both are on every sea….product_id, modification_id, country
Code samples

Call search from your stack

curl -X POST https://api.reefapi.com/pigu/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"query":"lego technic","country":"lt"}'
MCP one-liner
Ask your MCP-connected assistant: call reefapi.pigu.search with {"query":"lego technic","country":"lt"}.
Use cases

Who uses this API and why

  • Track pigu.lt, 220.lv, kaup24.ee and hobbyhall.fi prices daily, with the member price kept apart.
  • See every marketplace seller's offer for one product and who has the lowest price.
  • Compare delivery dates and fees across sellers and countries.
  • Monitor a category's prices and sponsored placements in the Baltics.
  • Collect full specification tables and manufacturer codes for product matching.
FAQ

Questions developers ask before integrating

Which countries and currency?

Four shops of one company: country=lt for pigu.lt (Lithuania), lv for 220.lv (Latvia), ee for kaup24.ee (Estonia) and fi for hobbyhall.fi (Finland). All prices are in EUR. Product and category ids are per shop.

Why are there two prices?

The shops sell a paid loyalty membership (Pigu PLUS, 220.lv PLUS, Kaup24 PLUS, HobbyHall PLUS) and show a lower member price on most products. price is the price for everyone; member_price is the member price, null when the product has none.

Does the price filter use the member price?

Yes. The shop applies min_price and max_price to the lowest price a buyer can pay, which is the member price when there is one. So a row inside a 200-400 EUR range can have a price for everyone above 400; its member_price is inside the range.

Do I need an account?

No. Everything is read logged out: prices, member prices, sellers, offers, delivery dates and specifications.

How do I page through a search?

Pass next_cursor from each answer as cursor while has_more is true. The shop serves two different result sets for the same keyword; the cursor keeps every page in page 1's set and drops products already returned. Measured on lego technic, 3 pages in 5 runs: no product on two pages. Category listings page with page=2, 3 and have a single result set.

Where do category ids come from?

Every search row carries category_id. Pass it to category with the same country to list that whole category (for example 85 is mobile phones on pigu.lt, 879 products).

Can I sort?

Yes: best_selling (the shop's default), price_asc, price_desc, delivery (fastest first) and rating.

What is the Pigu (pigu.lt, 220.lv, kaup24.ee, hobbyhall.fi) API?

Pigu (pigu.lt, 220.lv, kaup24.ee, hobbyhall.fi) API is a ReefAPI endpoint group for the baltic and finnish marketplace in one api: eur price for everyone and the plus member price, every seller's offer, delivery dates and fees, full specifications. It returns live JSON through POST requests under /pigu/v1.

Is the Pigu (pigu.lt, 220.lv, kaup24.ee, hobbyhall.fi) API free to try?

Yes. ReefAPI starts with 1,000 free credits, no card required. Pigu (pigu.lt, 220.lv, kaup24.ee, hobbyhall.fi) calls use the same shared credit balance as every other ReefAPI engine.

Do I need a Pigu (pigu.lt, 220.lv, kaup24.ee, hobbyhall.fi) login or account?

No login to Pigu (pigu.lt, 220.lv, kaup24.ee, hobbyhall.fi) 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 Pigu (pigu.lt, 220.lv, kaup24.ee, hobbyhall.fi) 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 Pigu (pigu.lt, 220.lv, kaup24.ee, hobbyhall.fi) API use?

Pigu (pigu.lt, 220.lv, kaup24.ee, hobbyhall.fi) actions currently cost 2-3 credits per successful call. Failed or blocked calls are free. All APIs draw from one credit pool.

Can I call Pigu (pigu.lt, 220.lv, kaup24.ee, hobbyhall.fi) from an AI assistant or MCP client?

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

Is the Pigu (pigu.lt, 220.lv, kaup24.ee, hobbyhall.fi) API a Pigu (pigu.lt, 220.lv, kaup24.ee, hobbyhall.fi) scraper?

It is the managed alternative to a DIY Pigu (pigu.lt, 220.lv, kaup24.ee, hobbyhall.fi) 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 the baltic and finnish marketplace in one api: eur price for everyone and the plus member price, every seller's offer, delivery dates and fees, full specifications back as clean JSON.

docs / pigu

Pigu (pigu.lt, 220.lv, kaup24.ee, hobbyhall.fi)

The Baltic and Finnish marketplace in one API: EUR price for everyone and the PLUS member price, every seller's offer, delivery dates and fees, full specifications.

base /pigu/v13 endpoints
post/pigu/v1/category3 credits

One category listing of a Pigu Group shop, by the category id a search row carries in `category_id` (or the id in a shop category URL's listing). Same row fields as `search`, plus the category title and the shop's own product count.

ParameterAllowed / rangeDescription
category_idrequired—Numeric category id, e.g. 85 = mobile phones on pigu.lt. Ids are per shop: take them from a search row of the same country.
country = ltoptionallt · lv · ee · fiWhich shop: lt = pigu.lt (Lithuania), lv = 220.lv (Latvia), ee = kaup24.ee (Estonia), fi = hobbyhall.fi (Finland). Prices are EUR in all four.
sort = best_sellingoptionalbest_selling · price_asc · price_desc · delivery · ratingbest_selling (the shop's default), price_asc, price_desc, delivery (fastest delivery first) or rating. Price sorts order by the lowest payable price.
page = 1optional1–500Result page, starting at 1 (59-60 rows per page, measured).
Try in playground →
post/pigu/v1/product2 credits

One product of a Pigu Group shop by its product id AND modification id (both are on every search/category row). Returns the main offer's price for everyone and member price, main seller with rating, every seller's offer with both prices, rating count and delivery date, the delivery options with date and fee, specification table, description, images.

ParameterAllowed / rangeDescription
product_idrequired—Product id exactly as a search row returns it (also the `id=` number of the product URL).
modification_idrequired—Modification id from the same search row. A modification that belongs to another product answers NOT_FOUND.
country = ltoptionallt · lv · ee · fiWhich shop: lt = pigu.lt (Lithuania), lv = 220.lv (Latvia), ee = kaup24.ee (Estonia), fi = hobbyhall.fi (Finland). Prices are EUR in all four.
Try in playground →
Built for volume
5M+ requests a day

Measured at 60 requests a second across the fleet, with no central bottleneck. Volume pricing is on request, and per-key limits are raised for high-volume accounts.

Missing a source?
We build it

Tell us a site we do not cover yet and it becomes an engine. A customer asked for bestprice.gr on a Sunday and it was in the catalog the next day.

Support
2 minute median reply

Median time from a question in the live chat to the first answer, measured across every answered conversation. Setup help included, no support tier to buy.

One key, one balance
Every API included

No per-site plans and no separate subscriptions. One key and one credit pool across the whole catalog, so adding a source costs nothing up front.

Planning something large? Tell us the volume and the sources and we will come back with what it costs and what we would have to build.