Pricing
from $45.00 / 1,000 result scrapeds
Universal price scraper
Universal competitor-price scraper. Extracts prices with currency from any product page - auto-detects argep.hu and arukereso.hu offer lists. Highly customizable
Pricing
from $45.00 / 1,000 result scrapeds
Rating
0.0
(0)
Developer
Actor stats
0
Bookmarked
4
Total users
0
Monthly active users
2 months ago
Last modified
Categories
Share
π Universal Product Price Scraper
One actor. Any shop. Real prices, real currencies.
Drop in a product URL β from a comparison site like ΓrGΓ©p, from a generic Shopify store, or from that weirdly-built niche shop nobody's ever scraped before β and get back the price and currency. No per-site integration work. No maintenance of a hundred CSS selectors.
Why this actor?
β‘οΈ Two-pass fetching cuts your bill
We try every unknown shop without a proxy first. Most sites just serve HTML β no bot wall, no retry needed. Only the stubborn pages escalate to residential-proxy mode. You pay the same flat rate either way, but the actor uses proxy bandwidth only when it has to.
π Works on sites we've never seen
A 5-tier extraction cascade handles the long tail:
- JSON-LD structured data (
Product/Offer/AggregateOffer) β the gold standard, used by most modern e-commerce platforms - OpenGraph / product meta tags (
og:price:amount,product:price:amount,twitter:data1) - Schema.org microdata (
[itemprop="price"],[itemprop="priceCurrency"]) - CSS heuristics β common price classes (
.price,.product-price,.sale-price,[data-price], β¦) or your own selector if you pass one - Regex scan of visible text β as a last resort, picks the most-repeated amount+currency pair on the page
Higher tiers are used first. If JSON-LD is there, we don't guess from CSS.
π± Currency detected automatically
Returns ISO 4217 codes β HUF, EUR, USD, GBP, PLN, CZK, RON, SEK, DKK, NOK, CHF, JPY, BGN, HRK, UAH, RUB, TRY, INR, and more β parsed from structured data, meta tags, or inline symbols (β¬, $, Β£, Β₯, Ft, zΕ, KΔ, Π»Π², β΄, β½, βΊ, βΉ).
π’ Locale-aware number parsing
No more hand-written regex per country:
| Input | Parsed |
|---|---|
12 990 Ft | 12990 HUF |
12.990,50 β¬ | 12990.50 EUR |
12,990.50 USD | 12990.50 USD |
$1,299 | 1299 USD |
52900.00 | 52900 + currency inferred from page |
π₯· Camoufox stealth
The actor ships with Camoufox β a hardened Firefox that defeats the bot walls on argep.hu, arukereso.hu, and most major anti-scraping setups. Combined with Apify's residential proxy pool, it gets through where generic headless browsers get blocked.
π Fast by default
Images, videos, and fonts are aborted before they load on every page β we only care about the price markup, not the hero banner. Typical pages finish in 3β8 seconds.
πΆ Competition-site support out of the box
Ready-made extractors for the two largest Hungarian price-comparison sites:
argep.huβ extracts the full seller list from.offerListHoverContainerblocks with prices + shippingarukereso.huβ extracts all offers from.optofferblocks via Schema.org microdata
One run can mix comparison-site URLs and any-site URLs freely.
Input
{"startUrls":[{"url":"https://www.argep.hu/product/example-p12345/"},{"url":"https://www.arukereso.hu/..."},{"url":"https://shop.example.com/p/widget-42"},{"url":"https://stubborn-site.example/product/xyz","userData":{"cssSelector":".product__price--sale"}}],"maxRequestsPerCrawl":100,"excludeShops":["myshop.hu"],"proxyConfiguration":{"useApifyProxy":true,"apifyProxyGroups":["RESIDENTIAL"]}}
| Field | Description |
|---|---|
startUrls[].url | Any product URL. The actor auto-detects the host and picks the right strategy. |
startUrls[].userData.cssSelector | (optional) Pin a specific CSS selector for the price element when defaults aren't enough. Applied at step 4 of the cascade. |
maxRequestsPerCrawl | Safety cap on pages per run. Default: 100. |
excludeShops | Hide your own shop (or any shop) from the returned offer list. |
proxyConfiguration | Residential proxy is strongly recommended for pass 2 and for comparison sites. |
Output
Successful comparison-site scrape (all sellers):
{"url":"https://www.argep.hu/product/example-p12345/","source":"argep","offers":[{"seller":"ShopA","price":184900,"currency":"HUF"},{"seller":"ShopB","price":189000,"currency":"HUF","shipping":1990,"shippingCurrency":"HUF"}],"fetchedAt":"2026-04-17T12:00:00.000Z"}
Successful universal scrape (single offer, seller = hostname):
{"url":"https://shop.example.com/p/widget-42","source":"universal","offers":[{"seller":"shop.example.com","price":49.99,"currency":"EUR"}],"fetchedAt":"2026-04-17T12:00:00.000Z"}
No price found:
{"url":"...","source":"universal","offers":[],"error":"No offers found","fetchedAt":"2026-04-17T12:00:00.000Z"}
| Field | Description |
|---|---|
source | 'argep', 'arukereso', or 'universal' β which strategy handled the URL. |
offers | Up to 20 offers, sorted by price ascending, deduplicated by (seller, price). |
offers[].price | Number. Decimals preserved (49.99 EUR); integer for whole-unit currencies (12990 HUF). |
offers[].currency | ISO 4217 code, or null if it couldn't be detected. |
offers[].shipping | 0 for free shipping; number otherwise. |
fetchedAt | ISO-8601 timestamp. |
Pricing
$0.015 per successfully scraped page β pay-per-event.
You're charged only when the actor actually extracts at least one price from a URL. Failed scrapes, blocked pages, and empty results are free.
Real use cases
- Competitive price monitoring β track what every competitor charges across comparison sites and their own stores in one run
- Price-drop alerts β schedule daily/hourly runs, diff against the previous dataset, alert on change
- Marketplace research β feed hundreds of URLs from mixed sources into one job
- Product catalog hydration β enrich your own SKU database with live market prices and currencies
- MAP (Minimum Advertised Price) enforcement β catch resellers listing below your floor
FAQ
Can I use it on sites outside Hungary? Yes β the universal extractor is language- and currency-agnostic. We've tested against EUR, USD, GBP, PLN, CZK, and more.
What happens on JavaScript-rendered SPAs? The actor is a full browser (Camoufox), so JS executes before extraction. If the price is rendered client-side, we'll still see it.
What if the default CSS heuristics pick the wrong price (e.g., crossed-out old price)?
Pass userData.cssSelector on that URL. The override is used at step 4 in place of the generic class list, so you pin the exact element you want.
What data does it return for universal URLs that I can't get elsewhere? Price, currency, and the seller hostname. Comparison-site scrapes return full seller lists β that's where the multi-offer shape shines.
How does the two-pass strategy save me money? Pass 1 runs without a proxy. For easy pages, that's all it takes β no residential-proxy bandwidth, no retries, same billing rate. Proxy-gated sites still work, they just take the scenic route.
Can I throttle or limit the run?
Set maxRequestsPerCrawl to cap the number of pages. Apify's per-actor spending limits also apply automatically.
Is it legal / ethical to scrape these sites? That's on you, the person running the actor. This tool gives you the technical capability to fetch publicly visible prices β it doesn't grant you permission to do so. You are solely responsible for:
- Complying with each target site's Terms of Service and
robots.txt - Respecting rate limits and not overloading any server
- Complying with GDPR, CCPA, local data-protection law, and applicable competition law in your jurisdiction
- Making sure you have a lawful basis to collect, store, and use the data you fetch
- Honoring any cease-and-desist or opt-out request you receive from a target site
The author(s) and Apify provide this actor as-is, with no warranty, and accept no liability for how it's used, what it's pointed at, or any consequences downstream. If you're unsure whether a specific use case is permissible, consult a lawyer before running it at scale.
Let's go
Run this actor on Apify with a sample URL and see what comes back. Feedback, feature requests, and weird edge-case URLs all welcome.
