Every Israeli price,
one pip install away
israeli-prices is a Python client for Israel's
price-transparency data — prices, promotions and stores of
31 retail chains, parsed into typed objects.
$ pip install israeli-prices
import israeli_prices as ilp # every chain covered by the law ilp.list_chains() # full store list of a chain stores = ilp.get_stores("shufersal") # 417 branches # latest price snapshot for one store prices = ilp.get_prices("super-pharm", store_id="142") # PriceItem(item_code='7290006651204', # name='U LACTIN HAND CREAM 100ML', # price=Decimal('35.90'), ...) # promotions, same call shape promos = ilp.get_promos("super-pharm", store_id="142")
chains of the government roster live — re-verified every night
portal families — shared logins, JSON APIs, signed URLs — behind one API
datasets — prices, promotions and stores, every file type the law mandates
What you get
Exhaustive, standardized, ready to work with.
Every chain, every file
The full government roster — supermarkets, pharmacies, convenience, online-only — and all five file types the law mandates, from daily full snapshots to hourly incremental updates.
ilp.list_chains() # 32 chains registered, 31 live ilp.list_files("rami-levy", file_type=ilp.FileType.PROMO_FULL) # every promotion file currently # published on the portal
Five portal engines, one schema
Logins, signed URLs, session expiry, encodings from UTF-16
to ZIP-archives-named-.gz — every portal quirk handled, every
XML dialect normalized into the same typed objects. Prices as
Decimal, Hebrew preserved, promotions with their full
group structure.
# same call, any chain ilp.get_promos("good-pharm", store_id="048") ilp.get_promos("rami-levy", store_id="001") # -> PromoFile # Promotion(promotion_id='26285', # discounted_price=Decimal('69.9'), # items=[...])
From pip to DataFrame in a minute
Typed objects out of the box, optional pandas export for analysis — and the whole library is re-verified against the live portals every night, so you know it works before your pipeline does.
prices = ilp.get_prices("shufersal", store_id="001") df = prices.to_df() len(df) # 6558 prices, one call # nightly health report: 31/32 chains ok
Every chain the law covers
One adapter per portal family — 31 of 32 chains live.
| Chain | Portal | Status | Stores |
|---|---|---|---|
| Shufersal (incl. Be Pharm) | Self-hosted | live | 417 |
| Super-Pharm | Self-hosted | live | 306 |
| Wolt Market | Self-hosted | live | 34 |
| Carrefour | Self-hosted | live | 147 |
| Hatzi Hinam | Self-hosted | live | 13 |
| Rami Levy | Cerberus | live | 99 |
| Tiv Taam | Cerberus | live | 54 |
| Yochananof | Cerberus | live | 51 |
| Osher Ad | Cerberus | live | 24 |
| Dor Alon | Cerberus | live | 156 |
| Keshet Teamim | Cerberus | live | 27 |
| Super Cofix | Cerberus | live | 34 |
| Politzer | Cerberus | live | 8 |
| Stop Market | Cerberus | live | 11 |
| Fresh Market | Cerberus | live | 47 |
| Salach Dabach | Cerberus | live | 10 |
| Super Yuda | Cerberus | live | 26 |
| Yellow | Cerberus | live | 242 |
| Good Pharm | Bina | live | 82 |
| Super Bareket | Bina | live | 14 |
| King Store | Bina | live | 29 |
| Maayan 2000 | Bina | live | 38 |
| Meshnat Yosef | Bina | live | 4 |
| Shefa Birkat Hashem | Bina | live | 22 |
| Shuk Hayir | Bina | live | 26 |
| Super Sapir | Bina | live | 68 |
| Zol VeBegadol | Bina | live | 35 |
| City Market | Bina | live | 28 |
| Victory | Laib catalog | live | 70 |
| Mahsanei HaShuk | Laib catalog | live | 71 |
| Het Cohen | Laib catalog | live | 5 |
| Nativ HaHesed | One-off | down | — |
Be Pharm publishes inside the Shufersal feed. Nativ HaHesed's portal has answered HTTP 500 since July 2026 — it is registered and will be enabled the day it comes back. Full details, per-chain quirks and geo-restrictions in the chain matrix. Branch counts as published in each chain's latest Stores file (August 25, 2026).
Questions, answered straight
What is Israel's price-transparency law?
Since 2015, Israeli law requires large retailers — supermarkets, and since 2017 large drugstore chains — to publish machine-readable files of their full prices, promotions and store lists: daily snapshots before store opening, and incremental updates within an hour of any register change. The files are public, free, and no registration is required.
What exactly does the library do?
It fetches those files from each chain's portal — handling five different
portal engines, logins, signed URLs, session expiry, encodings from UTF-16 to
ZIP-archives-named-.gz — and parses every XML dialect into one set of typed
Python objects. Prices as Decimal, Hebrew preserved,
promotions with their full group structure.
It does nothing else: no scraping of retail websites, only the official transparency files.
Why is it free?
The data is public by law, and fetching it cleanly is plumbing — plumbing should be open. Publishing our client also keeps us honest: you can read exactly how every file is fetched and parsed, and verify it against the portals yourself. MIT licensed, commercial use included, no strings.
What does RxRadar sell, then?
Use israeli-prices to fetch the raw government
files yourself. Use RxRadar when you need the finished index:
cleaned, matched across chains, historized — and enriched with what the files
don't contain: product descriptions and images, category rankings, share of
shelf, banners, ratings. Dashboards and an API, updated run after run.
israeli-prices is forever free and open source
MIT licensed, built in the open, verified against the portals every night.
View on GitHub