Co APIshufersal.co.il ↗
Access Shufersal's full product catalog, daily prices, and promotions via Israel's Price Transparency portal. 4 endpoints covering stores, files, and parsed XML data.
What is the Co API?
The Shufersal API provides 4 endpoints for querying Israel's largest supermarket chain through the official Price Transparency portal. Use get_products_from_file to extract structured product records — including item code, manufacturer, unit price, and update date — or promotion records with discount rates and validity windows. Pair it with get_stores and get_files to target any branch and data category.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/ea6aff34-2ed4-4c62-b459-5d31c33534bf/get_stores' \ -H 'X-API-Key: $PARSE_API_KEY'
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 shufersal-co-il-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: Shufersal Transparency API — browse stores, categories, fetch price files, parse products."""
from parse_apis.shufersal_transparency_api import Shufersal, FileCategory, NotFoundError
client = Shufersal()
# List all store locations (stable list, safe to cache)
for store in client.stores.list(limit=5):
print(store.id, store.name)
# List available data categories
for category in client.categories.list(limit=5):
print(category.id, category.name)
# Get full-price files for the online store using the FileCategory enum
for file in client.files.list(store_id="413", category_id=FileCategory.PRICES_FULL, limit=3):
print(file.file_name, file.update_time, file.size)
# Parse the first price file to extract product data
file = client.files.list(category_id=FileCategory.PRICES_FULL, limit=1).first()
if file:
try:
product_file = client.productfiles.parse(file_url=file.download_url)
except NotFoundError as exc:
print(f"File no longer available: {exc}")
else:
print(product_file.type, product_file.total_in_file)
for item in product_file.items[:5]:
print(item.item_code, item.name, item.price)
print("exercised: stores.list / categories.list / files.list / productfiles.parse")
Retrieve all Shufersal store locations and their internal IDs from the Israeli Price Transparency portal. Each store has a numeric ID used to scope file queries via get_files. The list is stable day-to-day; caching is safe.
No input parameters required.
{
"type": "object",
"fields": {
"stores": "array of store objects each containing id and name"
},
"sample": {
"data": {
"stores": [
{
"id": "1",
"name": "1 - שלי ת\"א- בן יהודה"
},
{
"id": "413",
"name": "413 - שופרסל ONLINE"
}
]
},
"status": "success"
}
}About the Co API
What the API Covers
The API exposes Shufersal's participation in Israel's mandatory grocery price transparency system. Four endpoints let you enumerate stores, browse data categories, list available GZ files by store and category, and parse those files into structured product or promotion records. Coverage spans every Shufersal branch that publishes data to the portal, including Shufersal Online (store ID 413) and physical locations like שלי ת"א- בן יהודה (store ID 1).
Endpoints and Key Fields
get_stores returns an array of store objects with id and name — these IDs feed directly into get_files. get_categories lists the five transparency data types: Prices (incremental), PricesFull, Promos (incremental), PromosFull, and Stores. get_files accepts a store_id and category_id and returns file metadata including download_url, update_time, size, file_type, category, branch, file_name, and index. The download_url from that response is the required input for get_products_from_file.
Parsing Products and Promotions
get_products_from_file accepts a file_url, an optional limit integer, and an optional query string for case-insensitive filtering by product name or item code. For price files it returns an items array with fields like item_code, name, manufacturer, unit_qty, unit_measure, price, and update_date. For promotion files it returns a promotions array with promotion_id, description, start_date, end_date, discount_rate, and min_qty. The total_in_file field tells you how many records exist in the source file regardless of the limit applied.
Data Freshness and File Types
Incremental files (Prices, Promos) contain only changes since the last full snapshot; full files (PricesFull, PromosFull) contain the complete catalog for that branch. File update_time in the get_files response lets you identify the most recent snapshot before downloading. Shufersal typically publishes updated files daily.
The Co API is a managed, monitored endpoint for shufersal.co.il — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when shufersal.co.il 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 shufersal.co.il 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.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Track daily price changes for specific products across multiple Shufersal branches using item_code comparisons.
- Build a promotion calendar by parsing PromosFull files for start_date, end_date, and discount_rate fields.
- Compare shelf prices between Shufersal Online and physical stores for the same item_code.
- Monitor manufacturer-level pricing by filtering get_products_from_file results on the manufacturer field.
- Alert users to active promotions matching a product name query before they shop.
- Aggregate unit_measure and unit_qty data to calculate normalized per-unit prices across product categories.
- Maintain a local product database by scheduling PricesFull file fetches and ingesting total_in_file counts.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 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.