Kuwait Government Tenders (CAPT) Scraper avatar

Kuwait Government Tenders (CAPT) Scraper

Pricing

from $3.50 / 1,000 tenders

Go to Apify Store
Kuwait Government Tenders (CAPT) Scraper

Kuwait Government Tenders (CAPT) Scraper

Kuwait government tenders from CAPT: tender number, subject, buying entity, publish and closing dates, fees, bond and meeting details, plus awarded contracts with the winning bidder and value. Filter by keyword, entity, status or dates for daily alerts.

Pricing

from $3.50 / 1,000 tenders

Rating

0.0

(0)

Developer

Philip Kirkbride

Philip Kirkbride

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Features

Limited permissions

Share

Kuwait CAPT Tenders Scraper

Kuwait government tenders from the Central Agency for Public Tenders (CAPT, capt.gov.kw), the body that runs public procurement for Kuwaiti ministries and public authorities. One row per tender: tender number, subject, purchasing entity, publication and closing dates, document price, initial bond, the pre-bid meeting, the required classification — and, for awarded contracts, the winning bidder and the awarded amount.

Use it for tender monitoring and alerts: schedule a daily run with a buying entity, keyword or date window and send the new tenders to email, Slack or a spreadsheet.

Use cases

  • Watch Kuwaiti government tenders by entity, keyword or closing date.
  • Build a daily feed of open tenders before their offer deadline.
  • Track what CAPT has awarded, to whom and for how much.
  • Match tenders against your classification: the required type and category come with each open tender.
  • Prepare for the pre-bid meeting: its date and place are included.

What it returns

Every row has tenderId, tenderNumber, title, buyer, procurementMethod, status, publishedAt, deadlineAt, awardedAt, winner, awardValue, currency, tenderFee, initialBond, classificationTypes, alternativeOffers, divisible, notes, initialMeetingAt, initialMeetingLocation, url, changeType, changedFields, detailIssue, sourceQuery, source, country, scrapedAt and a few reserved fields (titleEnglish, category, estimatedValue, documents) that stay null, explained below.

  • status is open for tenders still accepting offers and awarded for awarded contracts.
  • title is the subject exactly as published, usually in Arabic.
  • Dates are ISO 8601 (YYYY-MM-DD). CAPT prints dates without a time, so no time is invented.
  • tenderFee is the document purchase price in KWD; initialBond is the initial insurance in KWD. Neither is a contract estimate, so estimatedValue stays null.
  • classificationTypes lists the required classification rows (type and category) from the tender's classification panel, when details are on.
  • awardValue is the awarded amount in KWD. When CAPT prints a discount instead of a total, awardValue is null and awardValueText carries the printed percentage.
  • documents stays null: CAPT serves tender documents only to signed-in companies. The url is the CAPT listing page that shows the tender.
  • If one tender's extra panels cannot be read, the row is still delivered with detailIssue explaining what was missing.
  • When CAPT awards a tender item by item, winner lists each winning bidder (separated by ; ), awardValueText gives each item's printed price, and awardValue is their KWD total when every item has one. These come from the tender's items panel, read when includeDetails is on.
  • Rows are deduplicated on tender number and buying entity: CAPT reuses the same number for different entities' tenders.

Input

FieldTypeDefaultWhat it does
keywordstring""Text matched in the tender subject or notes, e.g. صيانة.
buyerstring""Part of the purchasing entity name, e.g. Ministry of Health.
statusstringopenopen tenders or awarded contracts.
publishedFrom, publishedTostring""Publication window, YYYY-MM-DD. For awarded rows, the award date.
closingFrom, closingTostring""Offer deadline window, YYYY-MM-DD. Open tenders only.
maxItemsinteger20Maximum tenders returned.
includeDetailsbooleantrueRead each open tender's meeting and classification panels, and the winners of tenders awarded by item. Slower.
onlyNewSinceLastRunbooleanfalseDeliver only tenders that are new or changed since the last run.
stateKeystring""Optional name for this search's ledger. Defaults to a key derived from the filters.

All filters are optional and can be combined. An empty input returns the latest open tenders.

Example queries

Open tenders for the Ministry of Health closing this month:

{
"buyer": "Ministry of Health",
"closingFrom": "2026-11-10",
"closingTo": "2026-11-30",
"maxItems": 50
}

A daily feed of new maintenance tenders:

{
"keyword": "صيانة",
"onlyNewSinceLastRun": true,
"stateKey": "maintenance-daily"
}

Recent awards to one entity:

{
"status": "awarded",
"buyer": "Ministry of Electricity",
"maxItems": 30
}

Use it as a daily feed

Set onlyNewSinceLastRun and run the Actor on a schedule. The first run delivers every tender that matches your filters. Later runs deliver only tenders that are new, or whose deadline, status, value, documents or award changed, with changeType set to new or changed and changedFields naming what moved. Every matched tender that did not change is skipped, and the run summary says how many were skipped. Use stateKey to keep separate ledgers for separate searches.

Output example

{"tenderId":"6/2025/2026","tenderNumber":"6/2025/2026","title":"اصلاح وصيانه جذريه وتشغيل الخدمات الفنيه واصلاح وصيانه دوريه بسيطه في الاسواق والساحات والشواطئ في دوله الكويت","titleEnglish":null,"buyer":"Kuwait Municipality","category":null,"procurementMethod":"Limited","status":"open","publishedAt":"2026-11-08","deadlineAt":"2026-12-08","awardedAt":null,"estimatedValue":null,"currency":"KWD","documents":null,"url":"https://capt.gov.kw/en/tenders/opening-tenders/?page=1","changeType":null,"changedFields":null,"tenderFee":1000.0,"initialBond":45000.0,"classificationTypes":[{"type":"الأعمال الميكانيكية","category":"الفئة الثالثة"}],"alternativeOffers":"لا يقبل عروض بديلة","divisible":"غير قابلة للتجزئة","notes":null,"initialMeetingAt":"2026-11-15","initialMeetingLocation":"بلدية الكويت- ادارة الانشاءات","winner":null,"awardValue":null,"awardValueText":null,"detailIssue":null,"sourceQuery":"status open","source":"capt.gov.kw","country":"Kuwait","scrapedAt":"2026-11-09T21:37:46+00:00"}

Limits and caveats

  • The open-tender list and the award list are the current windows: about five pages each, newest first. Read the lists on a schedule to keep a complete history.
  • Keyword and entity filters are matched against the published text, so they follow the language of the source: most tender subjects are in Arabic, while entity names are in English.
  • The tender documents and the online purchase of documents stay in the CAPT company account; the Actor delivers the public listing data.
  • If the source cannot be read, the run stops with a plain status message; rows already collected stay in the dataset.
  • If nothing matches, the run succeeds with an empty dataset.

FAQ

How fresh is the data? Every run reads the CAPT listings live.

How do I get only new tenders each day? Set onlyNewSinceLastRun and schedule a daily run. Deduplicate across runs on tenderNumber and buyer if you prefer to manage the state yourself.

Do I need a CAPT account? No. Tenders, award results, fees, bonds, meeting details and classifications are public.

What happens when nothing matches? The run succeeds with 0 rows and a plain status message.

What if one tender's extra panels fail? The row is still delivered with detailIssue set.

Price

Each saved tender is one result. When a per-event plan applies, the start event is charged per GB of memory; the default 512 MB run is one start event. The start is charged even when a search saves nothing. See the Pricing tab for current prices.

Custom sources and support

Need another Gulf or Saudi tender portal, a custom field, or a bulk or daily feed? Email automat42@outlook.com. For questions or issues, you can also contact us from the Actor page.