Das Örtliche Scraper
Pricing
from $1.30 / 1,000 results
Das Örtliche Scraper
[💰 $1.30 / 1K] Extract German business listings from Das Örtliche — name, category, full address, phone, fax, website, email, opening hours, ratings, and social links. Search by business type and city or paste search URLs, with optional deep contact-detail enrichment.
Pricing
from $1.30 / 1,000 results
Rating
0.0
(0)
Developer
SolidCode
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
Pull German business listings from Das Örtliche — Germany's established local-business directory and online phone book — complete with names, full postal addresses, phone numbers, GPS coordinates, categories, and the German Bundesland for every result. Flip one switch to deep-enrich each listing with website, email, fax, structured weekday opening hours, and social links. Built for German market researchers, B2B lead-generation teams, and local-SEO agencies who need clean, structured business data without clicking through directory pages one entry at a time.
Why This Scraper?
- Nationwide German coverage in one run — search any business type across any German city, from Berlin to a rural Landkreis, all from a single invocation. Das Örtliche indexes businesses Germany-wide, not just the big metros.
- GPS coordinates on every listing —
latitudeandlongitudecome back on each result by default, ready to plot on a map or feed into geospatial analysis. No geocoding step required. - German Bundesland on every row — each listing carries its
region(the federal state, e.g. Bayern, Berlin), so you can segment results by state without a postal-code lookup table. - Structured weekday opening hours — enrich listings to get
openingHoursas a clean weekday-keyed object (Montag → Sonntag), not a blob of free text you have to re-parse. - Verified contact enrichment — turn on full details to capture
website,email,fax, andadditionalPhonesper business, building a ready-to-use B2B contact list for German firms. - Review-count signal per listing — the
ratingsfield returns each business's aggregate review-count summary from golocal (e.g.{ "golocal": "12 Bewertungen" }), a quick popularity signal you can sort prospects by. - Multi-term batch search — pass a list like
["Zahnarzt", "Apotheke", "Restaurant"]and one location, and every business type is searched in that city in a single run with per-term result caps. - Paste-URL support — already have a search set up in your browser? Drop the Das Örtliche URL straight into
searchUrlsand the actor reads the business type and city from it. - Social profile capture — detail enrichment surfaces each business's own
socialLinks(Facebook, Instagram, and more), with Das Örtliche's house profiles filtered out so you only get the listing's real accounts.
Use Cases
Market Research
- Map the density of any business type (Apotheken, Restaurants, Werkstätten) across German cities
- Compare category coverage between Bundesländer using the
regionfield - Plot businesses on a map using built-in GPS coordinates
- Track how many providers serve a given locality
Lead Generation
- Build B2B contact lists for German firms with website, email, and phone
- Collect additional phone numbers and fax lines for outbound campaigns
- Target a single trade (e.g. "Klempner") across multiple cities in one run
- Prioritise prospects by review-count signal before outreach
Local SEO & Competitive Analysis
- Audit how competitors appear in Germany's leading business directory
- Capture opening hours and contact details for citation consistency checks
- Benchmark a client's listing against every rival in the same Branche and city
- Track social-profile presence (Facebook, Instagram) across a local market
CRM & Data Enrichment
- Enrich existing German company records with current phone, address, and website
- Append GPS coordinates and Bundesland to legacy customer lists
- Validate and refresh opening hours for partner directories
- Standardize messy address data into street, postal code, and city fields
Getting Started
Simple Search
Find restaurants in Berlin — just a term and a city:
{"searchTerms": ["Restaurant"],"location": "Berlin","maxResults": 100}
Multi-Term Search with Per-Term Cap
Search several business types in one city and balance the results across them:
{"searchTerms": ["Zahnarzt", "Apotheke", "Hausarzt"],"location": "München","maxResults": 300,"maxResultsPerSearch": 100}
Full Contact Enrichment
Collect website, email, fax, opening hours, ratings, and social links for every listing:
{"searchTerms": ["Klempner"],"location": "Hamburg","maxResults": 200,"scrapeContactDetails": true}
Using Das Örtliche URLs
Paste search-result URLs directly — the actor reads the business type and location from each one:
{"searchUrls": ["https://www.dasoertliche.de/?kw=Bäckerei&ci=Köln&form_name=search_nat"],"maxResults": 150}
Input Reference
Search
| Parameter | Type | Default | Description |
|---|---|---|---|
searchTerms | array | ["Restaurant"] | Business types or names to look up, such as 'Zahnarzt', 'Restaurant', or 'Klempner'. Each term is searched in the location below. Add as many as you like. |
location | string | "Berlin" | City or place to search in, such as 'Berlin', 'München', or 'Hamburg'. Leave empty if your search URLs already include a location. |
searchUrls | array | [] | Paste Das Örtliche search-result URLs directly. The actor reads the business type and location from each URL — handy if you already have searches set up in your browser. |
Options
| Parameter | Type | Default | Description |
|---|---|---|---|
maxResults | integer | 100 | Maximum number of business listings to return in total across all your searches. Set to 0 for unlimited. |
maxResultsPerSearch | integer | 0 | Optional cap on results for each individual search term. Useful for balancing results when you have many terms. Set to 0 for no per-term limit. |
scrapeContactDetails | boolean | false | Open each listing's detail page to also collect website, email, fax, opening hours, extra phone numbers, ratings, and social media links. This gives much richer data but is slower and costs more. |
Output
Every dataset row is one business. Here's a result with full contact details enabled:
{"name": "Ristorante Da Vinci","categories": ["Restaurant", "Italienische Küche"],"phone": "030 1234567","address": "Hauptstraße 12, 10827 Berlin","street": "Hauptstraße 12","postalCode": "10827","city": "Berlin","region": "Berlin","latitude": 52.4858,"longitude": 13.3553,"detailUrl": "https://www.dasoertliche.de/?form_name=detail&id=...","website": "https://www.ristorante-davinci.de","email": "info@ristorante-davinci.de","fax": "030 1234568","additionalPhones": ["030 7654321"],"openingHours": {"Montag": "11:30 - 23:00","Dienstag": "11:30 - 23:00","Sonntag": "Geschlossen"},"logoUrl": "https://www.dasoertliche.de/.../logo.jpg","ratings": { "golocal": "128 Bewertungen" },"socialLinks": { "facebook": "https://www.facebook.com/davinciberlin" },"searchTerm": "Restaurant","searchLocation": "Berlin"}
Core Fields (always returned)
| Field | Type | Description |
|---|---|---|
name | string | Business or listing name |
categories | array | Branchen / category tags for the listing |
phone | string | Primary phone number |
address | string | Full formatted address as displayed |
street | string | Street and house number |
postalCode | string | German postal code (PLZ) |
city | string | City or locality |
region | string | German Bundesland / region |
latitude | number | Latitude (GPS) |
longitude | number | Longitude (GPS) |
detailUrl | string | URL of the listing's Das Örtliche detail page |
searchTerm | string | The search term that produced this listing |
searchLocation | string | The location that was searched |
Contact Detail Fields (when scrapeContactDetails is on)
| Field | Type | Description |
|---|---|---|
website | string | Business website |
email | string | Contact email address |
fax | string | Fax number |
additionalPhones | array | Extra phone numbers beyond the primary line |
openingHours | object | Opening hours keyed by weekday (Montag → Sonntag) |
logoUrl | string | Business logo or image URL |
ratings | object | Aggregate review-count summary from golocal, e.g. { "golocal": "12 Bewertungen" } (empty when the business has no reviews) |
socialLinks | object | Social profile URLs (Facebook, Instagram, etc.) |
Contact-detail fields are empty when a business has not published them — many listings simply don't include a fax line, logo, or social profile.
Tips for Best Results
- Use German business-type terms — search "Zahnarzt", not "dentist", and "Apotheke", not "pharmacy". Das Örtliche indexes German Branchen, so native terms return far more results.
- Leave contact enrichment off unless you need it — keep
scrapeContactDetailsoff for fast, lean runs when name, phone, address, and GPS are enough. Turn it on only when you specifically need email, website, or opening hours. - Balance many terms with a per-term cap — when searching several Branchen at once, set
maxResultsPerSearchso one popular category doesn't consume your wholemaxResultsbudget. - Ambiguous cities resolve automatically — names like "Hamburg" that match several places are auto-resolved to the exact city match, so you don't need to disambiguate by hand.
- Start small to validate — set
maxResultsto 25–50 on your first run to confirm the data fits your needs, then scale up. - Mix terms and URLs freely — combine
searchTerms+locationwith pastedsearchUrlsin the same run; results are merged into one dataset. - Segment by Bundesland after the run — every row carries
region, so you can group or filter the output by federal state without any extra lookup.
Pricing
From $1.30 per 1,000 results — a flat per-result rate that undercuts manual directory research and event-priced alternatives. Bronze, Silver, and Gold subscribers pay progressively less; the table below shows the total cost at each discount tier.
| Results | No discount | Bronze | Silver | Gold |
|---|---|---|---|---|
| 100 | $0.155 | $0.145 | $0.140 | $0.130 |
| 1,000 | $1.55 | $1.45 | $1.40 | $1.30 |
| 10,000 | $15.50 | $14.50 | $14.00 | $13.00 |
| 100,000 | $155.00 | $145.00 | $140.00 | $130.00 |
A "result" is any business row in the output dataset. No compute or time-based charges — you pay per result, plus a small fixed per-run start fee.
Integrations
Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:
- Zapier / Make / n8n — Workflow automation
- Google Sheets — Direct spreadsheet export
- Slack / Email — Notifications on new results
- Webhooks — Trigger custom APIs on run completion
- Apify API — Full programmatic access
Legal & Ethical Use
This actor is designed for legitimate market research, business analysis, and lead generation using publicly available directory information. Users are responsible for complying with applicable laws — including the GDPR — and with Das Örtliche's Terms of Service. Do not use extracted data for spam, harassment, or any unlawful purpose, and handle any personal data lawfully and respectfully.