Kuwait Tender Radar — CAPT Tenders & Winning Bids
Pricing
from $7.00 / 1,000 tender delivereds
Kuwait Tender Radar — CAPT Tenders & Winning Bids
Open tenders and winning bids from Kuwait's Central Agency for Public Tenders (capt.gov.kw). Clean JSON with tender number, agency, subject in Arabic and English, request and closing dates, document price and bond in KWD, and winners with award totals.
Pricing
from $7.00 / 1,000 tender delivereds
Rating
0.0
(0)
Developer
Dottti
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
4 days ago
Last modified
Categories
Share
Get Kuwait government tenders from the Central Agency for Public Tenders (CAPT) as clean JSON, CSV or Excel.
Two views:
- Open tenders: tender number, agency, subject, request date, closing date, document price and bond in Kuwaiti dinars (KWD), bid type and a direct link.
- Winning bids: the public awards list with each winner, the amount in KWD, the award meeting date and the agency.
Schedule it every morning and you have a tender alert feed for Kuwait.
Who uses this
- Contractors and suppliers bidding in Kuwait get new tenders each day, with the closing date and the cost of the documents.
- Bid teams see who won similar tenders and at what price before they price their own bid.
- Consultancies and analysts track which agencies buy what, and which companies win.
Working in Saudi Arabia or Qatar too? See Etimad Tender Radar for Saudi government tenders and Monaqasat Awards for Qatar tender awards.
Daily tender alert in 3 steps
- Pick the view
open, and add keywords for your sector, for exampleصيانةandmaintenance. - Click Save as a new task, then add a daily schedule in the Schedules tab.
- Connect the task to email, Slack or Google Sheets from the Integrations tab.
New tenders then arrive every morning. Keep maxItems at the number you want to pay for each day.
Arabic-safe search
Agencies spell the same word in different ways. This actor folds those spellings before it matches your keywords:
صيانهmatchesصيانة(ta marbuta)الوطنيmatchesالوطنى(ya and alef maqsura)انشاءmatchesإنشاء(alef and hamza forms)- Persian
یandکmatch Arabicيandك - Arabic-Indic digits
٢٠٢٦match2026
The original text is kept in a raw object, so you can still search the portal for the exact wording.
Some agencies publish the subject in both Arabic and English. The actor splits it into titleAr and titleEn. It splits only where the text itself changes script. It does not translate anything. When the agency published only Arabic, titleEn is null.
Output
Open tender
Taken from a run on 20 October 2026 (view: "open", language: "en"):
{"tenderNumber": "23/2025/2026","title": "توفير مستشارين نظم المعلومات","titleAr": "توفير مستشارين نظم المعلومات","titleEn": null,"agency": "Public Presidency for the National Guard","agencyCode": "51","bidType": "General","publishDate": "2026-10-18","publishDateText": "Oct. 18, 2026","closingDate": "2027-01-12","closingDateText": "Jan. 12, 2027","currency": "KWD","documentPriceKwd": 150,"documentPriceText": "150.000 KWD","bondKwd": null,"bondText": "0.000 KD","bondByItems": true,"alternativeOffers": "لا يقبل عروض بديلة","divisible": "قابلة للتجزئة","notes": null,"hasInitialMeeting": true,"hasSiteVisit": false,"raw": {"title": "توفير مستشارين نظم المعلومات","agency": "Public Presidency for the National Guard"},"language": "en","url": "https://capt.gov.kw/en/tenders/opening-tenders/?ministry_code=51&tender_no=23%2F2025%2F2026","sourceUrl": "https://capt.gov.kw/en/tenders/opening-tenders/","scrapedAt": "2026-10-20T12:15:34.922Z"}
Winning bid, one winner
{"itemNumber": "11","tenderNumber": "RFP-2134797","title": "خدمات الصيانة لشبكة الطرق لمنطقة حقول شركة نفط الكويت في شمال و غرب الكويت MAINTENANCE SERVICES FOR KOC FIELDS AREA ROADS NETWORK AT NORTH & WEST KUWAIT","titleAr": "خدمات الصيانة لشبكة الطرق لمنطقة حقول شركة نفط الكويت في شمال و غرب الكويت","titleEn": "MAINTENANCE SERVICES FOR KOC FIELDS AREA ROADS NETWORK AT NORTH & WEST KUWAIT","agency": "Kuwait Oil Company","agencyCode": "60","awardDate": "2026-10-14","awardDateText": "Oct. 14, 2026","currency": "KWD","winners": [{"item": null,"name": "الشركة الكويتية لبناء المعامل والمقاولات ش م ك ع","amountKwd": 10620000,"amountPercent": null,"amountText": "10,620,000.000 KD"}],"totalKwd": 10620000,"totalPercent": null,"totalText": "10,620,000.000 KD","awardedByItems": false,"itemsUrl": null,"url": "https://capt.gov.kw/en/tenders/winning-bids/"}
Winning bid, awarded item by item
{"itemNumber": "12","tenderNumber": "RFP-2143095","titleAr": "خدمات الصيانة لشبكة الطرق في مدينة الأحمدي ومناطق حقول شركة نفط الكويت في جنوب وشرق الكويت","titleEn": "MAINTENANCE SERVICES FOR ROADS NETWORK AT AHMADI TOWNSHIP AND KOC FIELDS AREA AT SOUTH &EAST KUWAIT","agency": "Kuwait Oil Company","awardDate": "2026-10-14","currency": "KWD","winners": [{ "item": "60526", "name": "الشركة الكويتية لبناء المعامل والمقاولات ش م ك ع", "amountKwd": 7575000, "amountText": "7575000.000 KD" },{ "item": "0", "name": "شركة المجموعة المشتركة للمقاولات مساهمة عامة", "amountKwd": 8645880, "amountText": "8645880.000 KD" },{ "item": "60525", "name": "شركة المجموعة المشتركة للمقاولات مساهمة عامة", "amountKwd": 10175875, "amountText": "10175875.000 KD" }],"totalKwd": null,"awardedByItems": true,"itemsUrl": "https://capt.gov.kw/en/tenders/winning-bids-popup/RFP-2143095--60"}
(Shortened. Real records carry every field shown in the first award example.)
Notes on the fields
- Dates are Kuwait calendar dates in
YYYY-MM-DD. The portal shows no time, so none is added. The original text is inpublishDateText,closingDateTextandawardDateText. - Money is in Kuwaiti dinars.
currencyis alwaysKWDand the original text sits next to every amount. - Percent totals. Some awards show a percentage, for example
-35%, in place of an amount. That value goes tototalPercentandtotalKwdstaysnull. The portal does not say what the percentage is applied to. - Bond set per item. When the bond is set per item, the portal prints
0.000 KDand puts the amounts behind a login.bondByItemsis thentrueandbondKwdisnull. - Items awarded separately. The list then shows an Items button in place of the winner. The actor opens it and returns one entry per item in
winners. The portal prints no total for these, sototalKwdisnull. Some itemised rows print one winner and- KD. Those are returned as printed. - Links. For open tenders,
urlopens the portal's own search for that one tender. Winning bids have no page of their own on the portal, sourlis the list page where the award appeared. - Missing values are
null. Nothing is guessed.
Input
| Field | What it does |
|---|---|
view | open (default) or awards. |
keywords | Words matched against the subject (both languages), agency and tender number. For awards, winner names too. Empty returns everything. |
matchMode | any (default) or all. |
agencyContains | Keep only one agency, for example Ministry of Health or وزارة الصحة. Use the language you pick in language. |
dateFrom / dateTo | YYYY-MM-DD. Open tenders use the request date. Awards use the meeting date. |
lookbackDays | How far back to go past the portal's 5-page limit when you set no dates. Default 90. |
includeItemWinners | Read the per-item winners of itemised awards. On by default. |
maxItems | Hard cap on records, and so on cost. Default 50. |
language | en or ar. Sets the language of agency names, bid type and date text. |
proxyConfiguration | A residential connection in Kuwait by default, because the portal blocks data-centre servers. The proxy cost is included in the price. |
requestDelayMs / maxRetries | Pace and retries. The defaults suit most runs. |
Example: maintenance tenders from the Ministry of Electricity and Water
{"view": "open","keywords": ["صيانة", "maintenance"],"agencyContains": "Electricity","maxItems": 100}
Example: who won maintenance work in August and September 2026
{"view": "awards","language": "ar","keywords": ["صيانه"],"dateFrom": "2026-08-01","dateTo": "2026-09-30","maxItems": 200}
How it reaches more than 50 rows
The portal lists 5 pages of 10 rows for any search. Page 6 shows page 1 again.
The actor uses the portal's own date search to go further. It checks every result against the date range it asked for. If the portal ever returns rows outside the range, the actor stops slicing by date and says so in the log. It always filters your date range locally as well.
When a date window still fills all 5 pages, the actor splits the window in half and tries again, down to a single day.
Pricing
You pay per record delivered to your dataset:
- Tender: $0.01 each ($10 per 1,000)
- Winning bid: $0.03 each ($30 per 1,000)
Only records that pass your filters and are stored are charged. maxItems caps the cost of every run. A run that is blocked before it delivers anything is charged nothing.
Notes and limits
- Cloudflare. capt.gov.kw sits behind Cloudflare. The actor runs a real Chrome browser, which normally passes the check in a few seconds with no input from anyone. The actor never solves a captcha or clicks a human check. If Cloudflare does not let the browser through, the run stops, logs a clear error, charges nothing and ends as failed. The default residential connection in Kuwait passed in our tests on Apify. Data-centre connections were blocked.
- Memory. A browser needs memory. The actor asks for at least 1,024 MB.
- Speed. A run of 15 records took 8 to 13 seconds on a laptop in our tests, plus browser start-up on the platform.
- Documents. Tender documents and the per-item bond list need a CAPT company login. The actor does not log in and does not download them.
- Category. The portal can filter by contractor category but does not print the category on each tender, so records carry no category field.
- Data source. Public pages of capt.gov.kw only. No login, no credentials, no personal data beyond the company names CAPT publishes.
Development
npm installnpm test # parser tests on saved CAPT pagesapify run --purge # local run, reads storage/key_value_stores/default/INPUT.json