Discover/Onliner API
live

Onliner APIOnliner.by

Search the Onliner.by catalog, fetch product details, and retrieve live shop offers with prices in BYN via 3 structured API endpoints.

Endpoint health
verified 1h ago
search_products
get_product_offers
get_product
3/3 passing latest checkself-healing
Endpoints
3
Updated
2h ago

What is the Onliner API?

The Onliner.by API provides 3 endpoints to query the Onliner.by product catalog, one of Belarus's largest online shopping indexes. Use search_products to find products by keyword or price range, get_product to retrieve specs, ratings, discount data, and video links for a single item, and get_product_offers to pull every current shop offer—including price, delivery details, and shop ratings—for that product.

This call costs1 credit / call— charged only on success
Try it
1-based result page number.
Ordering of results. Omitted = site relevance order.
Free-text search phrase (product name, model, brand).
Upper bound on the product's minimum offer price, in BYN.
Lower bound on the product's minimum offer price, in BYN.
api.parse.bot/scraper/bb38720f-6b11-4166-ac3c-6744c20e15ea/<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/bb38720f-6b11-4166-ac3c-6744c20e15ea/search_products?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 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.

"""Walkthrough: Onliner.by catalog SDK — search, detail, and offers."""
from parse_apis.onliner_by_api import Onliner, ProductSort, InputNotFound

client = Onliner()

# Search for products sorted by price, capped at 5 results.
for item in client.product_summaries.search(query="iphone", sort=ProductSort.PRICE_ASC, limit=5):
    print(item.name, item.price_min.amount if item.price_min else "no price", item.offers_count)

# Drill into the first search hit's full detail via typed navigation.
summary = client.product_summaries.search(query="samsung galaxy", limit=1).first()
if summary is not None:
    product = summary.details()
    print(product.name, product.description)
    print("rating:", product.rating, "reviews:", product.reviews_count)
    if product.used_price_min:
        print("used from:", product.used_price_min.amount, product.used_price_min.currency)

    # List shop offers for that same product, capped at 3.
    for offer in client.offers.list(product_key=product.key, limit=3):
        print(offer.shop_name, offer.price.amount, offer.price.currency, offer.shipping_term)

# Point lookup by a known key, with error handling.
try:
    detail = client.products.get(key="iphone17256bk")
    print(detail.name, detail.manufacturer, detail.is_on_sale)
except InputNotFound:
    print("product not found")

print("exercised: product_summaries.search / details / offers.list / products.get")
All endpoints · 3 totalmissing one? ·

Full-text search over the whole Onliner catalog. Returns one page of product summaries (site page size is fixed at 10) with total match count and last page number; each product carries a key usable with get_product and get_product_offers. Prices are in BYN as reported by the site. Pages are 1-based; omitting page returns page 1, and a page past last_page returns an empty products list with the same total. Optional price_from/price_to bound the minimum offer price in BYN, and sort orders by price; when sort is omitted the site's relevance order is used. A query with no matches returns an empty products list and total 0.

Input
ParamTypeDescription
pageinteger1-based result page number.
sortstringOrdering of results. Omitted = site relevance order.
queryrequiredstringFree-text search phrase (product name, model, brand).
price_tointegerUpper bound on the product's minimum offer price, in BYN.
price_fromintegerLower bound on the product's minimum offer price, in BYN.
Response
{
  "type": "object",
  "fields": {
    "page": "current 1-based page number",
    "total": "total number of matching products across all pages",
    "products": "array of product summaries: id, key (use with get_product/get_product_offers), name, name_prefix, category_key, category_name, manufacturer, status, description, image, url, rating (0-50 scale), reviews_count, price_min/price_max ({amount, currency}, null when no offers), offers_count",
    "last_page": "number of the last page available",
    "page_size": "products per page (10)"
  },
  "sample": {
    "data": {
      "page": 1,
      "total": 16331,
      "products": [
        {
          "id": 4943088,
          "key": "iphone17256bk",
          "url": "https://catalog.onliner.by/mobile/apple/iphone17256bk",
          "name": "Apple iPhone 17 256GB (черный)",
          "image": "https://imgproxy.onliner.by/c6GWBOyu5LFyXK5cu7LEJ04bk7-7iWgsY3Stg3tIB6I/w:170/h:250/z:2/f:jpg/aHR0cHM6Ly9jb250/ZW50Lm9ubGluZXIu/YnkvY2F0YWxvZy9k/ZXZpY2UvMjAyNS9l/MDUxMWU5ZWFhOTgz/MmUyMTkwZjJmMzY0/MTc1MmUyZi5qcGc",
          "rating": 45,
          "status": "active",
          "price_max": {
            "amount": 3890.89,
            "currency": "BYN"
          },
          "price_min": {
            "amount": 2970,
            "currency": "BYN"
          },
          "description": "iOS, экран 6.3\" OLED (1206x2622) 120 Гц, Apple A19 (5 ядер GPU), ОЗУ 8 ГБ, память 256 ГБ, камера 48 Мп, аккумулятор 3692 мАч Li-ion, моноблок, влагозащита IP68",
          "name_prefix": "Телефон",
          "category_key": "mobile",
          "manufacturer": "Apple",
          "offers_count": 40,
          "category_name": "Мобильные телефоны",
          "reviews_count": 39
        }
      ],
      "last_page": 100,
      "page_size": 10
    },
    "status": "success"
  }
}

About the Onliner API

Searching the Catalog

The search_products endpoint accepts a free-text query and returns up to 10 product summaries per page. You can narrow results with price_from and price_to (both in BYN), choose a sort order, and paginate using the 1-based page parameter. Every response includes total match count and last_page so you can walk the full result set. Each product summary carries an id, a key (used to call the other two endpoints), name, name_prefix, category_key, category_name, and manufacturer (man).

Product Details

get_product takes a single product_key from the search results and returns an expanded record. Fields beyond the search summary include a url to the product page, a header image URL, a rating on a 0–50 scale, status, an array of videos, discount percentage, and editorial stickers. The endpoint completes in one round trip and covers the same key space as the search index.

Shop Offers and Pricing

get_product_offers returns every offer currently listed for a product—unpaginated—keyed by the same product_key. Each entry in the offers array includes offer_id, shop_id, shop_name, shop_url, shop_rating (0–5 scale), shop_reviews_count, shop_town, and a price object with amount and currency. The response also surfaces min_price (the lowest current offer or null) and offers_count as reported by the site. This makes it straightforward to build price-comparison views or track the cheapest seller for any given product.

Reliability & maintenanceVerified

The Onliner API is a managed, monitored endpoint for Onliner.by — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when 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 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
1h ago
Latest check
3/3 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
  • Compare current BYN prices across shops for a specific electronics model using get_product_offers
  • Monitor discount percentages on catalog items by polling get_product for the discount field
  • Build a product search widget filtered by price range using price_from and price_to in search_products
  • Rank shops by rating or review count using shop_rating and shop_reviews_count from get_product_offers
  • Aggregate category-level product counts by collecting category_key and category_name from search results
  • Track minimum offer price changes over time using the min_price field from get_product_offers
  • Identify products with editorial stickers or sale flags using the stickers and discount fields in get_product
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. 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 or shop offers. This API provides structured access to that data via three endpoints.
What does get_product_offers return, and does it include delivery or warranty details?+
get_product_offers returns all listed shop offers for a product, including price in BYN, shop name, shop URL, shop rating (0–5), review count, and town. Delivery and warranty fields are mentioned in the endpoint description as part of the offer context, though the structured response fields documented are price, shop metadata, offers_count, and min_price.
Is search_products pagination limited in any way?+
The page size is fixed at 10 results per page, matching the site's own page size. You can determine how many pages exist using the last_page field in the response and iterate using the page parameter. There is no way to request more than 10 results in a single call.
Does the API cover Onliner.by's real estate or auto classifieds sections?+
Not currently. The API covers the product catalog — search, product details, and shop offers. Onliner.by also operates real estate and auto classified sections, but those are not included. You can fork this API on Parse and revise it to add endpoints targeting those sections.
Does get_product return full specification sheets or structured technical attributes?+
The endpoint returns a specification bullet list alongside core fields like rating, discount, status, videos, and stickers. Deeply structured technical spec tables (e.g., parsed key-value attributes by spec category) are not broken out as individual response fields in the current schema. You can fork this API on Parse and revise it to extract and structure those specification attributes separately.
Page content last updated . Spec covers 3 endpoints from Onliner.by.
Related APIs in EcommerceSee all →
catalog.onliner.by API
Search and compare products from Onliner.by's catalog with access to real-time prices, detailed product information, customer reviews, and historical price trends. Browse categories, get autocomplete suggestions, and view all available offers for any product to make informed purchasing decisions.
ozon.ru API
Access data from ozon.ru.
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.
on.com API
Access data from on.com.
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.
spycart.me API
Access data from Spycart.me.
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.