Discover/local API
live

local APIlocal.ch

Search Swiss businesses, retrieve contact details, opening hours, and ratings from local.ch. Includes reverse phone number lookup via 3 endpoints.

Endpoint health
verified 3d ago
search_businesses
phone_number_lookup
get_business_detail
3/3 passing latest checkself-healing
Endpoints
3
Updated
26d ago

What is the local 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.

Try it
Page number for pagination
Search keyword for business type or name (e.g. 'garage', 'restaurant', 'bank')
Location to search in, typically a Swiss city name (e.g. 'Zurich', 'Geneva', 'Basel')
api.parse.bot/scraper/44627546-fc9a-414a-b949-1ecffd9f66b8/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/44627546-fc9a-414a-b949-1ecffd9f66b8/search_businesses?page=1&what=restaurant&where=Zurich' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace local-ch-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""
Local.ch Business Directory API — find Swiss businesses by keyword, location, or phone number.
"""

from parse_apis.local_ch_business_directory_api import LocalCh, Business, Listing

client = LocalCh()

# Search for restaurants in Zurich
for listing in client.listings.search(what="restaurant", where="Zurich", limit=5):
    print(listing.name, listing.address, listing.telephone)

    # Drill into full detail for this listing
    detail = listing.details()
    print(detail.rating, detail.review_count, detail.opening_hours)

# Lookup a business by phone number
for result in client.listings.lookup_by_phone(phone_number="044 250 50 50"):
    print(result.name, result.address, result.telephone)
All endpoints · 3 totalmissing one? ·

Search for businesses in the local.ch directory by keyword and location. Returns a paginated list of business listings with basic contact information. Pagination is page-number based. Each result includes a detail_url for fetching full business information via get_business_detail.

Input
ParamTypeDescription
pageintegerPage number for pagination
whatrequiredstringSearch keyword for business type or name (e.g. 'garage', 'restaurant', 'bank')
whererequiredstringLocation to search in, typically a Swiss city name (e.g. 'Zurich', 'Geneva', 'Basel')
Response
{
  "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": "restaurant",
        "where": "Zurich"
      },
      "businesses": [
        {
          "id": "E2FE14_t_A8FFW9_xUkXBQ",
          "name": "George Bar & Grill",
          "email": null,
          "mobile": null,
          "rating": null,
          "address": "Gessnerallee 5, 8001 Zürich",
          "website": null,
          "telephone": "+1 (555) 012-3456",
          "categories": [],
          "detail_url": "https://www.local.ch/en/d/zurich/8001/restaurant/george-bar-grill-E2FE14_t_A8FFW9_xUkXBQ",
          "review_count": 0
        }
      ],
      "total_count": null
    },
    "status": "success"
  }
}

About the local API

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.

Reliability & maintenanceVerified

The local API is a managed, monitored endpoint for local.ch — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when local.ch changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official local.ch API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
3d ago
Latest check
3/3 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a Swiss lead-generation tool by searching businesses by category and city, collecting email, telephone, and website fields.
  • 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 categories array from detail responses.
  • Verify or update address records for Swiss businesses by cross-referencing the address field in search results.
  • Build a local business finder widget scoped to a specific Swiss city using the where parameter and detail_url links.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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.

Frequently asked questions
Does local.ch offer an official developer API?+
local.ch does not publish a documented public developer API or list one in their developer resources as of this writing. The Parse API provides structured access to the directory data.
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?+
The 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?+
Opening hours are not included in 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?+
The API exposes 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.
Page content last updated . Spec covers 3 endpoints from local.ch.
Related APIs in B2b DirectorySee all →
gelbeseiten.de API
Search for businesses on Gelbe Seiten (gelbeseiten.de) by keyword and location, and retrieve full business details including contact information, opening hours, categories, and reviews.
yellowpages.ca API
Search for businesses across Canada and retrieve detailed information including contact details, ratings, reviews, and website data. Supports keyword and location-based discovery of local businesses for research, analysis, and data enrichment use cases.
pagesjaunes.fr API
Search for business listings across France on PagesJaunes.fr and access customer reviews and detailed location information. Find businesses by keyword and location, and retrieve comprehensive details including addresses, ratings, and reviews.
yelp.com API
Search for businesses on Yelp and access their detailed information including reviews, photos, and ratings all from one interface. Get comprehensive business data like hours, contact details, and customer feedback without visiting Yelp directly.
infobel.com API
Search and retrieve business and person contact information from Infobel directories across the globe to find phone numbers, addresses, and other details. Quickly locate companies or individuals by name to build targeted contact lists or verify business information worldwide.
yellowpages.com API
Search and retrieve business listings, contact info, hours, categories, and customer reviews from YellowPages.com. Browse by category or location across the US.
telecontact.ma API
Find businesses, phone numbers, and reviews across Morocco using Telecontact.ma's comprehensive directory—search by business name, location, phone number, brand, or ICE registration, and access detailed contact information, ratings, and top-rated companies in any category. Discover local services, browse by activity type, and identify leading brands all in one place.
yellowpages.com.au API
Search Australian businesses by category to find contact details, addresses, and emails, then retrieve comprehensive business information for any listing. Perfect for building lead lists, verifying business information, or discovering local service providers across Australia.