Discover/Telecontact API
live

Telecontact APItelecontact.ma

Search and retrieve Moroccan business listings from telecontact.ma. Look up by keyword, city, phone, brand, or ICE number. Access contacts, reviews, and geolocation.

Endpoint health
verified 4d ago
get_top_activities
search_by_city
search_national
search_by_phone
search_by_brand
10/10 passing latest checkself-healing
Endpoints
10
Updated
26d ago

What is the Telecontact API?

The Telecontact.ma API covers 10 endpoints for querying Morocco's largest business directory, returning structured data on company names, addresses, phone numbers, ICE tax identifiers, and geolocation. Use search_national to run a keyword search across all cities and get paginated results, or drill into a specific listing with get_listing_detail to retrieve fields like director name, latitude/longitude, email, RC registration number, and business website.

Try it
Page number for pagination.
Search keyword (activity, business name, etc.)
api.parse.bot/scraper/eb802322-1c0c-436a-9168-97eba09d3517/<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/eb802322-1c0c-436a-9168-97eba09d3517/search_national?page=1&query=restaurant' \
  -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 telecontact-ma-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.

from parse_apis.telecontact_ma_business_directory_api import Telecontact, BusinessSummary, Business, Activity, Brand

tc = Telecontact()

# Search for restaurants nationwide
for listing in tc.businesssummaries.search(query="restaurant", limit=5):
    print(listing.name, listing.city, listing.url)

# Get full details for a specific business
biz = tc.businesses.get(url="https://www.telecontact.ma/annonceur/ink-services/2228915/casablanca.php")
print(biz.name, biz.telephone, biz.address)

# Get reviews for that business
review_result = biz.reviews()
print(review_result.total_reviews, review_result.average_rating)
for review in review_result.reviews:
    print(review.author, review.rating, review.content)

# Browse a category
for listing in tc.businesssummaries.browse_category(category_slug="cliniques", limit=3):
    detail = listing.details()
    print(detail.name, detail.telephone, detail.activities)

# List all activities
for activity in tc.activities.list(limit=10):
    print(activity.name, activity.url)

# List brands
for brand in tc.brands.list(limit=5):
    print(brand.name, brand.url)
All endpoints · 10 totalmissing one? ·

Full-text search across all Moroccan businesses. Matches query against business names and activities nationwide. Returns 20 results per page; paginate via the page parameter.

Input
ParamTypeDescription
pageintegerPage number for pagination.
queryrequiredstringSearch keyword (activity, business name, etc.)
Response
{
  "type": "object",
  "fields": {
    "total": "integer total number of results",
    "results": "array of business summary objects with name, url, city, and summary"
  },
  "sample": {
    "data": {
      "total": 20,
      "results": [
        {
          "url": "https://www.telecontact.ma/annonceur/12-cool/3293441/casablanca.php",
          "city": "Casablanca",
          "name": "12 Cool",
          "summary": "12 Cool (0 avis) 35 bd Rachidi Lusitania Casablanca Maroc Restaurants"
        }
      ]
    },
    "status": "success"
  }
}

About the Telecontact API

Search Methods

Five search endpoints let you find businesses using different identifiers. search_national and search_by_city both accept a query string (business name, activity type, etc.) and return up to 20 results per page with name, url, city, and summary fields. search_by_city narrows results to a single city such as casablanca or marrakech. search_by_phone performs reverse lookup against a phone or fax number. search_by_brand finds businesses that carry a given brand (e.g., samsung, bosch). search_by_ice looks up a business by its 15-digit ICE (Identifiant Commun de l'Entreprise) number, which is Morocco's national business tax identifier.

Listing Detail and Reviews

get_listing_detail accepts a full listing URL from any search result and returns a richer set of fields: rc (RC registration number), ice, email, address, website, director, and geographic coordinates (latitude, longitude). get_listing_reviews takes the same URL format and returns an array of review objects — each with author, content, rating, and date — plus total_reviews and average_rating (null when no reviews exist).

Browsing by Category and Discovery

browse_category accepts a category_slug such as restaurants, climatisation, or cliniques and pages through all businesses in that category nationwide. get_top_activities returns the full list of activity categories available on the platform, each with a name and url. get_top_brands does the same for brands. These two discovery endpoints require no inputs and serve as entry points for building category-level or brand-level scrapers.

Reliability & maintenanceVerified

The Telecontact API is a managed, monitored endpoint for telecontact.ma — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when telecontact.ma 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 telecontact.ma 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
4d ago
Latest check
10/10 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 leads database of Moroccan businesses filtered by city and activity using search_by_city
  • Verify a company's legal identity by cross-referencing ICE numbers via search_by_ice
  • Reverse-lookup an unknown Moroccan phone number to identify the associated business with search_by_phone
  • Aggregate review scores and sentiment for local service providers using get_listing_reviews
  • Enrich a CRM with director names, emails, and geolocation by calling get_listing_detail on matched listings
  • Map all businesses in a specific category across Morocco using browse_category with pagination
  • Identify which brands have the most retail representation by iterating search_by_brand across get_top_brands output
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 telecontact.ma have an official developer API?+
Telecontact.ma does not publish a documented public developer API. The Parse API is the structured access point for this data.
What fields does `get_listing_detail` return beyond what search results include?+
get_listing_detail returns fields not available in search results: rc (RC registration number), ice (ICE tax number), email, website, director (manager name), and geographic coordinates (latitude, longitude). Search result objects only include name, url, city, and summary.
Does the API return opening hours or social media links for listings?+
Not currently. get_listing_detail covers contact info, legal identifiers, address, and geolocation. You can fork this API on Parse and revise it to add an endpoint that captures opening hours or social media profile links if the listing page exposes them.
How does pagination work across search and browse endpoints?+
Endpoints that support pagination (search_national, search_by_city, browse_category) return 20 results per page. The total field in each response gives the full result count, so you can calculate the number of pages needed by dividing total by 20 and iterating the page parameter.
Is coverage limited to Morocco, and can I filter by region rather than specific city?+
Coverage is specific to listings on telecontact.ma, which indexes Moroccan businesses only. The search_by_city endpoint requires a named city (e.g., rabat, casablanca) rather than a region or province. Region-level filtering is not currently supported. You can fork this API on Parse and revise it to add a region-based browse endpoint if the source exposes that grouping.
Page content last updated . Spec covers 10 endpoints from telecontact.ma.
Related APIs in B2b DirectorySee all →
emploi.ma API
Search and browse job listings from Emploi.ma with detailed information about positions, companies, and available categories across the Moroccan job market. Access company profiles, featured job opportunities, and full job details including requirements, salary, and employment type.
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.
páginasamarelas.pt API
Search for Portuguese businesses by name or category, browse Yellow Pages listings, and access detailed company information like contact details, addresses, and services. Find the right local business quickly with filters and comprehensive business profiles from Portugal's official business directory.
local.ch API
Search Swiss businesses and retrieve their contact details, addresses, phone numbers, opening hours, and website URLs directly from the local.ch directory. Look up companies by name, category, or location, and perform reverse phone number lookups.
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.
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.
paginasamarillas.es API
Search and discover Spanish businesses with detailed information including contact details, social links, and customer reviews, with specialized features for finding restaurants and getting search suggestions. Access comprehensive business profiles to find exactly what you're looking for in Spain's leading business directory.