local.ch APIlocal.ch ↗
Search Swiss businesses, retrieve contact details, opening hours, and ratings from local.ch. Includes reverse phone number lookup via 3 endpoints.
curl -X GET 'https://api.parse.bot/scraper/44627546-fc9a-414a-b949-1ecffd9f66b8/search_businesses?what=garage&where=Zurich' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for businesses in the local.ch directory by keyword and location. Returns a paginated list of business listings with basic contact information.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination |
| whatrequired | string | Search keyword for business type or name (e.g. 'garage', 'restaurant', 'bank') |
| whererequired | string | Location to search in, typically a Swiss city name (e.g. 'Zurich', 'Geneva', 'Basel') |
{
"type": "object",
"fields": {
"query": "object containing what, where, and page parameters used",
"businesses": "array of business listing objects with name, detail_url, id, address, telephone, mobile, email, website, rating, review_count, and categories",
"total_count": "integer or null — total number of results if available"
},
"sample": {
"data": {
"query": {
"page": 1,
"what": "garage",
"where": "Zurich"
},
"businesses": [
{
"id": "pCzFKcZYSpVhj7v7eTt7sg",
"name": "Kalchbühl-Garage AG Zürich",
"email": null,
"mobile": null,
"rating": null,
"address": "123 Main St, Springfield, IL 62704",
"website": null,
"telephone": "+1 (555) 012-3456",
"categories": [],
"detail_url": "https://www.local.ch/en/d/zurich/8038/garage/kalchbuehl-garage-ag-zuerich-pCzFKcZYSpVhj7v7eTt7sg",
"review_count": 0
}
],
"total_count": null
},
"status": "success"
}
}About the local.ch API
The local.ch API provides access to Switzerland's main business directory through 3 endpoints, covering business search, detail lookup, and reverse phone number resolution. The search_businesses endpoint accepts a keyword and Swiss city name, returning paginated results with contact fields including telephone, email, website, and rating. The get_business_detail endpoint exposes opening hours and categories not available in search results.
Search and Directory Lookup
The search_businesses endpoint takes two required parameters — what (a business type or name, e.g. garage or Migros) and where (a Swiss city or region) — and returns a paginated array of business listings. Each item in the businesses array includes name, address, telephone, mobile, email, website, rating, review_count, and a detail_url that can be passed directly to the detail endpoint. The total_count field gives the full result count when available, and the page parameter controls pagination.
Business Detail
The get_business_detail endpoint accepts a full local.ch business URL and returns the most complete record available for that listing: categories (array of strings), images (array of image URLs), opening_hours, rating, and all contact fields. Field population varies by listing — email, mobile, telephone, and website may be null if the business has not provided that information on local.ch. Categories and images may be empty arrays.
Reverse Phone Lookup
The phone_number_lookup endpoint accepts Swiss phone numbers in formats with or without spaces (e.g. 044 250 50 50 or 0442505050) and returns an array of matching directory entries. Each result shares the same field shape as search results: name, address, telephone, mobile, email, website, rating, and review_count. Coverage reflects what is listed in the local.ch directory — unlisted or mobile-only numbers may return no results.
- Build a Swiss lead-generation tool by searching businesses by category and city, collecting
email,telephone, andwebsitefields. - Enrich a CRM with verified Swiss business contact data by passing known local.ch URLs to
get_business_detail. - Identify the business owner of an unknown Swiss phone number using
phone_number_lookup. - Aggregate ratings and review counts across restaurant listings in a given Swiss city.
- Compile business category data for market research by extracting the
categoriesarray from detail responses. - Verify or update address records for Swiss businesses by cross-referencing the
addressfield in search results. - Build a local business finder widget scoped to a specific Swiss city using the
whereparameter anddetail_urllinks.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does local.ch offer an official developer API?+
What does `get_business_detail` return that `search_businesses` does not?+
get_business_detail returns opening_hours, categories, and images — fields not included in the search result objects. It also provides the same contact fields (telephone, mobile, email, website) but sourced from the full business page. Not every field is populated for every listing.Does the phone number lookup cover private individuals as well as businesses?+
phone_number_lookup endpoint returns any matching directory entries, which can include both businesses and private persons listed in the local.ch directory. Coverage depends entirely on what is publicly listed — many mobile numbers and unlisted landlines will return no results.Are opening hours returned by the search endpoint?+
search_businesses results. They are only available from get_business_detail, which requires a full local.ch business URL as input. You can fork this API on Parse and revise it to pre-fetch detail records during search if you need opening hours in bulk.Does the API cover local.ch user reviews or review text?+
rating (a numeric average) and review_count across endpoints, but individual review text and reviewer profiles are not currently returned. The API covers contact data, categories, images, and aggregate ratings. You can fork it on Parse and revise it to add an endpoint that retrieves individual review content.