Das Örtliche Scraper - German Phone Directory
Pricing
from $2.00 / 1,000 serp listing scrapeds
Das Örtliche Scraper - German Phone Directory
Scrape business listings from dasoertliche.de, Germany's phone directory. Extract names, phone numbers, emails, addresses, geo coordinates, and optionally websites and opening hours. HTTP-only, low RAM usage.
Pricing
from $2.00 / 1,000 serp listing scrapeds
Rating
0.0
(0)
Developer

Alessandro Santamaria
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
Das Örtliche Scraper
Scrape business listings from dasoertliche.de, Germany's phone directory.
Features
- JSON-LD extraction — Reliable structured data from ItemList with LocalBusiness entries
- 25 results per page with automatic pagination
- Phone numbers — Direct from JSON-LD structured data
- Geo coordinates — Latitude/longitude for each business
- Optional detail pages — Website URLs, email, fax, opening hours, logo, ratings, social links
- HTTP-only — Low memory (~128MB), fast execution
- Pay-per-result pricing via Apify billing events
Input
| Field | Type | Default | Description |
|---|---|---|---|
keyword | string | required | Business type (e.g., "Zahnarzt", "Restaurant") |
city | string | required | City to search in (e.g., "Berlin", "München") |
maxResults | number | 100 | Maximum results to scrape |
includeDetails | boolean | false | Fetch detail pages for website/email/hours |
proxyConfiguration | object | Apify proxy | Proxy settings |
Output Fields
From SERP (always available)
name— Business namephone— Phone numberaddress— Full addressstreet,city,postal_code,region— Address componentslatitude,longitude— Geo coordinatesdetail_url— Link to detail page
From Detail Page (when includeDetails=true)
website— Business website URLemail— Email addressfax— Fax numberopening_hours— Business hoursadditional_phones— Extra phone numberslogo_url— Business logo image URL (from Kundenlogo or itemprop image)ratings— Aggregated web ratings as key-value pairs, e.g.{ "Google": "4.3/5 aus 3 Bewertungen" }(platforms: Google, Jameda, Sanego, Yelp, golocal, Kununu, ProvenExpert, etc.)social_links— Social media profile URLs as key-value pairs, e.g.{ "facebook": "https://..." }(facebook, instagram, xing, linkedin, youtube)
Pricing Events
| Event | Price |
|---|---|
directory-start | $0.05 |
directory-serp-result | $0.003 |
directory-detail-result | $0.005 |
Enrichment add-ons
After the scrape completes, this actor can automatically trigger AI-powered extraction on every website found in the results. Each add-on runs as a separate actor and produces its own dataset.
Contact extraction
Extracts team member names, email addresses, phone numbers, positions, and departments from company websites. Powered by the Website Contact Extractor.
Enable it by setting enableContactExtraction: true and providing at least one LLM API key. The sub-actor run ID is stored in the key-value store as CONTACT_EXTRACTOR_RUN_ID.
Job listing extraction
Extracts open positions, job titles, locations, departments, and career page URLs from company websites. Powered by the Website Job Extractor.
Enable it by setting enableJobExtraction: true and providing at least one LLM API key. The sub-actor run ID is stored in the key-value store as JOB_EXTRACTOR_RUN_ID.
Browser fallback
Some company websites are built with JavaScript frameworks (React, Vue, Angular) that require a full browser to render. When enableBrowserFallback is set to true, the contact/job extractors will automatically re-scrape these sites with Playwright. This catches ~25% more sites but increases cost and runtime. Only applies when contact or job extraction is enabled.
LLM API keys
Both add-ons use LLMs to extract structured data. Provide one or more API keys. When multiple keys are provided, the system uses them in priority order with automatic fallback:
- Gemini (recommended) -- Best quality-to-cost ratio. Free tier includes 1M tokens/min. Get a key at Google AI Studio.
- Groq (optional) -- Ultra-fast inference. Get a key at Groq Console.
- OpenRouter (optional) -- Access to 100+ models. Get a key at OpenRouter.
One key is sufficient. With multiple keys, if the primary provider hits a rate limit, the system falls back to the next available provider automatically.
Support
Found a bug or have a feature request? Open an issue.