Co APIyochananof.co.il ↗
Access Yochananof supermarket product catalog, prices, promotions, and categories via API. Search by Hebrew or English query, fetch SKU details, and more.
What is the Co API?
The Yochananof API provides 4 endpoints covering the full product catalog, category hierarchy, and live promotions from Yochananof, one of Israel's major supermarket chains. With search_products you can run Hebrew or English full-text queries and receive paginated results including price, stock status, image URL, and primary category. The get_product endpoint returns granular detail by SKU, including regular versus sale price, HTML description, and multi-level category breadcrumb.
curl -X GET 'https://api.parse.bot/scraper/e5975ca1-10df-4066-9a8c-94e84db46059/search_products?page=1&query=%D7%97%D7%9C%D7%91' \ -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 yochananof-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: yochananof SDK — bounded, re-runnable; every call capped."""
from parse_apis.yochananof_co_il_api import Yochananof, ProductNotFound
client = Yochananof()
# Search for milk products; limit= caps TOTAL items fetched.
for product in client.product_summaries.search(query="חלב", limit=3):
print(product.name, product.price, product.stock_status)
# Drill-down: take one search result and get full details.
item = client.product_summaries.search(query="חלב", limit=1).first()
if item:
try:
full = item.details()
print(full.name, full.price, full.description)
except ProductNotFound as e:
print(f"Product gone: {e.sku}")
# Browse categories
for cat in client.categories.list(limit=3):
print(cat.name, cat.id)
# Browse current promotions
for promo in client.promotions.list(limit=3):
print(promo.name, promo.original_price, promo.sale_price)
print("exercised: product_summaries.search / details / categories.list / promotions.list")
Full-text search across the Yochananof product catalog. Returns paginated results with product name, price, stock status, image, and primary category. Results are auto-iterated by the SDK.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination (1-based). |
| queryrequired | string | Search term in Hebrew or English to match against product names. |
{
"type": "object",
"fields": {
"page": "integer current page number",
"items": "array of product summaries with id, name, price, stock_status, image_url, category",
"total_count": "integer total matching products",
"total_pages": "integer total available pages"
},
"sample": {
"data": {
"page": 1,
"items": [
{
"id": "7290004131074",
"name": "חלב תנובה טרי 1 ל קרטון 3% מהדרין",
"price": 7.35,
"category": "מוצרי חלב וביצים",
"currency": "ILS",
"image_url": "https://api.yochananof.co.il/media/catalog/product/cache/7d40ab1d2c85da43a7701c1338d70a16/7/2/7290004131074_s1_1502-12-2026_14-47-08.jpg",
"stock_status": "IN_STOCK",
"regular_price": 7.35
}
],
"total_count": 704,
"total_pages": 36
},
"status": "success"
}
}About the Co API
Product Search and Detail
search_products accepts a query string in Hebrew or English and an optional page integer (1-based). Each result in the items array includes a product id, name, price in ILS, stock_status (IN_STOCK or OUT_OF_STOCK), image_url, and top-level category. The total_count and total_pages fields let you page through the full result set; the SDK handles auto-iteration.
get_product takes a sku parameter — the numeric barcode, such as 7290004131074, typically sourced from a search_products result — and returns comprehensive product data. Response fields include regular_price alongside the discounted price, an image_url, an HTML description, a stock_status flag, and a categories array of objects each carrying an id and name, representing up to the full category path.
Categories and Promotions
get_categories requires no parameters and returns the entire catalog taxonomy as a nested tree. Each node carries an id, name, parent_id, and a children array, with up to three levels of nesting. This is useful for building browse interfaces or mapping Yochananof's department structure.
get_promotions returns currently active promotional products, paginated via an optional page parameter. Each item in the items array includes pricing and discount information alongside standard product fields. The total_count field shows how many promotional products are live at query time.
The Co API is a managed, monitored endpoint for yochananof.co.il — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when yochananof.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 yochananof.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 price changes on specific SKUs by comparing
priceandregular_priceover time - Build a Hebrew-language grocery search interface using the
queryparameter onsearch_products - Monitor out-of-stock products by polling
stock_statusacross category searches - Aggregate current promotions via
get_promotionsto surface weekly deals in a price comparison app - Map the full Yochananof department hierarchy using
get_categoriesfor a structured browse experience - Sync Yochananof product names and barcodes into an internal PIM or inventory system using
get_product - Analyze discount depth by calculating the gap between
regular_priceandpriceacross promotional items
| 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.
Does Yochananof have an official public developer API?+
What does `get_product` return beyond what `search_products` provides?+
get_product adds regular_price (the pre-discount price), an HTML description string, and a full categories array showing the multi-level category path. search_products returns only a single top-level category string per item and does not include regular_price or a description.Does the API return nutritional information or ingredient lists for food products?+
Are product prices returned in a specific currency, and do they reflect branch-level pricing differences?+
price and regular_price fields. The API returns catalog-level pricing and does not currently differentiate prices by individual store branch or geographic location.Can I retrieve all products within a specific category using these endpoints?+
get_categories provides category id and name values for the full taxonomy, but there is no dedicated endpoint to list all products under a given category ID. You can use search_products with a category-relevant query term as a workaround, or fork this API on Parse and revise it to add a category-filtered product listing endpoint.