Discover/Onliner API
live

Onliner APIcatalog.onliner.by

Access Onliner.by product data via API: search products, get offers from multiple shops, price history, reviews, and category listings.

Endpoint health
verified 3d ago
get_product
get_product_reviews
search_products
search_autocomplete
get_product_offers
7/7 passing latest checkself-healing
Endpoints
7
Updated
26d ago

What is the Onliner API?

The Onliner.by Catalog API covers 7 endpoints for querying Belarus's largest product catalog, returning structured product data including prices, shop offers, user reviews, and historical price trends. The search_products endpoint accepts a keyword query and returns paginated results with per-product price ranges, review summaries, and full specifications. Use get_product_price_history to retrieve daily minimum prices across 2-month or 12-month windows.

Try it
Page number for pagination.
Search query string (e.g. 'iphone', 'samsung galaxy').
api.parse.bot/scraper/3ea1bc18-1b5b-49a5-b64f-6604a5b44569/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/3ea1bc18-1b5b-49a5-b64f-6604a5b44569/search_products?page=1&limit=10&query=iphone' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace catalog-onliner-by-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

from parse_apis.onliner_catalog_api import Onliner, Period

onliner = Onliner()

# Search for products
for product in onliner.products.search(query="samsung galaxy", limit=5):
    print(product.name, product.full_name, product.prices.price_min.amount)

# Get full details for a specific product
phone = onliner.product(key="iphone17256bk")
history = phone.price_history.get(period=Period.TWO_MONTHS)
print(history.prices.current.amount, history.prices.min.amount, history.chart_data.currency)

# Browse reviews
for review in phone.reviews.list(limit=3):
    print(review.summary, review.rating, review.author.name, review.created_at)

# List offers from shops
for offer in phone.offers.list(limit=5):
    print(offer.position_price.amount, offer.warranty, offer.shipping.term)

# Browse category
for item in onliner.products.by_category(category_key="mobile", limit=3):
    print(item.key, item.review_stats.count, item.review_stats.rating)
All endpoints · 7 totalmissing one? ·

Full-text search over the Onliner.by catalog. Returns paginated product listings sorted by relevance. Each product includes pricing range, review summary, and category info. Pagination via integer page counter; max 100 pages returned regardless of total matches.

Input
ParamTypeDescription
pageintegerPage number for pagination.
queryrequiredstringSearch query string (e.g. 'iphone', 'samsung galaxy').
Response
{
  "type": "object",
  "fields": {
    "page": "object with pagination info: limit, items, current, last",
    "total": "integer total number of matching products",
    "products": "array of product summary objects with id, key, name, full_name, prices, reviews, manufacturer"
  },
  "sample": {
    "data": {
      "page": {
        "last": 100,
        "items": 10,
        "limit": 10,
        "current": 1
      },
      "total": 16027,
      "products": [
        {
          "id": 4943088,
          "key": "iphone17256bk",
          "name": "iPhone 17 256GB",
          "prices": {
            "offers": {
              "count": 46
            },
            "price_max": {
              "amount": "3531.51",
              "currency": "BYN"
            },
            "price_min": {
              "amount": "2650.00",
              "currency": "BYN"
            }
          },
          "status": "active",
          "reviews": {
            "count": 31,
            "rating": 45
          },
          "full_name": "Apple iPhone 17 256GB",
          "description": "iOS, screen 6.3\"",
          "manufacturer": {
            "id": 225,
            "key": "apple",
            "name": "Apple"
          }
        }
      ]
    },
    "status": "success"
  }
}

About the Onliner API

Product Search and Lookup

The search_products endpoint accepts a query string (for example, 'iphone' or 'samsung galaxy') and an optional page integer for pagination. Each result in the products array includes a unique key field — used as the primary identifier across all other endpoints — along with name, full_name, prices (containing price_min and price_max), reviews (rating and count), and a description string. The page object in the response carries limit, items, current, and last for navigating large result sets. The search_autocomplete endpoint serves the same purpose for partial queries, returning a lighter product array suitable for suggestion UIs.

Product Details and Offers

get_product returns the full record for a single item identified by product_key, including a manufacturer object with name and legal info, a status string, and the prices and reviews summaries. To retrieve per-shop pricing, use get_product_offers: the response contains a shops map (keyed by shop_id) with each shop's title, logo, work hours, and physical addresses, alongside a positions.primary array that lists individual offers with price, warranty terms, delivery info, and stock status.

Reviews and Price History

get_product_reviews returns paginated user reviews for a product. Each review object includes rating, summary, text, pros, cons, author, and created_at. The page object follows the same pagination shape as search results. get_product_price_history accepts an optional period parameter — either '2m' or '12m' — and returns a chart_data object with a currency field and an items array of date/price pairs, plus a prices summary with current, min, and max values.

Category Browsing

get_category_products lists products within a named category using a category_key string such as 'mobile', 'notebook', or 'tv'. Results are sorted by popularity within the category and follow the same paginated product array structure as the search endpoint.

Reliability & maintenanceVerified

The Onliner API is a managed, monitored endpoint for catalog.onliner.by — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when catalog.onliner.by changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official catalog.onliner.by API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
3d ago
Latest check
7/7 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Track daily minimum prices for electronics using get_product_price_history chart_data items over a 12-month window
  • Build a price comparison tool by aggregating shop offers from get_product_offers positions.primary across multiple products
  • Populate a product search autocomplete widget using search_autocomplete for partial query strings
  • Scrape review sentiment by extracting pros, cons, and rating fields from get_product_reviews
  • Monitor stock status changes for specific products by polling get_product_offers positions stock_status field
  • Generate category-level product feeds using get_category_products with category keys like 'tv' or 'notebook'
  • Enrich product listings with manufacturer legal info and full specifications via get_product manufacturer and description fields
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Onliner.by have an official public developer API?+
Onliner.by does not publish an official public developer API for its product catalog. This Parse API provides structured access to catalog data including products, offers, reviews, and price history.
What does `get_product_offers` return beyond just a price?+
The endpoint returns a positions.primary array where each offer includes the shop's price, warranty terms, delivery details, and stock status. The shops map provides corresponding shop metadata: title, logo, physical addresses, work hours, and review data for each seller.
What time periods are supported for price history?+
The get_product_price_history endpoint accepts a period parameter with two accepted values: '2m' for a two-month window and '12m' for a twelve-month window. Each period returns daily price points as date/price pairs in the chart_data.items array, along with current, minimum, and maximum price summaries.
Does the API cover seller ratings or shop review counts?+
Shop-level data in get_product_offers includes a reviews field for each shop in the shops map, but detailed individual shop reviews or seller reputation breakdowns are not a dedicated endpoint. The API covers product-level reviews via get_product_reviews and shop summary data within offer results. You can fork this API on Parse and revise it to add a dedicated shop reviews endpoint.
Can I filter search results by price range, brand, or other attributes?+
The search_products endpoint accepts a query string and a page integer for pagination; there are no filter parameters for price range, brand, or category in the current specification. The API covers keyword search and category browsing via get_category_products. You can fork this API on Parse and revise it to add attribute-based filtering endpoints.
Page content last updated . Spec covers 7 endpoints from catalog.onliner.by.
Related APIs in EcommerceSee all →
ozon.kz API
Browse and search thousands of products on Ozon.kz, view detailed product information, reviews, and seller details across category listings. Get instant search suggestions and explore the complete category tree to discover items that match your needs.
ozon.ru API
Access data from ozon.ru.
wildberries.ru API
Search products on Wildberries and retrieve detailed information including specifications, reviews, and pricing to compare items and make informed purchasing decisions. Get autocomplete suggestions while browsing and access comprehensive product details all in one place.
online.metro-cc.ru API
Search and browse products from Russian METRO Cash & Carry online store with detailed attributes, pricing, and availability information. Explore product categories and look up specific items to compare features and find what you need.
megamarket.ru API
Search and browse products across MegaMarket.ru's catalog, view detailed product information with customer reviews, and explore catalog categories to discover items available on Sber's Russian marketplace. Get real-time search suggestions and product recommendations to help you find exactly what you're looking for.
skroutz.gr API
Search and compare products across Greek retailers with real-time pricing, store availability, and historical price trends from Skroutz.gr. Browse categories, view detailed product information, and read customer reviews to find the best deals on any item.
dns-shop.ru API
Search and browse products from DNS Shop, a major Russian electronics retailer. Retrieve product listings, detailed specifications, customer reviews, category hierarchies, and physical store locations including addresses, coordinates, phone numbers, and working hours. Note: product catalog endpoints may experience intermittent availability due to bot-protection measures.
verkkokauppa.com API
Search and browse products from Verkkokauppa.com to find items across categories, check real-time prices and availability, read customer reviews, and discover deals in outlet and clearance sections. Filter products by your preferences and get detailed product information including specifications and store stock levels.