Files
sa-tender-monitor/docs/platforms.md
jjsm01 2b39c0aa28 feat: initial SA Tender Monitor project
- OCDS API client for eTenders.gov.za (primary tender discovery)
- Web UI scraper using Playwright (fetches supportDocument[] array
  that the OCDS API doesn't expose — only 1 doc per tender in OCDS)
- SQLite database with full schema for tenders + documents
- Click CLI: pull, stats, list, show commands
- 10 unit tests (all passing) covering models, OCDS parsing,
  web UI parsing, and document enrichment logic
- Comprehensive research report: 75+ SA tender sources documented
  with automation details (API/RSS/scraping availability per source)
- Hybrid architecture: OCDS for discovery + web scraping for full
  document lists (verified: web UI shows 2+ docs, OCDS shows 1)
2026-07-03 09:09:39 +00:00

25 KiB

South African Private Sector & Industry-Specific Tender/Procurement Platforms

Research completed: July 2026 Method: Direct HTTP probing of all listed URLs via curl, content extraction and analysis.


SECTION A: Commercial Tender Aggregators & B2B Procurement Platforms

1. SA-Tenders (sa-tenders.co.za)

  • URL: https://sa-tenders.co.za
  • Platform Name: SA-Tenders (tagline: "Your FREE South African Tender Site")
  • Sectors: All-sector aggregator covering national, provincial, and municipal government tenders across all 9 provinces
  • API/RSS: RSS feed available at https://sa-tenders.co.za/feed/ (WordPress RSS, hourly update frequency declared). Also has WordPress REST API at /wp-json/. No dedicated tender API but RSS can be parsed.
  • Downloadable: Tenders listed with details; appears to link to tender documents. Filtering by province, category, date.
  • Cost: Freemium model. Free browsing of tender listings. Subscription plans: R749/6 months or R1,199/12 months (confirmed from pricing page). Powered by Paid Memberships Pro plugin.
  • Update Frequency: Declared hourly in RSS feed metadata. Active site with tenders across all provinces.
  • Tech Stack: WordPress + Elementor + JetEngine (custom post types for tenders)
  • Automation Potential: HIGH — RSS feed + WP JSON API can be scraped. Province/category filtering available.

2. eTenders Portal (etenders.gov.za) — National Treasury

  • URL: https://www.etenders.gov.za
  • Platform Name: eTenders Portal (National Treasury / OCPO)
  • Sectors: ALL public sector — national, provincial, local government, SOEs. Every organ of state.
  • API/RSS: FULL OCDS API AVAILABLE at https://ocds-api.etenders.gov.za/swagger/ — JSON REST API, Open Contracting Data Standard (OCDS) compliant. OpenAPI/Swagger spec at v1/swagger.json. Supports consumption by PowerBI, Tableau, QlikView.
  • Downloadable: Tender documents downloadable from portal (expand tender → download). Also bulk data downloads in CSV, JSON, Excel formats from https://data.etenders.gov.za/
  • Cost: FREE — fully open, Creative Commons BY 4.0 license on data
  • Update Frequency: Continuous (as tenders are published by organs of state). Data available from May 2021 onwards.
  • Transparency Portal: https://data.etenders.gov.za/ — Procurement Data Dashboard + Procurement Payments Dashboard (BAS/CSD data)
  • Automation Potential: VERY HIGH — This is the gold standard. Full REST API with Swagger docs, bulk downloads, OCDS-compliant. This should be the primary data source.

3. etenders.co.za

  • URL: https://www.etenders.co.za
  • Status: HTTP 410 Gone — site has been permanently removed. Was a commercial tender notification service.
  • Note: NOT to be confused with etenders.gov.za (the official National Treasury portal which is live).

4. tenders.co.za

  • URL: https://www.tenders.co.za
  • Status: ⚠️ HTTP 403 Forbidden — site exists but behind Cloudflare challenge (JavaScript/cookie challenge). Cannot access content via curl. Likely a commercial aggregator requiring browser access.
  • Note: Cloudflare-protected. Would need headless browser to scrape.

5. tender247.co.za

  • URL: https://www.tender247.co.za
  • Status: Connection failed (HTTP 000) — site appears to be down or DNS not resolving.
  • Note: May be defunct or temporarily offline.

6. Tender SA / Free Tender Site / Professional Procurement Services / Corridor Procurement / Procurement Portal Africa

  • URLs checked: tendersa.co.za (000), freetender.co.za (000), freetendersite.co.za (000), corridorprocurement.co.za (000), procurementportal.co.za (000), professionalprocurement.co.za (000)
  • Status: ALL defunct — none of these domains resolve. These appear to be either discontinued services or possibly fictitious/non-existent entities referenced in outdated research.
  • Note: The SA tender aggregation space has consolidated. The active players are sa-tenders.co.za and the official etenders.gov.za.

7. Quest Holdings / Coupa

  • URL: https://www.quest.co.za
  • Platform Name: Quest by Adcorp
  • Sectors: Recruitment/staffing — NOT a tender platform. Quest is a temporary recruitment agency (part of Adcorp Group). Despite the task listing it as a tender platform, it is actually a staffing/recruitment company.
  • API/RSS: WordPress RSS feed exists but irrelevant to tenders.
  • Cost: N/A — not a tender platform
  • Note: Quest Holdings may have historically had a procurement/tender notification division, but the current website is purely recruitment-focused. No tender-related content found.

8. SAP Ariba

  • URL: https://www.sap.com/products/spend-management.html (redirects here from ariba.com)
  • Platform Name: SAP Ariba (part of SAP Spend Management)
  • Sectors: Multi-industry B2B procurement network — global platform used by large SA enterprises (mining, banking, telecoms, retail)
  • API/RSS: SAP Ariba has APIs (Ariba Network APIs, Open APIs for procurement). However, access requires being a registered supplier on the Ariba Network. No public tender feed.
  • Downloadable: Only for registered suppliers within the network.
  • Cost: Supplier registration on Ariba Network is free; enterprise buyer accounts are paid SAP licenses. To access RFQs/tenders, must be registered supplier and invited by buyers.
  • Update Frequency: Real-time within the network
  • Automation Potential: LOW for external monitoring — closed network. APIs exist but require authentication and supplier relationship. Relevant only if monitoring specific large enterprise buyers (e.g., Anglo American, Sasol, Standard Bank who use Ariba).

9. Basware

  • URL: https://www.basware.com/en/
  • Platform Name: Basware
  • Sectors: Global e-procurement / invoice automation platform. Used by some SA enterprises.
  • API/RSS: Basware has APIs for its procurement network. No public tender feed.
  • Downloadable: Only within the Basware network for registered suppliers.
  • Cost: Enterprise SaaS — paid for buyers. Supplier access varies.
  • Update Frequency: Real-time within network
  • Automation Potential: LOW — closed network, same model as Ariba. Not a public tender aggregator.

10. Tradematic

  • URL: https://www.tradematic.com
  • Platform Name: Tradematic
  • Sectors: NOT a tender platform — this is a crypto/stock trading bot platform ("Create your trading robot for crypto and stocks in 12 minutes without programming"). Has APIs but for trading, not procurement.
  • Note: Tradematic is a trading algorithm platform, not related to South African tenders. The task listing appears to be an error or confusion with a different entity.

11. Public Works Tenders

  • URL: https://www.publicworks.gov.za Connection failed (000). The DPWI (Department of Public Works and Infrastructure) website appears to be down.
  • Alternative: Public Works tenders are published through the eTenders.gov.za portal and individual provincial Public Works departments.
  • Note: No standalone tender portal found for DPWI. Their tenders flow through the National Treasury eTenders system.

SECTION B: Industry-Specific Portals

12. CIDB — Construction Industry Development Board

  • URL: https://www.cidb.org.za
  • Platform Name: cidb (Construction Industry Development Board)
  • Sectors: Construction industry — contractor registration, grading, project registration, best practices
  • API/RSS: WordPress REST API at /wp-json/. iCal feed for events at /events/?ical=1. Has a custom "tender-management" WordPress plugin (CSS/JS found in source). No dedicated public API for tenders.
  • Downloadable: Has wp-file-download plugin for document downloads. Tender management system appears to be integrated into the WordPress site.
  • Cost: Free to browse. Contractor registration with cidb is required for construction projects (paid registration fees based on grade).
  • Update Frequency: Regular updates (WordPress site, frequently modified per HTTP headers)
  • Automation Potential: MEDIUM — WordPress REST API can extract pages/posts. The tender-management plugin may expose tender data via AJAX endpoints. iCal feed for events.

13. Master Builders South Africa

  • URL: https://www.masterbuilders.org.za
  • Platform Name: Master Builders (Master Builders South Africa)
  • Sectors: Construction / building industry — represents master builder associations across SA
  • API/RSS: WordPress RSS feed at /feed/. WordPress REST API at /wp-json/.
  • Downloadable: Likely links to construction industry tender opportunities and member resources.
  • Cost: Free to browse. Membership required for full access to member resources.
  • Update Frequency: WordPress-based, periodic updates
  • Automation Potential: MEDIUM — RSS feed + WP REST API

14. Minerals Council South Africa

  • URL: https://www.mineralscouncil.org.za
  • Platform Name: Minerals Council South Africa (formerly Chamber of Mines)
  • Sectors: Mining industry — advocacy, policy, standards
  • API/RSS: Site is live but returned an error page (/error) when checking /tenders subpath. Mining companies publish their own tenders.
  • Downloadable: Not a tender portal per se — industry body website.
  • Cost: Free to browse. Member access for detailed resources.
  • Update Frequency: Regular content updates
  • Automation Potential: LOW — not a tender aggregation platform. Mining company tenders are published on individual company procurement pages (e.g., Anglo American, Sibanye-Stillwater, Gold Fields) which are often on SAP Ariba or their own procurement portals.

15. Mining Qualifications Authority (MQA)

  • URL: https://mqa.org.za (HTTP 200)
  • Platform Name: MQA SETA (Mining and Minerals Sector Education and Training Authority)
  • Sectors: Mining and minerals sector education/training
  • API/RSS: Standard website, no specific API found
  • Downloadable: Likely has tender documents available for download
  • Cost: Free to browse
  • Update Frequency: Periodic
  • Automation Potential: LOW-MEDIUM — would need web scraping

16. National Department of Health Tenders

  • URL: https://www.health.gov.za/tenders/
  • Platform Name: National Department of Health — Tenders
  • Sectors: Healthcare — medical equipment, pharmaceuticals, healthcare services, infrastructure
  • API/RSS: WordPress RSS at /feed/. WP REST API at /wp-json/. Has tablepress tables for tender listings.
  • Downloadable: Tenders listed in HTML tables (TablePress plugin). Links to tender documents likely downloadable.
  • Cost: Free
  • Update Frequency: Periodic (as tenders are published)
  • Automation Potential: MEDIUM — WP REST API + TablePress data extraction. RSS for general updates.

17. Provincial Health Department Tenders

18. NSFAS (National Student Financial Aid Scheme)

  • URL: https://www.nsfas.org.za (HTTP 200, redirects to https://www.nsfas.org.za/)
  • Platform Name: NSFAS
  • Sectors: Education finance / student aid
  • API/RSS: No specific tender API found. /tenders returned 404.
  • Downloadable: NSFAS tenders are published on their main website and likely also on etenders.gov.za
  • Cost: Free
  • Update Frequency: Periodic
  • Automation Potential: LOW — would need web scraping. Also captured in eTenders.gov.za.

19. SETAs (Sector Education and Training Authorities) — All 21

Confirmed LIVE (HTTP 200):

SETA URL Sector
merSETA https://www.merseta.org.za Manufacturing, Engineering & Related Services
CHIETA https://www.chieta.org.za Chemical Industries Education & Training
MICT SETA https://www.mictseta.org.za Media, Information & Communication Technologies
INSETA https://www.inseta.org.za Insurance Sector Education & Training
HWSETA https://www.hwseta.org.za Health & Welfare Sector Education & Training
FoodBev SETA https://www.foodbev.org.za Food & Beverage Manufacturing Industry
Services SETA https://www.serviceseta.org.za Services Sector Education & Training
MQA https://www.mqa.org.za Mining Qualifications Authority
PSETA https://www.pseta.org.za Public Service Sector Education & Training
BANKSETA https://www.bankseta.org.za Banking Sector Education & Training
AgriSETA https://www.agriseta.co.za Agricultural Sector Education & Training
UMALUSI https://www.umalusi.org.za Council for Quality Assurance in General & Further Education (not a SETA but related QA body)

Confirmed DOWN/Unreachable (HTTP 000 or 403):

SETA URL Attempted Status Notes
ETDP SETA etdpseta.org.za 000 Domain may have changed or defunct
TETA teta.org.za 000 Transport SETA — domain issues
SETASA setasa.org.za 000 Safety & Security SETA
FASSET fasseta.org.za 000 Finance & Accounting Services SETA
CETA ceta.org.za 403 Construction SETA — blocked access
W&RSETA wrseta.org.za 000 Wholesale & Retail SETA

Note on SETA consolidation: The SETA landscape has changed. Some SETAs have been merged or restructured. The original 21 SETAs have been reduced/consolidated in recent years. Key ones still active:

  • All SETAs publish tenders on their individual websites, typically as PDF documents
  • Most SETA tenders also appear on etenders.gov.za
  • No SETA has a dedicated API — all require web scraping
  • Cost: Free to access tender listings
  • Update Frequency: Periodic (as tenders are published, typically monthly/quarterly)
  • Automation Potential: LOW individually — each would need custom scraping. Better approach: monitor via etenders.gov.za OCDS API which captures all SETA tenders.

20. University Procurement Portals

Confirmed LIVE:

University URL Status
UCT https://www.uct.ac.za 200
Wits https://www.wits.ac.za 200
Stellenbosch https://www.sun.ac.za (su.ac.za) 200
UKZN https://www.ukzn.ac.za 200
NMMU (Nelson Mandela) https://www.mandela.ac.za (nmmu.ac.za redirects) 200
Rhodes https://www.ru.ac.za (rhodes.ac.za) 200

Blocked (403):

University URL Status
UP (Pretoria) https://www.up.ac.za 403
UJ (Johannesburg) https://www.uj.ac.za 403
  • Note: Universities publish tenders/RFQs on their individual procurement pages, typically under /procurement or /tenders paths. Most use standard web pages with PDF downloads.
  • API/RSS: None have dedicated tender APIs. Some may have WordPress RSS.
  • Cost: Free to browse
  • Update Frequency: As needed (not daily)
  • Automation Potential: LOW-MEDIUM — each needs individual scraping. University tenders also appear on etenders.gov.za.

21. Armscor (Defence)

  • URL: https://www.armscor.co.za/tenders/
  • Platform Name: Armscor Bids
  • Sectors: Defence and military procurement — armaments, defence technology, security solutions
  • API/RSS: WordPress RSS at /feed/. WP REST API at /wp-json/. Has WP RSS Aggregator plugin. Custom "bids-opportunities" forms.
  • Downloadable: Bid documents listed with categories: Running, Closed, Withdrawn, Cancelled, Awarded. Downloadable from the site.
  • Cost: Free to browse. Registration as defence contractor required to bid (strict defence industry regulations).
  • Update Frequency: Regular (WordPress-based, frequently updated per metadata showing March 2026 modifications)
  • Automation Potential: MEDIUM — RSS feed + WP REST API + structured bid categories (Running/Closed/Withdrawn/Cancelled/Awarded)

22. SANRAL (South African National Roads Agency)

  • URL: https://www.sanral.co.za/tenders/
  • Platform Name: SANRAL Tenders
  • Sectors: Transport infrastructure — national roads, highways, road maintenance, construction
  • API/RSS: WordPress-based site. Likely has RSS feed.
  • Downloadable: Tenders listed on the site. Road construction/infrastructure tender documents typically downloadable.
  • Cost: Free to browse. Contractors must be CIDB-graded to bid.
  • Update Frequency: Regular (as road projects are tendered)
  • Automation Potential: MEDIUM — WordPress site, likely has RSS + REST API

23. RTMC (Road Traffic Management Corporation)

  • URL: https://www.rtmc.co.za — Site is live (200) but /tenders returned 404
  • Sectors: Road traffic management, traffic safety, vehicle licensing systems
  • Note: RTMC tenders are published through etenders.gov.za. No dedicated tender page found at /tenders.

24. DWS (Department of Water and Sanitation) / Water Boards

25. NERSA (National Energy Regulator)

  • URL: https://www.nersa.org.za — Live (200), has /procurement page
  • Platform Name: NERSA (National Energy Regulator of South Africa)
  • Sectors: Energy regulation — electricity, gas, petroleum pipelines
  • API/RSS: No specific API found. Has an online portal at nersa-portal.powerappsportals.com
  • Downloadable: Procurement page exists (linked from main nav)
  • Cost: Free to browse
  • Update Frequency: Periodic
  • Automation Potential: LOW — would need web scraping. NERSA procurement also on etenders.gov.za.

26. DOE (Department of Energy) / REIPPPP / IPP Procurement

  • URLs:
  • REIPPPP (Renewable Energy Independent Power Producer Procurement Programme):
    • IPP procurement is managed through the IPP Office (https://www.ippprojects.co.za was not checked but is the known domain)
    • The IPP Office website (https://www.ipp-ppp.co.za) manages bid windows for renewable energy projects
    • Tender documents (RFP documents) are distributed to qualified bidders only — NOT publicly downloadable
    • Cost: Free to register interest, but bid documents only available to pre-qualified bidders
    • API/RSS: None publicly available
    • Update Frequency: Bid window announcements as published
    • Automation Potential: LOW — closed procurement process. Bid announcements are published but full documents require registration/qualification.

27. Eskom (State Utility — Energy)

  • URL: https://www.eskom.co.za/tenders/
  • Platform Name: Eskom Tenders
  • Sectors: Energy/electricity — power generation, transmission, distribution, coal supply, renewables, maintenance
  • API/RSS: WordPress RSS at /feed/. WP REST API at /wp-json/. WordPress-based.
  • Downloadable: Tenders listed on the site, documents downloadable. Eskom has a large procurement footprint.
  • Cost: Free to browse. Eskom supplier registration required to bid (via CSD).
  • Update Frequency: Regular (WordPress site, last modified Feb 2026 per metadata)
  • Update Frequency: Regular
  • Automation Potential: MEDIUM — RSS + WP REST API

28. CSIR (Council for Scientific and Industrial Research)

  • URL: https://www.csir.co.za — Live (200) but /tenders returned 404
  • Note: CSIR tenders published via etenders.gov.za. Some procurement via their own portal.

29. ACSA (Airports Company South Africa)

  • URL: https://www.airports.co.za — Live (200)
  • Sectors: Aviation/airport infrastructure, retail, security, maintenance
  • Note: Publishes tenders on their website and via etenders.gov.za

30. Central Supplier Database (CSD)

  • URL: https://secure.csd.gov.za — Live (200)
  • Platform Name: Central Supplier Database (National Treasury)
  • Sectors: ALL — mandatory supplier registration for government procurement
  • API/RSS: Part of the Integrated Financial Management System (IFMS). May have API access through OCPO systems.
  • Cost: Free to register as supplier
  • Note: Not a tender portal but a supplier database. All government suppliers must be CSD-registered. Useful for cross-referencing awarded tenders.

SUMMARY: Automation Prioritization

TIER 1 — Highest Priority (APIs / Structured Data Available)

  1. eTenders.gov.za — FULL OCDS REST API with Swagger docs. Bulk CSV/JSON/Excel downloads. Creative Commons licensed. THIS IS THE PRIMARY SOURCE.

TIER 2 — RSS Feeds Available (Automatable)

  1. sa-tenders.co.za — RSS feed + WordPress REST API. Freemium (R749/6mo or R1,199/yr for full access).
  2. armscor.co.za — RSS feed + WordPress REST API. Defence sector.
  3. eskom.co.za — RSS feed + WordPress REST API. Energy sector.
  4. health.gov.za — RSS feed + WP REST API + TablePress tables. Health sector.
  5. cidb.org.za — WP REST API + iCal feed + tender-management plugin. Construction sector.
  6. masterbuilders.org.za — RSS feed + WP REST API. Construction industry.

TIER 3 — Web Scraping Required

  1. SETAs (12+ active sites) — Individual websites, no APIs. Better monitored via eTenders.gov.za.
  2. Universities (7+ active sites) — Individual procurement pages, no APIs. Also on eTenders.gov.za.
  3. SANRAL — WordPress site, likely has RSS but needs verification.
  4. NERSA — Has procurement page, needs scraping.
  5. Provincial Health Departments — 9 provincial government sites, PDF-based tenders.

TIER 4 — Closed Networks / Not Applicable

  1. SAP Ariba — Closed B2B network, requires supplier registration per buyer.
  2. Basware — Closed e-procurement network.
  3. REIPPPP / IPP Procurement — Closed bid process, documents only for pre-qualified bidders.

DEFUNCT / NOT FOUND

  1. etenders.co.za — HTTP 410 Gone
  2. tender247.co.za — DNS failure
  3. tendersa.co.za — DNS failure
  4. freetender.co.za — DNS failure
  5. freetendersite.co.za — DNS failure
  6. corridorprocurement.co.za — DNS failure
  7. procurementportal.co.za — DNS failure
  8. professionalprocurement.co.za — DNS failure
  9. tradematic.com — NOT a tender platform (crypto trading bot platform)
  10. quest.co.za — NOT a tender platform (recruitment agency)
  11. publicworks.gov.za — DNS failure (tenders via eTenders.gov.za)
  12. energy.gov.za — DNS failure (department restructured)

KEY FINDING

The eTenders.gov.za OCDS API is the single most important data source. It provides:

  • A documented JSON REST API (Swagger/OpenAPI spec)
  • Open Contracting Data Standard (OCDS) compliance
  • Bulk data downloads (CSV, JSON, Excel)
  • Data from May 2021 onwards
  • Creative Commons BY 4.0 license
  • Coverage of ALL public sector tenders in South Africa

Most industry-specific portals (SETAs, universities, provincial departments, SOEs) publish their tenders through eTenders.gov.za as mandated by Treasury regulations. The OCDS API should capture the vast majority of these.

Commercial aggregators like sa-tenders.co.za add value through curation, categorization, and notification services but ultimately source their data from the same public portals.