# Zap.co.il Store Profiles & Reviews Scraper (`amrameng/zap-stores-scraper`) Actor

Store profiles and store reviews from zap.co.il (Israel's largest price-comparison marketplace). One row per store: name, category, city, website, phone(s), address, email, owner, rating, and customer reviews. Target by store URL, site ID, or a store-category listing. Read-only.

- **URL**: https://apify.com/amrameng/zap-stores-scraper.md
- **Developed by:** [Amram Englander](https://apify.com/amrameng) (community)
- **Categories:** Automation, Lead generation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $10.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Zap.co.il Store Profiles & Reviews Scraper

**Zap.co.il Store Profiles & Reviews Scraper** extracts store profiles and customer reviews from [zap.co.il](https://www.zap.co.il/), Israel's largest price-comparison marketplace. Give it a store link, and get a clean record with the store's **name, category, city, website, phone, address, email, owner, rating, and all of its reviews**.

It's a simple tool for building merchant directories, generating leads, and monitoring store reputation. No coding required.

### Why use this scraper?

- 🏪 **Merchant directories & lead lists** — name, phone, email, website, and rating for any store (or the whole directory), ready for CRM or outreach.
- 📈 **Reputation monitoring** — track any seller's rating and incoming reviews over time, and catch problems early.
- 🥊 **Competitive analysis** — compare sellers by rating, review volume, and what customers actually say.
- ⚙️ **Automate it** — schedule runs and pull only new reviews to keep your data current.

### How to use it

1. Open the **Input** tab.
2. Paste one or more **store URLs** (or store IDs), or turn on **Scrape store directory** to crawl every store.
3. (Optional) Set a **proxy** — an Israeli proxy is recommended for the most reliable results.
4. Click **Start**. When it finishes, view or download the data as JSON, CSV, or Excel.

### Input

You only need one target. Example:

```json
{
    "storeUrls": ["https://www.zap.co.il/clientcard.aspx?siteid=3516"]
}
````

| Field                  | Description                                                                               |
| ---------------------- | ----------------------------------------------------------------------------------------- |
| `storeUrls`            | One or more store page links.                                                             |
| `siteIds`              | Store IDs, if you have them instead of full links.                                        |
| `scrapeStoreDirectory` | Crawl zap's full store directory (all stores), bounded by `maxStores`.                    |
| `maxStores`            | Limit how many stores to scrape when crawling the directory. `0` = no limit.              |
| `includeReviews`       | Scrape each store's reviews (default on). Turn off for a faster profile/contact-only run. |
| `maxReviews`           | Limit reviews per store (newest first). `0` = all.                                        |
| `reviewsSince`         | Only reviews on or after a date (`YYYY-MM-DD`) — great for scheduled runs.                |
| `proxyConfiguration`   | Proxy settings; an Israeli proxy is recommended.                                          |

### Output sample

One record per store, with all reviews nested:

```json
{
    "siteId": "3516",
    "name": "חי מחשבים",
    "enName": "18Comp",
    "category": "Computers & peripherals",
    "city": "Yokneam",
    "website": "18comp.co.il",
    "phone": "052-6869366",
    "extraPhone": null,
    "address": "HaAlonim 66, Yokneam",
    "email": "18haycomp@gmail.com",
    "owner": "חי מחשבים",
    "memberSince": 2011,
    "ratingYearly": null,
    "reviewCount": 137,
    "reviews": [
        {
            "reviewId": "1426071",
            "author": "קרין ויגאל",
            "date": "2024-10-18",
            "ratingStars": 5,
            "text": "Professional and courteous service. Fast phone response…",
            "productBought": "Laptop",
            "helpful": 0,
            "notHelpful": 0
        }
    ],
    "storeUrl": "https://www.zap.co.il/clientcard.aspx?siteid=3516",
    "scrapedAt": "2026-05-30T00:00:00.000Z"
}
```

You can download the dataset in JSON, CSV, Excel, or HTML, or pull it via the API.

#### Output fields

| Field                                                         | Description                                                            |
| ------------------------------------------------------------- | ---------------------------------------------------------------------- |
| `siteId`, `name`, `enName`                                    | Store ID and name (Hebrew / English)                                   |
| `category`, `city`                                            | What the store sells and where                                         |
| `website`, `phone`, `extraPhone`, `address`, `email`, `owner` | Contact details                                                        |
| `memberSince`                                                 | Year the store joined zap                                              |
| `ratingYearly`                                                | Store's recent rating (0–5; `null` if unrated)                         |
| `reviewCount`                                                 | Total number of reviews the store has                                  |
| `reviews[]`                                                   | Each review: author, date, rating, text, product bought, helpful votes |
| `storeUrl`, `scrapedAt`                                       | Store link and capture time                                            |

#### Output views

The **Output** tab gives you two ready-made tables of the same run:

- **Stores** — one row per store
- **Reviews** — one row per review (with the store name attached), great for analysis

### Want stores for a specific category? (e.g. only cellphone shops)

zap's store directory isn't filtered by category, so this scraper can't pull "only cellphone stores" on its own. The accurate way is to first find the **merchants that sell that category**, then profile them here:

1. Run the **[Zap.co.il Product Prices & Reviews Scraper](https://apify.com/amrameng/zap-products-scraper)** with your category (e.g. `e-cellphone`) and `parts: ["offers"]`. Each offer includes a `merchantId`.
2. Collect the unique `merchantId` values and paste them into this scraper's **`siteIds`**.

You then get full profiles + reviews for exactly the stores that sell in that category.

### How many stores can I scrape?

As many as you like. Each store profile comes from one page; reviews are collected page by page. Use `maxStores`, `maxReviews`, and `reviewsSince` to keep runs fast and predictable. `reviewCount` always reports the store's true total, even when you cap the reviews collected.

### Integrations

Connect the scraper to your stack with the Apify API, scheduling, webhooks, and integrations like Make, Zapier, Google Sheets, and Slack. Tip: the **[Zap.co.il Product Prices & Reviews Scraper](https://apify.com/amrameng/zap-products-scraper)** gives each offer a merchant ID you can feed straight into this scraper's `siteIds`.

### Is it legal?

The scraper collects only publicly available store information and never logs in or submits anything. Store names and reviews are in Hebrew. Because the output includes contact details, you are responsible for using the data lawfully — including anti-spam and privacy rules — and for complying with zap.co.il's Terms of Service.

### Feedback

Found an issue or want a new feature? Open an issue on the Actor's Issues tab.

# Actor input Schema

## `storeUrls` (type: `array`):

zap store links. Accepts store cards (https://www.zap.co.il/clientcard.aspx?siteid=3516) and store-category listings (https://www.zap.co.il/modelsstore.aspx?sog=g-stores). The site ID / sog is parsed from each URL.

## `siteIds` (type: `array`):

Raw zap store site IDs (the siteid= value), e.g. 3516. Convenient when chaining from another actor (the products scraper emits merchantId per offer).

## `scrapeStoreDirectory` (type: `boolean`):

Crawl zap's entire store directory (all stores), bounded by Max stores. Leave off to scrape only the stores you provide above. NOTE: the directory is not category-filtered — for stores in a specific category, see the README.

## `maxStores` (type: `integer`):

Safety cap on how many stores to scrape when using a category listing. Ignored when you pass explicit storeUrls / siteIds. Set 0 for no limit.

## `includeReviews` (type: `boolean`):

Scrape each store's customer reviews. Turn this OFF for a faster profile / contact-only run (name, phone, email, rating) — reviewCount is still reported.

## `maxReviews` (type: `integer`):

Cap how many reviews to collect per store (newest first). The store's reviewCount still reports the true total. Set 0 for all reviews.

## `reviewsSince` (type: `string`):

Only collect reviews written on or after this date. Reviews are newest-first, so this also stops paging early — ideal for scheduled, incremental runs. Leave blank for all dates.

## `proxyConfiguration` (type: `object`):

An Israeli residential proxy is recommended for the most reliable results. This is the default.

## Actor input object example

```json
{
  "storeUrls": [
    "https://www.zap.co.il/clientcard.aspx?siteid=3516"
  ],
  "scrapeStoreDirectory": false,
  "maxStores": 50,
  "includeReviews": true,
  "maxReviews": 0,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "IL"
  }
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "storeUrls": [
        "https://www.zap.co.il/clientcard.aspx?siteid=3516"
    ],
    "maxStores": 50,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "IL"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("amrameng/zap-stores-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "storeUrls": ["https://www.zap.co.il/clientcard.aspx?siteid=3516"],
    "maxStores": 50,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "IL",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("amrameng/zap-stores-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "storeUrls": [
    "https://www.zap.co.il/clientcard.aspx?siteid=3516"
  ],
  "maxStores": 50,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "IL"
  }
}' |
apify call amrameng/zap-stores-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=amrameng/zap-stores-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Zap.co.il Store Profiles & Reviews Scraper",
        "description": "Store profiles and store reviews from zap.co.il (Israel's largest price-comparison marketplace). One row per store: name, category, city, website, phone(s), address, email, owner, rating, and customer reviews. Target by store URL, site ID, or a store-category listing. Read-only.",
        "version": "0.1",
        "x-build-id": "DHsRel1oK4VC3XMB1"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/amrameng~zap-stores-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-amrameng-zap-stores-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/amrameng~zap-stores-scraper/runs": {
            "post": {
                "operationId": "runs-sync-amrameng-zap-stores-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/amrameng~zap-stores-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-amrameng-zap-stores-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "storeUrls": {
                        "title": "Store URLs",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "zap store links. Accepts store cards (https://www.zap.co.il/clientcard.aspx?siteid=3516) and store-category listings (https://www.zap.co.il/modelsstore.aspx?sog=g-stores). The site ID / sog is parsed from each URL.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "siteIds": {
                        "title": "Site IDs",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Raw zap store site IDs (the siteid= value), e.g. 3516. Convenient when chaining from another actor (the products scraper emits merchantId per offer).",
                        "items": {
                            "type": "string"
                        }
                    },
                    "scrapeStoreDirectory": {
                        "title": "Scrape the full store directory",
                        "type": "boolean",
                        "description": "Crawl zap's entire store directory (all stores), bounded by Max stores. Leave off to scrape only the stores you provide above. NOTE: the directory is not category-filtered — for stores in a specific category, see the README.",
                        "default": false
                    },
                    "maxStores": {
                        "title": "Max stores (category mode only)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Safety cap on how many stores to scrape when using a category listing. Ignored when you pass explicit storeUrls / siteIds. Set 0 for no limit.",
                        "default": 0
                    },
                    "includeReviews": {
                        "title": "Include reviews",
                        "type": "boolean",
                        "description": "Scrape each store's customer reviews. Turn this OFF for a faster profile / contact-only run (name, phone, email, rating) — reviewCount is still reported.",
                        "default": true
                    },
                    "maxReviews": {
                        "title": "Max reviews per store",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Cap how many reviews to collect per store (newest first). The store's reviewCount still reports the true total. Set 0 for all reviews.",
                        "default": 0
                    },
                    "reviewsSince": {
                        "title": "Reviews since (YYYY-MM-DD)",
                        "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
                        "type": "string",
                        "description": "Only collect reviews written on or after this date. Reviews are newest-first, so this also stops paging early — ideal for scheduled, incremental runs. Leave blank for all dates."
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "An Israeli residential proxy is recommended for the most reliable results. This is the default.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ],
                            "apifyProxyCountry": "IL"
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
