altex-price-scraper avatar

altex-price-scraper

Pricing

from $4.00 / 1,000 results

Go to Apify Store
altex-price-scraper

altex-price-scraper

This Actor extracts live product data from [altex.ro](https://altex.ro), one Romania's largest electronics retailer — pricing, discounts, 30-day lowest price, stock status, ratings, specs, and images — and returns it as clean, structured JSON (or CSV / Excel / XML).

Pricing

from $4.00 / 1,000 results

Rating

0.0

(0)

Developer

Banea Teodor

Banea Teodor

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

Altex.ro Price & Stock Scraper

What does this Actor do?

This Actor extracts live product data from altex.ro, Romania's largest electronics retailer — pricing, discounts, 30-day lowest price, stock status, ratings, specs, and images — and returns it as clean, structured JSON (or CSV / Excel / XML).

It talks directly to Altex's public JSON API — no browser, no proxy required, no anti-bot fragility. That makes it fast, cheap, and reliable.

No coding required. Paste a list of product URLs, or point it at a category or search page, and click Start.


What can I use it for?

  • Price monitoring — track competitor prices, catch promo windows, feed price-comparison sites.
  • EU price compliance — every item includes the 30-day lowest price (Omnibus Directive).
  • BI dashboards — join Altex pricing with your Looker / Power BI / Tableau reports.
  • Brand intelligence — monitor how your SKUs are priced and stocked across the Romanian market.
  • AI agents & MCP tools — a stable, typed JSON schema means LLM-driven "deal finder" and "price check" agents just work.

Two scraping modes

🎯 Product URLs mode — full detail

Paste specific altex.ro product URLs. Each returns the full record: current/original/30-day-low price, complete spec sheet, gallery, breadcrumbs, brand, EAN, stock.

Example input:

https://altex.ro/laptop-asus-vivobook-15-r1504va-bq552-intel-core-7-150u-pana-la-5-4ghz-15-6-full-hd-16gb-ssd-1tb-intel-graphics-free-dos-cool-silver/cpd/R1504VABQ552/

Product URLs change as Altex rotates its catalog — if an example 404s, grab a fresh URL from the site. Category/search URLs are the stable choice for ongoing monitoring.

🗂 Category / search mode — discovery

Paste one or more category URLs (/cpl/) or search URLs (/cauta/?q=…). The Actor walks each listing (48 products/page), paginates up to Maximum listing pages per URL, and returns each product's identity — url, productId, title, brand, image — up to Maximum total products.

Example input:

https://altex.ro/laptopuri/cpl/
https://altex.ro/cauta/?q=rtx+4070

Use this mode to discover which products exist (and collect their URLs). It does not include the full spec sheet or gallery, and prices/stock are only reliable in Product URLs mode.

  1. Run Category / search mode to discover products and collect their url values.
  2. Feed those URLs into Product URLs mode to get accurate prices, stock, 30-day-low, specs, and gallery straight from the product-detail endpoint.

This two-step flow keeps discovery cheap and fast, and guarantees complete pricing data for exactly the products you care about.


How much will a run cost?

This Actor is Pay-per-result at $0.004 per product.

ScenarioProductsCost
Quick test with 20 products20$0.08
Daily price check of 500 SKUs500$2.00
Weekly category sweep (5 pages × 48 items)240$0.96
Full catalog refresh (5 000 products)5 000$20.00

Start cheap: first-run prefills are set to 20 products and 2 listing pages so you can validate the setup for under $0.10 before scaling up.


Input

FieldRequiredDefaultDescription
modeproductUrlsproductUrls or categoryOrSearch
productUrls✅ in productUrls modealtex.ro product URLs (must contain /cpd/{id}/)
categoryOrSearchUrls✅ in categoryOrSearch mode/cpl/ category or /cauta/?q=… search URLs
maxPagesPerList5Pagination cap per listing URL (48 products/page)
maxItemsTotal100Hard cap across all URLs (0 = safety-capped at 10 000)
maxConcurrency5Parallel API requests (1–50)
maxRequestsPerMinute120Request-rate throttle

Proxy is built in. Altex blocks datacenter and non-Romanian IPs, so every run is routed through Apify residential proxies in Romania automatically. There is nothing to configure — and it does add residential-proxy usage to your Apify bill on top of the per-result price.


Output

One item per product. Three nested objects (price, availability, rating) auto-flatten in the CSV/Excel Overview view.

{
"source": "altex",
"url": "https://altex.ro/laptop-asus-vivobook-15-r1504va-bq552-.../cpd/R1504VABQ552/",
"productId": "R1504VABQ552",
"title": "Laptop ASUS VivoBook 15 R1504VA-BQ552, Intel Core 7-150U, 16GB, SSD 1TB, Free DOS",
"brand": "ASUS",
"categoryBreadcrumbs": ["Laptop, Desktop, IT, Birotica", "Laptopuri", "Home and Office"],
"ean": "4711636379533",
"price": {
"currency": "RON",
"current": 2599.9,
"original": 2849.9,
"lowest": 2549.9,
"discountPercent": 8.8,
"isOnPromo": true
},
"availability": { "status": "IN_STOCK", "rawText": "in stoc" },
"rating": { "average": null, "count": 0 },
"images": ["https://lcdn.altex.ro/media/catalog/product/v/i/vivobook_15_..._ab9ab842.jpg"],
"specs": { "Capacitate RAM": "16 GB", "Tip procesor": "Intel Core 7", "Rezolutie": "1920 x 1080" },
"detailLevel": "full",
"extractedAt": "2026-06-13T14:30:00.000Z"
}

Field guarantees

  • productId is the Altex SKU — stable across runs, perfect for diffing and deduplication.
  • price.current, price.original, price.lowest are all number | null in RON (never formatted strings). lowest is the EU 30-day lowest price when Altex advertises it.
  • availability.status is always "IN_STOCK", "OUT_OF_STOCK", or "UNKNOWN".
  • detailLevel is "full" (Product URLs mode — includes specs, gallery, breadcrumbs) or "listing" (category/search mode).
  • Fields that aren't available for an item are omitted, not left empty. In particular, listing-mode items have no categoryBreadcrumbs or specs keys (those come only from Product URLs mode). price, availability, productId, url, and extractedAt are always present.

Errors dataset

Requests that fail permanently are pushed to a separate errors dataset (open it from the Storage tab) with { url, label, reason, timestamp }.


Tips & tricks

  • Proxy is automatic. Runs go through Apify residential proxies in Romania (Altex blocks datacenter/non-RO IPs). You don't configure anything; just budget for residential-proxy usage.
  • Use Product URLs mode for monitoring a curated SKU list on a schedule; category/search mode is for discovery.
  • Catch promo windows: schedule every few hours and filter price.isOnPromo === true (or compare price.current to price.lowest) downstream.
  • Raise maxConcurrency — the API is light, so 5–20 is comfortable.

Integrations

  • Google Sheets / Excel — export the Overview view from the Storage tab.
  • Zapier / Make / n8n — poll the dataset via the Apify REST API.
  • MCP / LLM agents — the schema is designed for get_product(url) style tools; price and availability nest cleanly into typed function outputs.

Limitations & honest caveats

  • Listing mode is listing-depth. Category/search items don't include the full spec sheet or gallery — fetch those SKUs in Product URLs mode if you need them.
  • Specs are as-is. specs keys are whatever Altex labels them; they're not normalized across categories.
  • Not the marketplace seller API. If you're a seller wanting your own stock data, use marketplace.altex.ro directly.

Built with Apify SDK v3 + Crawlee (HttpCrawler) — API-first, no browser.