HalalSearch Commercial Data API
Access a rights-clean, continuously updated directory of Muslim-community professionals and organizations.
The consumer site at halalsearch.org is a directory. This API is a separate product: a fail-closed B2B feed of records we are allowed to redistribute. It does not mix in the frozen restaurant/mosque seed.
Fail-closed rights
A row is returned only when its identity source is classified government_public or owned_or_generated. Today that is primarily CMS NPPES (US government provider registry) and HalalSearch-owned observations.
Zabihah, Mehfil, Eventbrite, OpenStreetMap, and other scraped or share-alike sources are excluded. We do not have redistribution rights to those datasets, so they never enter /v1/data/standard — even if they appear on the public directory. Unknown or “legal review required” sources fail closed. Querying a seed restaurant name returns total: 0.
We also omit muslim_owned (unknown is not a sellable fact), halal_status, consumer reviews, and user reports.
Endpoint
GET /v1/data/standard
Authenticate with query parameter api_key or header X-API-Key. Missing or invalid keys return HTTP 401:
{"error": "Commercial API requires an API key. Contact support@halalsearch.org"}
Required and pagination parameters
| Name | In | Notes |
|---|---|---|
api_key | query (or X-API-Key header) | Required. Request a key below. |
page | query | Default 1. |
page_size | query | Default 20, max 100. |
Filters
| Name | Notes |
|---|---|
category | Taxonomy slug, for example professional.doctor or professional.pharmacist. |
city | Case-insensitive city name. |
state | USPS two-letter code, for example TX. |
Example request
curl -s "https://halalsearch.org/v1/data/standard?api_key=YOUR_API_KEY&state=TX&page=1&page_size=20"
Example response
{
"data": [
{
"id": "11111111-2222-4333-8444-555555555555",
"name": "Houston Family Clinic",
"entity_categories": ["professional.doctor"],
"address": {
"street": "100 Main St",
"city": "Houston",
"state": "TX",
"postal_code": "77002",
"country": "US"
},
"geo": {"latitude": 29.7604, "longitude": -95.3698},
"phone": "7135550100",
"source": "nppes",
"updated_at": "2026-09-08T00:00:00+00:00"
}
],
"meta": {
"product": "api_standard",
"sku": "standard",
"page": 1,
"page_size": 20,
"total": 1,
"total_pages": 1,
"order": "name,entity_id"
}
}
Each row includes id, name, entity_categories, address, geo, phone, source (for example nppes), and updated_at.
Request an API key
There is no self-serve billing yet. Email us with your organization and intended use.