South Africa Government Tenders & Contract Awards (eTenders) avatar

South Africa Government Tenders & Contract Awards (eTenders)

Pricing

Pay per event

Go to Apify Store
South Africa Government Tenders & Contract Awards (eTenders)

South Africa Government Tenders & Contract Awards (eTenders)

Open tenders, contract awards (winner, rand amount, B-BBEE enterprise type), closed tenders with bidder lists, and cancellations from South Africa's National Treasury eTenders portal. Filter by keyword, province, category and organ of state, or run on a schedule to get only new tenders.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Norton Claude

Norton Claude

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

Get every South African government tender from the National Treasury eTenders portal as clean JSON, CSV or Excel: open tenders with closing dates, compulsory briefings and document download links, plus contract awards with the winning company, the rand amount and the winner's B-BBEE enterprise type, closed tenders with the list of bidders, and cancellations.

All organs of state publish here: national and provincial departments, all 257 municipalities, SOEs such as Eskom, Transnet, PRASA and SANRAL, water boards, universities and TVET colleges. On a typical day the portal carries about 2,200 open tenders.

What makes this actor different

  • Contract awards, not just adverts. See who won, for how much, and whether the winner is an EME, QSE or large enterprise (GEN). Track competitors, price your next bid, or find newly funded contractors to sell to.
  • Bidder lists for closed tenders, where the buyer published one.
  • Tender alerts. Switch on Only new since my last run, schedule it daily, and connect Slack, email or Google Sheets. You only pay for tenders you haven't seen before.
  • Filters that match how people search for tenders: keywords, province, category, buyer (organ of state), tender type, closing within N days, compulsory briefing only, e-submission only, minimum award value.
  • Direct document links to the advert and bid pack PDFs.
  • Clean fields: SA dates with the +02:00 offset, award amounts parsed from "R551 189,00" into numbers, days left until closing.

Who uses it

  • Suppliers, contractors and consultants who bid on government work and want a daily feed of relevant tenders.
  • Tender alert services, bid offices and B-BBEE consultants who need structured data instead of the portal's paged table.
  • Sales and BD teams selling to companies that just won government contracts (finance, staffing, equipment hire, insurance).
  • Journalists, researchers and civic tech projects analysing public procurement.

How to use it

  1. Pick What to fetch: open tenders, contract awards, closed tenders or cancelled tenders.
  2. Add filters if you want them (all optional). Within a list, any match counts; different filters must all match.
  3. Click Start. Download the results as JSON, CSV, Excel or HTML, or read them through the Apify API.

For alerts, create a Task with your filters, tick Only new since my last run, give the alert a name, and add a daily Schedule. Use a different alert name for each saved search.

Example inputs

Security and cleaning tenders in the Western Cape closing in the next 14 days:

{
"mode": "open",
"keywords": ["security", "cleaning"],
"provinces": ["Western Cape"],
"closingWithinDays": 14
}

Construction awards over R1 million posted in the last 30 days:

{
"mode": "awarded",
"categories": ["Construction"],
"minAwardAmountZar": 1000000,
"awardedWithinDays": 30
}

Daily alert for City of Cape Town and Eskom tenders:

{
"mode": "open",
"organsOfState": ["City of Cape Town", "Eskom"],
"onlyNew": true,
"stateKey": "cpt-eskom-daily"
}

Output

One row per tender. Open tender example (shortened):

{
"tenderId": 174247,
"tenderNumber": "TDR31/2026/2027",
"description": "PROVISION OF BANKING SERVICES",
"status": "Published",
"category": "Financial service activities, except insurance and pension funding",
"tenderType": "Request for Bid(Open-Tender)",
"organOfState": "Mossel Bay Municipality",
"province": "Western Cape",
"datePublished": "2026-10-16",
"closingDate": "2026-12-18T12:00:00+02:00",
"daysUntilClosing": 62,
"briefingSession": true,
"briefingCompulsory": true,
"briefingDate": "2026-11-02T12:00:00+02:00",
"briefingVenue": "A compulsory online briefing meeting via Microsoft Teams.",
"deliveryAddress": "101 Marsh Street-Mossel Bay municipality-Mossel Bay-6500",
"eSubmission": false,
"bidValidityDays": 120,
"enquiriesContactPerson": "Mr Hennie le Roux",
"enquiriesEmail": "hleroux@mosselbay.gov.za",
"enquiriesPhone": "044-606-5267",
"documentCount": 2,
"documents": [
{ "name": "31-2026-2027 ADVERT.pdf", "url": "https://www.etenders.gov.za/home/Download?blobName=..." }
],
"source": "eTenders Portal, National Treasury (etenders.gov.za)",
"scrapedAt": "2026-10-16T18:04:29.983Z"
}

Award rows add:

{
"awardedTo": "AUMANAT",
"totalAwardAmountZar": 551189,
"awardDate": "2026-10-14",
"awardPostedDate": "2026-10-16",
"awards": [
{ "awardedTo": "AUMANAT", "enterpriseType": "EME", "awardAmountZar": 551189, "awardAmountText": "R551 189,00", "awardDate": "2026-10-14", "awardPostedDate": "2026-10-16" }
]
}

Closed tender rows add bidders (company names), bidderCount and closedReason. Cancelled rows add cancellationReason and cancelledDate.

FieldMeaning
tenderNumberBuyer's tender reference
organOfStateThe department, municipality or entity buying
provinceProvince, or "National" for national bodies
closingDateBid deadline, SA time
daysUntilClosingWhole days left (open tenders)
briefingCompulsory, briefingDate, briefingVenueBriefing session details
enquiriesContactPerson, enquiriesEmail, enquiriesPhoneThe buyer's official enquiries contact, as published
documentsAdvert and bid document download links
awardedTo, totalAwardAmountZar, awards[]Winner(s), amount in rand, enterprise type (awards mode)
biddersBidding companies (closed mode, where published)

Pricing

Pay per result, no subscription:

  • $0.002 per tender (open, closed or cancelled), so all ~2,200 open tenders cost about $4.40 and a filtered daily alert usually costs cents.
  • $0.003 per contract award.

Set Max results or a maximum cost per run to cap spend. With Only new since my last run, repeat tenders are free.

Good to know

  • Open tenders are fetched in full every run (about 2,200 records, a minute or two). Award runs look back through tenders advertised in the last ~10 months to find awards posted recently, which takes longer.
  • The eTenders portal returns a server error for a small share of award records. The actor isolates and skips those records instead of failing, and logs how many it skipped.
  • Dates on the portal are South African time; the actor adds the +02:00 offset.
  • Awards appear on eTenders when the buyer posts them, often weeks after the closing date, and not every buyer posts awards.

Data source and privacy

Data comes from the public eTenders Portal run by National Treasury (etenders.gov.za); National Treasury publishes the same data as open data under the Open Data Commons Public Domain Dedication and License. The actor outputs only what tender notices publish. For personal information it keeps only the buyer's official enquiries contact as published on the notice. It does not output portal user accounts, staff upload addresses, or the winning bidder's contact person and phone number. If you process the data, you are responsible for your own compliance with POPIA, including its rules on direct marketing.

This actor is independent and is not affiliated with or endorsed by National Treasury.

Feedback

Missing a field, a filter or a source (for example Eskom's or a metro's own tender pages)? Open an issue on the actor's Issues tab and it will be looked at.

Changelog

  • 1.0: First release. Open, awarded, closed and cancelled tenders; filters; only-new alerts; document links.