Discover/eMAG API
live

eMAG APIemag.ro

Access eMAG.ro product listings, prices, reviews, and seller data via 5 structured endpoints. Search by keyword, browse categories, and retrieve full product details.

Endpoint health
verified 6d ago
get_product_reviews
search_products
get_category_products
get_product_details
get_seller_info
5/5 passing latest checkself-healing
Endpoints
5
Updated
21d ago

What is the eMAG API?

The eMAG.ro API provides structured access to Romania's largest online retailer across 5 endpoints, covering product search, category browsing, product details, customer reviews, and seller profiles. The search_products endpoint returns paginated results with pricing in RON, availability status, vendor name, and aggregate ratings — giving you machine-readable access to the catalog without manual browsing.

Try it
Page number (starts at 1)
Sort field
Max results per page
Search keyword
Sort direction
api.parse.bot/scraper/959f4c13-0fd1-441a-b210-6ca44ba4acd3/<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/959f4c13-0fd1-441a-b210-6ca44ba4acd3/search_products?page=1&sort=popularity_v_opt&limit=10&query=laptop&direction=asc' \
  -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 emag-ro-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.

"""
eMAG Romania Product API - Usage Example

Get your API key from: https://parse.bot/settings
"""
from parse_apis.emag_romania_product_api import Emag, Sort, Direction

emag = Emag()

# Search for products sorted by popularity
for product in emag.products.search(query="laptop", sort=Sort.POPULARITY, direction=Direction.DESC, limit=5):
    print(product.name, product.price, product.currency, product.reviews_count)

# Browse a category
tv_category = emag.category("televizoare")
for tv in tv_category.products(sort=Sort.PRICE, direction=Direction.ASC, limit=3):
    print(tv.name, tv.price, tv.vendor)

# Get product reviews via sub-resource navigation
macbook = emag.product("DGZPVY3BM")
for review in macbook.reviews.list(limit=5):
    print(review.title, review.rating, review.created)

# Retrieve seller information
seller = emag.sellers.get(seller_id="1", seller_sef_name="emag")
print(seller.name, seller.rating, seller.positive_share)
All endpoints · 5 totalmissing one? ·

Full-text search over eMAG product catalog. Returns paginated product listings with pricing, availability, vendor, and ratings. Supports sorting by popularity, review count, or price. Each item includes a PNK code usable with get_product_details and get_product_reviews.

Input
ParamTypeDescription
pageintegerPage number (starts at 1)
sortstringSort field
limitintegerMax results per page
queryrequiredstringSearch keyword
directionstringSort direction
Response
{
  "type": "object",
  "fields": {
    "page": "integer current page number",
    "items": "array of product objects with id, pnk, name, url, image, price, currency, availability, vendor, rating, reviews_count",
    "limit": "integer results per page",
    "total": "integer total number of matching products"
  },
  "sample": {
    "data": {
      "page": 1,
      "items": [
        {
          "id": 104244210,
          "pnk": "D9Z7643BM",
          "url": "https://www.emag.ro/laptop-gaming-asus-tuf-a16/pd/D9Z7643BM/",
          "name": "Laptop Gaming ASUS TUF A16",
          "image": "https://s13emagst.akamaized.net/products/104245/104244210/images/res_ba18149aeebe74af7b1b743b8769186b.png",
          "price": 4099.99,
          "rating": 5,
          "vendor": "eMAG",
          "currency": "RON",
          "availability": "În stoc",
          "reviews_count": 2
        }
      ],
      "limit": 60,
      "total": 13623
    },
    "status": "success"
  }
}

About the eMAG API

Product Search and Category Browsing

The search_products endpoint accepts a query string and returns an array of product objects, each containing id, pnk (part number key), name, url, image, price, currency, availability, vendor, rating, and reviews_count. Pagination is controlled via page and limit parameters. Results can be sorted by popularity_v_opt, review_count, or sale_price_int in either asc or desc direction. The get_category_products endpoint works identically but accepts a category_slug such as laptopuri, televizoare, or telefoane-mobile instead of a free-text query, and returns a total count of all products in that category.

Product Details and Reviews

get_product_details accepts either a full product URL (e.g., https://www.emag.ro/product-name/pd/ABC123/) or a bare pnk code and returns an expanded record with brand, sku, images (an array of URLs), rating, and the canonical url. The get_product_reviews endpoint accepts the same dual-format identifier and returns a reviews object containing a count, a rating_distribution, and an items array where each review includes id, title, content, rating, user, and created timestamp. Both endpoints support page and limit for pagination through large review sets.

Seller Information

The get_seller_info endpoint takes a numeric seller_id and a seller_sef_name slug (for example, 1 and emag for the first-party retailer) and returns the seller's name, company_name, rating score, positive_share percentage, and a url pointing to the seller's profile page on eMAG.ro. This makes it straightforward to cross-reference vendor identity against product listings returned by search or category endpoints.

Reliability & maintenanceVerified

The eMAG API is a managed, monitored endpoint for emag.ro — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when emag.ro 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 emag.ro 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
6d ago
Latest check
5/5 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 price changes on specific products over time using price and pnk from get_product_details.
  • Build a category-level price comparison tool using sale_price_int sorting in get_category_products.
  • Aggregate customer sentiment by pulling review rating and content fields via get_product_reviews.
  • Monitor product availability across the eMAG catalog using the availability field in search results.
  • Enrich seller vetting workflows with positive_share and company_name from get_seller_info.
  • Identify top-reviewed products in a category by sorting get_category_products by review_count descending.
  • Build a product feed for a Romanian price comparison site using search results with url, price, and image.
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 eMAG have an official public developer API?+
eMAG does offer a Marketplace API for registered sellers at https://marketplace.emag.ro/api, but it is restricted to vendors with an active seller account. It does not provide general public access to product search, category browsing, or consumer-facing review data.
What does `get_product_details` return beyond what appears in search results?+
get_product_details adds brand, sku, and a full images array (multiple image URLs) to the base fields you see in search or category listings. It accepts either a full product URL or a bare pnk code, so you can feed it identifiers from any of the listing endpoints without reformatting.
Does the API return product specifications or technical attributes?+
Not currently. The API covers pricing, availability, brand, SKU, images, and aggregate ratings at the product level. Structured specification tables (e.g., screen resolution, processor model) are not exposed in the current response shape. You can fork this API on Parse and revise it to add a specifications endpoint.
Does the API cover eMAG's other country storefronts (Bulgaria, Hungary)?+
The current endpoints target eMAG.ro (Romania) only. Prices are returned in RON and category slugs map to the Romanian storefront. You can fork this API on Parse and revise it to point at the Bulgarian or Hungarian eMAG domains.
How does pagination work across the listing endpoints?+
Both search_products and get_category_products return a total count alongside the current page and limit values. Divide total by limit to calculate how many pages exist, then increment page to walk through them. The default page is 1; if limit is not specified, eMAG's default page size is applied.
Page content last updated . Spec covers 5 endpoints from emag.ro.
Related APIs in EcommerceSee all →
flanco.ro API
Access product listings, pricing, availability, promotions, customer reviews, and store information from Flanco.ro, Romania's leading electronics retailer. Search by keyword or browse the full category hierarchy to retrieve structured product data.
cel.ro API
cel.ro API
kabum.com.br API
Search and browse KaBuM!'s vast electronics catalog, get detailed product specifications and customer reviews, and explore categories and departments. Find exactly what you need with search suggestions and deep product information from Brazil's top electronics retailer.
euronics.it API
Browse and search the complete Euronics Italy product catalog with real-time pricing information across all categories. Find exactly what you're looking for with powerful keyword search or explore products by category with full pagination support.
x-kom.pl API
Access product data from x-kom.pl, a major Polish electronics retailer. Search products by keyword or category, retrieve detailed product pages, customer reviews, Q&A, promotions, flash deals, and physical store locations.
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.
ozon.ru API
Access data from ozon.ru.
mercadolibre.com API
Search and retrieve product listings, details, customer reviews, categories, and current deals from MercadoLibre across multiple countries to find the best products and prices. Get comprehensive product information including specifications and user feedback to make informed purchasing decisions.