How-to
How to run Greece Business Directory Leads Scraper (Phone & Address)
Step-by-step: the exact input, what each field does, and the rows that come back from 11888.gr.
You want a list of Greek businesses in one trade and one area, with phone numbers: every pastry shop in Thessaloniki, every printer in Attica. 11888.gr, the directory run by OTE, Greece’s incumbent telecom, has them, 513,751 businesses in 1,031 categories in our copy of 2026-10-26. It shows 40 listings per page, though, so pastry shops alone (3,426 listings stated on 2026-10-25) are 86 pages, and each listing’s address is one line of Greek text that has to be split before you can filter it by town. This actor returns the rows, address already split, from one run.
What you’ll need
Nothing but an Apify account. You don’t need an API key or a proxy. We keep a stored copy of the 11888.gr category pages, refreshed when it is over a month old and the actor is in use, and your run filters that copy, so it never waits on 11888.gr. You pay $0.004 per listing returned, plus Apify’s own platform usage.
Step 1 — Open the actor
Open Greece Business Directory Leads Scraper (Phone & Address) on the Apify Store and press Try for free. The actor’s own page on this site lists its live health and pricing.
Step 2 — Fill in the input
| Field | Type | Required | What it does |
|---|---|---|---|
mode | string | no | auto = export when no query is given, otherwise lookup. (default auto) |
query | string | no | A business name (or listing number) to look up live. Kept alongside ‘queries’ for saved tasks. |
queries | array | no | A business name (or listing number) to look up live. Several values in one run; combined with ‘query’. (default []) |
prefecture | string | no | Only listings in this prefecture. Kept alongside ‘prefectures’ for saved tasks. |
prefectures | array | no | Only listings in this prefecture. Several values in one run; combined with ‘prefecture’. (default []) |
municipality | string | no | Only listings in this municipality. Kept alongside ‘municipalities’ for saved tasks. |
municipalities | array | no | Only listings in this municipality. Several values in one run; combined with ‘municipality’. (default []) |
categories | array | no | Only these categories, in the source’s own names. Available: adamantofora-ergaleia, aerodromia-aeroporikes-yphresies, aeroporika-eidi, aeroporikes-etairies, afises-kartes,… (default []) |
maxResults | integer | no | Per query in lookup mode; per run in export mode. (default 500) |
Two fields decide what you get back. categories takes 11888.gr’s own category names as they appear in its web addresses, in Latin letters: pastry shops are zacharoplasteia_, trailing underscore included. Type a name the actor doesn’t know (“bakeries”, say) and you get one free row listing all 1,031 categories, which is the quickest way to find yours. prefecture and municipality filter by place, and each takes Greek or Latin letters, so “Thessaloniki” and “Θεσσαλονίκη” return the same 508 pastry shops. Narrowing to the municipality “Θέρμη” leaves 18.
A working input:
{
"categories": [
"zacharoplasteia_"
],
"prefecture": "Thessaloniki",
"maxResults": 200
}
Step 3 — Run it
Press Start. Rows are pushed to the dataset as they’re found, so the run log fills in as it works.
Filtering the stored copy took about a second locally for that input: 508 pastry shops matched in the Thessaloniki prefecture, and with maxResults: 200 the log says “Returning 200 of 508 matching listings”. A run with no matching listing returns one free row saying so, never a silent empty dataset. One run loads up to 300,000 listings, so a pull of all Greece asks you, in a free row, to narrow it by category first.
Step 4 — Read the output
Each run returns a labelled table, not raw JSON:
Every row looks like this — a real row from a real run:
{
"name": "ΖΑΧΑΡΟΠΛΑΣΤΕΙΑ Ν ΑΛΕΞΟΥΔΑΣ ΕΠΕ",
"phone": "2392072470",
"phone_e164": "+302392072470",
"email": "info@alexoudas.gr",
"street": "17ο χλμ Θεσσαλονίκης - Περαίας",
"city": "Θέρμη",
"region": "Θεσσαλονίκη",
"postal_code": "57001",
"lat": 40.549654,
"lng": 23.020499,
"country": "GR",
"category": "Ζαχαροπλαστεία",
"listing_id": "zakharoplasteia-n-aleksoudas-epe_65445351",
"extras": {
"phones": [
"2392072470",
"2392072125"
],
"address": "17ο χλμ Θεσσαλονίκης - Περαίας, Θέρμη, Θεσσαλονίκη, 57001",
"region_latin": "thessaloniki",
"city_latin": "thermi"
},
"source": "snapshot",
"source_url": "https://www.11888.gr/zakharoplasteia-n-aleksoudas-epe_65445351/"
}
| Field | Example value | Meaning |
|---|---|---|
name | ΖΑΧΑΡΟΠΛΑΣΤΕΙΑ Ν ΑΛΕΞΟΥΔΑΣ ΕΠΕ | Business name as listed (often in Greek capitals) |
phone | 2392072470 | First phone number on the listing |
phone_e164 | +302392072470 | The same number in international format (+30…) |
email | info@alexoudas.gr | Email on the listing, when the business published one |
street | 17ο χλμ Θεσσαλονίκης - Περαίας | Street and number |
city | Θέρμη | Municipality (Δήμος) |
region | Θεσσαλονίκη | Prefecture / regional unit (e.g. Θεσσαλονίκη, Αττική) |
postal_code | 57001 | Greek postcode |
phone is the field most people come for, and it was on 50 of the first 50 Thessaloniki pastry shops (99.3% of all 513,751 businesses on 2026-10-26), with any second number in extras.phones. Email is the one to be honest about: 11888.gr shows it only where the business published one, which was 7 of those 50, 25 of the 508 Thessaloniki pastry shops and 12.7% across Greece, mostly the paid listings at the top of a category. Names and addresses stay in Greek as the directory prints them, and extras.region_latin carries the Latin form (“thessaloniki”) for your own filters.
Step 5 — Export it
Open the Dataset tab and export to CSV, JSON, or Excel — or pull the same rows from the API, which is what you want if this is going to run on a schedule.
What it costs
$0.004 per listing returned, plus Apify’s own platform usage. The 508 Thessaloniki pastry shops cost $2.03; capped at 200 they cost $0.80. A business filed under two of your categories is returned and charged once, and the unknown-category list, the too-large notice and the stale-data notice are free.
Where the data comes from
This reads 11888.gr. The target is 11888.gr category pages, each carrying a JSON-LD ItemList of 40 listings and its stated total; crawled into a snapshot by Scrapebench-api through proxies, and runs filter that snapshot. Twice a day our checks run this actor against the stored copy and fail if Thessaloniki pastry shops stop returning 50 rows with names, phones and places (what “verified” means).
The pages are easy to read. The work is the size: 1,031 categories, 513,751 businesses, a category order the site reshuffles on every page load (so each category is paged up to four times), and an address that arrives as one string (“17ο χλμ Θεσσαλονίκης - Περαίας, Θέρμη, Θεσσαλονίκη, 57001”) which the actor splits into street, municipality, prefecture and postcode. The run log states the date of the copy, so you always know how old it is.
See it used
Thessaloniki Pastry Shops List with Phone Numbers (Greece) runs this input for a supplier building a call list, 508 rows for $2.03.
11888.gr gives no website column, so this actor can’t find emails beyond the 12.7% it lists. If you hold websites for these businesses from elsewhere, Business Email, Phone & Contact Details Scraper visits each site and pulls the contacts it publishes.
Last updated 2026-10-25