Das Oertliche Scraper
Pricing
Pay per event
Das Oertliche Scraper
🇩🇪 Scrape Das Örtliche by keyword and city for German business leads with names, addresses, phones, websites, emails, ratings, and profile URLs.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Extract public German local-business listings from Das Örtliche by keyword and city. Use it to build lead lists, verify contact details, and enrich CRM or local SEO workflows with structured business data.
What does Das Oertliche Scraper do?
Das Oertliche Scraper searches dasoertliche.de result pages and saves public business listings to an Apify dataset.
It can:
- 🔎 Search by business keyword and German city
- 🧾 Read existing Das Örtliche result URLs
- ☎️ Extract public phone and fax numbers
- 🌐 Open profile pages for public website and email links
- 📍 Parse address components such as street, postal code, city, and district
- ⭐ Capture rating and review count when visible
- 🧹 Deduplicate overlapping leads by profile URL and phone
Who is it for?
This actor is designed for teams that need German local directory data in a repeatable workflow. Each persona below can turn the same Das Örtliche search inputs into a different operational workflow.
💼 B2B sales and SDR teams
- Build city-by-city prospect lists for dentists, installers, agencies, restaurants, and other local services.
- Export phone numbers, websites, categories, and source URLs into CRM enrichment or outbound sequencing tools.
- Re-run the same keyword and city combinations regularly to find new local businesses.
📈 Local SEO and citation agencies
- Map competitor presence across German cities and business categories.
- Check whether clients have consistent directory profiles, phone numbers, websites, and category labels.
- Collect profile URLs that analysts can review before citation cleanup or local ranking reports.
🧑💼 Recruiters, staffing, and partnerships teams
- Research regional employers by industry and location before outreach campaigns.
- Prioritize companies with public websites, phone numbers, review counts, and active directory listings.
- Build territory lists for field recruiters, franchise teams, or partner managers.
🏢 Market research and data operations teams
- Size local business categories across selected German cities with repeatable inputs.
- Enrich internal company records with public address, phone, category, website, and source metadata.
- Feed normalized JSON, CSV, Excel, or API output into downstream dashboards and data QA workflows.
Why use it?
Manual Das Örtliche searches are fine for a few contacts, but they do not scale. This actor turns repeated searches into a structured dataset with consistent fields, export formats, and API access.
Use it when you need:
- Faster lead collection across many cities
- A repeatable enrichment process
- Standard JSON, CSV, Excel, or API output
- A transparent source URL for every record
- Optional profile-page enrichment for public email and website links
What data can it extract?
| Field | Description |
|---|---|
name | Business or professional name |
profileUrl | Das Örtliche detail page URL |
category | Main category shown in the result |
categories | Category/snippet terms split into a list |
streetAddress | Street and house number when parsed |
postalCode | German postal code |
city | City from the listing |
district | District/neighborhood when shown |
phone | Public telephone number |
fax | Public fax number when available |
email | Public email from the profile page when available |
website | Public website from the profile page when available |
rating | Public rating score when visible |
reviewCount | Number of public reviews when visible |
openingStatus | Opening-hours status text when visible |
sourceKeyword | Keyword used for the search |
sourceCity | City used for the search |
position | Search result position |
scrapedAt | ISO timestamp of extraction |
How much does it cost to scrape Das Örtliche leads?
The actor uses pay-per-event pricing.
- A small start event is charged once per run.
- A result event is charged for each saved listing.
- Your final run cost depends on
maxItems, detail enrichment, and proxy settings.
For the cheapest first run, keep maxItems low and leave proxy disabled unless you see rate limiting.
How to use Das Oertliche Scraper
- Open the actor on Apify.
- Enter one or more
keywords, for exampleZahnarztorSteuerberater. - Enter one or more German
cities, for exampleBerlinorMünchen. - Set
maxItemsto the number of listings you need. - Keep
includeDetailsenabled if you need public website and email fields. - Run the actor.
- Export the dataset as JSON, CSV, Excel, XML, or HTML.
Input options
Keywords
Use business categories, services, professions, or company types.
Examples:
ZahnarztSteuerberaterRechtsanwaltPhysiotherapieFriseur
Cities
Use German cities or localities supported by Das Örtliche.
Examples:
BerlinHamburgMünchenKölnDresden
Exact keyword/city pairs
Use searchQueries when each keyword should only run against a specific city.
[{ "keyword": "Steuerberater", "city": "München" },{ "keyword": "Zahnarzt", "city": "Berlin" }]
Start URLs
You can paste Das Örtliche result URLs directly.
[{ "url": "https://www.dasoertliche.de/?form_name=search_nat&kw=Zahnarzt&ci=Berlin" }]
Example input
{"keywords": ["Zahnarzt"],"cities": ["Berlin"],"maxItems": 50,"includeDetails": true,"useApifyProxy": false}
Example output
{"name": "KU64 Dr. Ziegler & Partner","profileUrl": "https://www.dasoertliche.de/?form_name=detail&id=...","category": "Zahnärzte","streetAddress": "Kurfürstendamm 64","postalCode": "10707","city": "Berlin","district": "Charlottenburg","phone": "030 8 64 73 20","email": "info@example.de","website": "http://example.de","sourceKeyword": "Zahnarzt","sourceCity": "Berlin","position": 1,"scrapedAt": "2026-07-03T00:00:00.000Z"}
Tips for better results
- Use German business terms rather than broad English categories.
- Start with one city and a small
maxItemsvalue. - Enable proxy only if direct requests are rate-limited.
- Use exact
searchQueriesfor carefully planned regional campaigns. - Keep
includeDetailsenabled when email and website fields matter.
Lead generation workflows
Common workflows include:
- Build a list of dentists in Berlin.
- Find tax advisors in Munich.
- Map tradespeople across several German cities.
- Enrich CRM rows with public website and phone fields.
- Compare local competitors for agency audits.
Local SEO workflows
Agencies can use the actor to check category coverage, discover competitors, and build citation-audit source lists.
Useful columns for SEO work:
namecategoryaddressphonewebsiteprofileUrl
CRM enrichment workflows
Export results to CSV or call the Apify API to feed records into HubSpot, Pipedrive, Salesforce, Airtable, Google Sheets, or a warehouse.
Match records by:
- Company name
- Phone number
- Website domain
- Postal code and city
Integrations
Apify datasets can connect to many tools.
- 📊 Google Sheets for review and cleanup
- 🧲 CRM systems for sales outreach
- 🗄️ BigQuery or Snowflake for analysis
- 🔁 Make, Zapier, or n8n for automations
- 🧪 Custom Node.js or Python scripts through the Apify API
API usage with Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/das-oertliche-scraper').call({keywords: ['Zahnarzt'],cities: ['Berlin'],maxItems: 50,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Using the API with Python
from apify_client import ApifyClientimport osclient = ApifyClient(os.environ['APIFY_TOKEN'])run = client.actor('automation-lab/das-oertliche-scraper').call(run_input={'keywords': ['Zahnarzt'],'cities': ['Berlin'],'maxItems': 50,})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items)
Using cURL
curl -X POST "https://api.apify.com/v2/acts/automation-lab~das-oertliche-scraper/runs?token=$APIFY_TOKEN" \-H 'Content-Type: application/json' \-d '{"keywords":["Zahnarzt"],"cities":["Berlin"],"maxItems":50}'
MCP usage
Use this actor through Apify MCP tools in Claude Code, Claude Desktop, or compatible MCP clients.
MCP tool URL:
https://mcp.apify.com/?tools=automation-lab/das-oertliche-scraper
Add it in Claude Code:
$claude mcp add apify-das-oertliche --transport http https://mcp.apify.com/?tools=automation-lab/das-oertliche-scraper
Claude Desktop JSON config example:
{"mcpServers": {"apify-das-oertliche": {"url": "https://mcp.apify.com/?tools=automation-lab/das-oertliche-scraper"}}}
Example prompts:
- "Run Das Oertliche Scraper for tax advisors in Munich and summarize the top websites."
- "Find 100 dentists in Berlin and return a CSV-ready table."
- "Compare categories for electricians in Hamburg from Das Örtliche results."
Proxy and reliability notes
Direct HTTP is used by default to reduce cost. If Das Örtliche rate-limits your workload, enable Apify Proxy and start with a low-cost proxy group before using residential proxies.
The actor retries transient HTTP errors and skips detail enrichment failures without losing the base listing.
FAQ and troubleshooting
Why are email or website fields empty?
Not every Das Örtliche listing exposes email or website links. Keep includeDetails enabled, and remember that the actor only extracts public links visible on the profile page.
Why did I get fewer rows than maxItems?
The source may have fewer matching listings than requested, or duplicate records may be removed when searches overlap.
Why does a city return no results?
Check the spelling and try the same keyword/city on Das Örtliche manually. Some smaller locations may require nearby city names.
Data freshness
Each run fetches current public pages from Das Örtliche and saves a scrapedAt timestamp. Schedule runs if you need recurring refreshes.
Legality and responsible use
This actor extracts publicly available business directory information. You are responsible for using the data lawfully, respecting applicable privacy, database, anti-spam, and terms-of-service requirements. Do not use scraped contact data for unlawful outreach.
Related scrapers
You may also find these automation-lab actors useful:
- https://apify.com/automation-lab/das-telefonbuch-business-scraper
- https://apify.com/automation-lab/gelbeseiten-scraper
- https://apify.com/automation-lab/goyellow-business-directory-scraper
- https://apify.com/automation-lab/11880-local-business-directory-scraper
Changelog
Initial version extracts Das Örtliche result listings with optional profile-page enrichment.
Support
If you need a field that is visible on Das Örtliche but not returned by this actor, open an Apify issue with an example URL and expected field.