protenders.com APIwww.protenders.com ↗
Search and retrieve construction industry companies from Protenders.com. Filter by location, keyword, and category. Access contacts, projects, and certifications.
curl -X GET 'https://api.parse.bot/scraper/dfa65f6c-fd2f-412b-acde-9a7cbebe76aa/search_companies?page=1&query=engineering&location=United+Arab+Emirates&hits_per_page=20' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for construction industry companies with optional filters for location and keyword. Returns paginated results with company details including contacts, projects, and activities.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number (0-indexed) |
| query | string | Search keyword to filter companies by name or description |
| location | string | Filter by company location (country, city, or region). |
| hits_per_page | integer | Number of results per page (max 1000) |
{
"type": "object",
"fields": {
"page": "integer - current page number",
"total": "integer - total number of matching companies",
"companies": "array of company objects with id, name, slug, profile, category, locations, contacts, primary_activities, projects_count, and more",
"total_pages": "integer - total number of pages",
"hits_per_page": "integer - results per page"
},
"sample": {
"data": {
"page": 0,
"total": 141,
"companies": [
{
"id": "29175",
"name": "Lahoud Engineering",
"slug": "lahoud-engineering",
"state": "imported",
"profile": "Lahoud Engineering is an international industrial contracting company...",
"branches": "",
"category": "Sub-contractor",
"contacts": {
"email": "",
"phone": "+971.2.615.5352",
"website": "www.lahoudeng.com"
},
"locations": [
"UAE",
"Dubai",
"Lebanon"
],
"team_size": 4,
"membership": "presence",
"certificates": [],
"main_address": "Dubai (UAE)",
"logo_public_id": "36e0971c45ec63fcca6db1a192be852e.png",
"projects_count": 5,
"projects_value": "$6.76B",
"projects_sectors": [
"Oil & Gas",
"Energy"
],
"primary_activities": [
"Other Specialized Contractor",
"EPC Contractor"
],
"secondary_activities": [],
"ongoing_projects_count": 0,
"ongoing_projects_value": ""
}
],
"total_pages": 71,
"hits_per_page": 2
},
"status": "success"
}
}About the protenders.com API
The Protenders API gives developers structured access to construction industry company data across two endpoints: search_companies and get_company. A single search request returns up to 1,000 companies per page with fields covering contacts, project counts, primary activities, locations, and certifications. It covers contractors, suppliers, and service providers listed on Protenders.com, one of the larger construction-sector directories in the MENA region and beyond.
Searching Companies
The search_companies endpoint accepts a query string for name or description matching, a location filter (country, city, or region), and a hits_per_page value up to 1,000. Results are zero-indexed via the page parameter, and the response includes total and total_pages so you can walk the full result set. Each item in the companies array carries id, name, slug, profile, category, locations, contacts, primary_activities, and projects_count.
Retrieving a Specific Company
The get_company endpoint takes a name or slug string and returns the single best-matching record with the full detail object. This includes all fields from search results plus certifications and a more complete activity breakdown. It is suited for enrichment workflows where you already have a company name and want the canonical Protenders record.
Data Shape and Coverage
Contact data returned in the contacts field varies by company; some records include phone, email, and website entries while others carry only partial information depending on what the company has published on Protenders. The primary_activities field reflects the construction disciplines the company has self-reported (e.g., general contracting, MEP, fit-out). Coverage is strongest for MENA-region companies, though the directory includes firms from other geographies as well.
- Build a subcontractor discovery tool filtered by country or city using the
locationparameter insearch_companies - Enrich a CRM with verified contact details by calling
get_companyfor each firm in your prospect list - Map the construction supply chain in a specific region by aggregating
primary_activitiesacross paginated search results - Identify contractors by specialization using the
queryfilter and inspecting returnedcategoryandprimary_activitiesfields - Track project activity volume by comparing
projects_countacross companies returned from a keyword search - Generate qualified lead lists for construction equipment or materials sales by filtering on location and category
| 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 Protenders offer an official developer API?+
What does the `search_companies` endpoint return beyond a company name?+
id, name, slug, profile, category, locations, contacts, primary_activities, projects_count, and pagination metadata (total, total_pages, hits_per_page). The contacts and primary_activities fields are arrays whose completeness depends on what each company has listed on Protenders.Does the API return individual project details for each company?+
projects_count integer per company but does not expose individual project records, project names, values, or dates. You can fork this API on Parse and revise it to add an endpoint that retrieves per-project details for a given company.Is there a way to filter companies by construction specialization or trade?+
query parameter in search_companies can target company names and descriptions, and the response includes category and primary_activities fields you can filter client-side. There is no dedicated category filter parameter on the endpoint itself. You can fork this API on Parse and revise it to add a category-specific filter parameter.How does pagination work, and what is the maximum page size?+
page parameter is zero-indexed, so the first page is page=0. The hits_per_page parameter caps at 1,000 results per request. The response includes total and total_pages fields so you can determine how many additional requests are needed to retrieve the full result set for a given query.