Discover/Protenders API
live

Protenders APIprotenders.com

Search and retrieve construction industry companies from Protenders.com. Filter by location, keyword, and category. Access contacts, projects, and certifications.

Endpoint health
verified 4d ago
search_companies
get_company
2/2 passing latest checkself-healing
Endpoints
2
Updated
26d ago

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

Try it
Page number (0-indexed)
Search keyword to filter companies by name or description
Filter by company location (country, city, or region name as listed on protenders.com). Examples: Lebanon, Dubai, UAE, Saudi Arabia, Qatar
Number of results per page (max 1000)
api.parse.bot/scraper/dfa65f6c-fd2f-412b-acde-9a7cbebe76aa/<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/dfa65f6c-fd2f-412b-acde-9a7cbebe76aa/search_companies?page=0&query=MEP&location=Lebanon&hits_per_page=5' \
  -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 protenders-com-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.

"""Walkthrough: Protenders SDK — search construction companies, drill into details."""
from parse_apis.protenders_companies_api import Protenders, CompanyNotFound

client = Protenders()

# Search for MEP companies in Lebanon — limit caps total items fetched.
for company in client.companies.search(query="MEP", location="Lebanon", limit=5):
    print(company.name, company.category, company.projects_count)

# Drill-down: take one result and inspect its contacts.
company = client.companies.search(query="contractor", location="Dubai", limit=1).first()
if company:
    print(company.name, company.slug, company.contacts.phone, company.contacts.website)

# Direct lookup by slug — typed error catch for missing companies.
try:
    detail = client.companies.get(name="barbanel")
    print(detail.name, detail.projects_value, detail.primary_activities)
except CompanyNotFound as exc:
    print(f"Company not found: {exc.name}")

print("exercised: companies.search / companies.get / CompanyNotFound catch")
All endpoints · 2 totalmissing one? ·

Full-text search across construction industry companies, filterable by location. Returns paginated results with company details including contacts, projects, and activities. Location is a facet filter (country, city, or region name as listed on the site). Omitting location returns all companies matching the query globally. Each page returns up to hits_per_page results; iterate pages 0..total_pages-1 for the full set.

Input
ParamTypeDescription
pageintegerPage number (0-indexed)
querystringSearch keyword to filter companies by name or description
locationstringFilter by company location (country, city, or region name as listed on protenders.com). Examples: Lebanon, Dubai, UAE, Saudi Arabia, Qatar
hits_per_pageintegerNumber of results per page (max 1000)
Response
{
  "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": 14,
      "companies": [
        {
          "id": "131810",
          "name": "MEP Team Pro",
          "slug": "mep-team-pro",
          "state": "registered",
          "profile": "MEP Team Pro specializes in providing top-tier consultancy services...",
          "branches": "",
          "category": "Consultant",
          "contacts": {
            "email": "[email protected]",
            "phone": "96171212368",
            "website": "www.mepteam.pro"
          },
          "locations": [
            "Lebanon",
            "Mount Lebanon Governorate",
            null
          ],
          "team_size": 0,
          "membership": "presence",
          "certificates": [],
          "main_address": null,
          "logo_public_id": "0607f8566f24cad2f48d021d45e71a1a.png",
          "projects_count": 0,
          "projects_value": "",
          "projects_sectors": [],
          "primary_activities": [],
          "secondary_activities": [],
          "ongoing_projects_count": 0,
          "ongoing_projects_value": ""
        }
      ],
      "total_pages": 3,
      "hits_per_page": 5
    },
    "status": "success"
  }
}

About the Protenders API

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.

Reliability & maintenanceVerified

The Protenders API is a managed, monitored endpoint for protenders.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when protenders.com 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 protenders.com 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
2/2 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 subcontractor discovery tool filtered by country or city using the location parameter in search_companies
  • Enrich a CRM with verified contact details by calling get_company for each firm in your prospect list
  • Map the construction supply chain in a specific region by aggregating primary_activities across paginated search results
  • Identify contractors by specialization using the query filter and inspecting returned category and primary_activities fields
  • Track project activity volume by comparing projects_count across companies returned from a keyword search
  • Generate qualified lead lists for construction equipment or materials sales by filtering on location and category
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 Protenders offer an official developer API?+
Protenders does not publish a public developer API or documented REST interface. Data access for developers is not offered through any official Protenders developer program as of mid-2025.
What does the `search_companies` endpoint return beyond a company name?+
Each result includes 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?+
Not currently. The API returns a 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?+
The 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?+
The 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.
Page content last updated . Spec covers 2 endpoints from protenders.com.
Related APIs in B2b DirectorySee all →
procore.com API
Search and discover construction projects, bids, and company profiles on the Procore Construction Network. Retrieve project details including bid status, project scope, trades required, funding type, and solicitor contact information, as well as full company profiles for subcontractors and general contractors.
thebluebook.com API
Search and retrieve company profiles from The Blue Book Building & Construction Network. Find commercial contractors by keyword, trade category (CSI code), and geographic region.
propertyfinder.ae API
Search and browse properties across the UAE, view detailed listings with agent and broker information, and discover locations all in one place. Find the perfect property, connect with real estate agents, and explore company profiles to make informed decisions.
thecompaniesapi.com API
Enrich your company database with 80+ data points per company, search by industry or company details, and discover email patterns to drive your business intelligence. Find verified company information, get pricing data, and ask contextual questions about any organization to fuel your sales, marketing, or research efforts.
evergabe-online.de API
Search and retrieve public tender opportunities from Germany's e-Vergabe platform by keywords, contract types, CPV codes, and publication dates. Access detailed tender information and discover the latest procurement opportunities across construction and other sectors.
trademo.com API
Access comprehensive global trade data to search companies, find manufacturers by country, and review detailed trade profiles, sanctions lists, and politically exposed persons (PEP) lists. Monitor global trade indices and build a complete directory of international trading partners and compliance information.
projects.worldbank.org API
Search World Bank projects and procurement opportunities across all sectors and regions to find funding information and active tenders. Retrieve detailed project information, funding breakdowns, and procurement notices.
bdtender.com API
Search and browse tender listings from Bangladesh's largest tender portal, discovering opportunities by category, organization, and location while accessing real-time tender data and site statistics. Get detailed information on individual tenders, view live postings, and see what was published today to stay updated on the latest bidding opportunities.