Bahrain Tender Board Tenders Scraper avatar

Bahrain Tender Board Tenders Scraper

Pricing

from $3.50 / 1,000 tenders

Go to Apify Store
Bahrain Tender Board Tenders Scraper

Bahrain Tender Board Tenders Scraper

Bahrain government tenders from the Tender Board: tender number, subject, buying authority, publish, purchase and closing dates, initial bond, fees and description. Filter by keyword, authority, status or dates, and run it as a daily feed of new tenders.

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

Bahrain government tenders from the Tender Board (tenderboard.gov.bh), the body that publishes and awards public procurement for Bahraini ministries, authorities and state companies. One row per tender: tender number, subject, description, purchasing authority, publication, purchase-before and closing dates, initial bond, document fees, bid validity, contract duration and the tender's public detail page.

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

Use cases

  • Watch Bahraini government tenders by authority, keyword or closing date.
  • Build a daily feed of tenders before their offer deadline, with the bond and fees at hand.
  • Find tenders reserved for SMEs, or with an alternate bid allowed.
  • Send each opportunity straight to its official detail page for the documents.

What it returns

Every row has tenderId, tenderNumber, paReference, title, buyer, tenderType, procurementMethod, status, publishedAt, purchaseBeforeAt, deadlineAt, openingAt, description, notes, initialBond, tenderFees, bidValidityDays, contractDuration, alternateBidAllowed, smeOnly, currency, documents, url, changeType, changedFields, detailIssue, sourceQuery, source, country, scrapedAt and a few reserved fields (titleEnglish, category, estimatedValue) that stay null, explained below.

  • status is open until the printed closing date has passed, then closed.
  • Dates are ISO 8601 (YYYY-MM-DD). The portal prints dates without a time, so no time is invented.
  • description and notes are the published text, including any Arabic translation the authority added.
  • initialBond and tenderFees are in BHD. Neither is a contract estimate, so estimatedValue stays null.
  • documents is an empty list: the portal serves tender documents only through a signed-in purchase. url is the tender's official public detail page.
  • If one tender's page cannot be read, the row is still delivered with detailIssue explaining what was missing.
  • Rows are deduplicated on the portal's tender id.

Input

FieldTypeDefaultWhat it does
keywordstring""Text matched in the tender subject, e.g. maintenance.
buyerstring""Part of the purchasing authority name, e.g. Ministry of Works.
tenderNumberstring""Part of the tender number, e.g. IN/MOW/2025/559.
statusstringanyopen or closed according to the printed closing date.
publishedFrom, publishedTostring""Publication window, YYYY-MM-DD.
closingFrom, closingTostring""Offer deadline window, YYYY-MM-DD.
maxItemsinteger20Maximum tenders returned.
includeDetailsbooleantrueRead each tender's page. Slower, and gives the full description and amounts.
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 published tenders, newest first.

Example queries

Tenders closing in the next two weeks:

{
"status": "open",
"closingFrom": "2026-11-10",
"closingTo": "2026-11-24",
"maxItems": 50
}

A daily feed of new Ministry of Works tenders:

{
"buyer": "Ministry of Works",
"onlyNewSinceLastRun": true,
"stateKey": "works-daily"
}

One tender by number, with its full description:

{"tenderNumber": "IN/MOW/2025/559"}

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 dates, status, values or description 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

{"source":"tenderboard.gov.bh","country":"Bahrain","tenderId":"230460587","tenderNumber":"2/2026/MLSD (RFP/INT/MOSD/2026/2)","paReference":"RFP/INT/MOSD/2026/2","title":"Annual Comprehensive Maintenance Services for Firefighting, Fire Protection, and Fire Alarm Systems across Ministry Buildings","titleEnglish":null,"buyer":"Ministry of Social Development","category":null,"tenderType":"Internal","procurementMethod":"Public (LOCAL GCC)","status":"open","publishedAt":"2026-11-10","purchaseBeforeAt":"2026-11-23","deadlineAt":"2026-12-01","openingAt":"2026-12-02","estimatedValue":null,"currency":"BHD","documents":[],"url":"https://www.tenderboard.gov.bh/TenderDetails/?id=2%2f2026%2fMLSD+(RFP%2fINT%2fMOSD%2f2026%2f2)","changeType":null,"changedFields":null,"scrapedAt":"2026-11-10T08:36:38+00:00","sourceQuery":"published tenders","description":"The Ministry of Social Development (MOSD) intends to issue a tender for Annual Comprehensive Maintenance Services for Firefighting, Fire Protection, and Fire Alarm Systems across Ministry Buildings. Bidders wishing to participate must comply with the requirements and conditions contained in the tender documents.","notes":"ترغب وزارة التنمية الاجتماعية في طرح مناقصة خدمات الصيانة الشاملة السنوية لأنظمة مكافحة الحريق، والوقاية من الحريق، وأنظمة إنذار الحريق عبر مباني الوزارة. على مقدمي العطاءات الراغبين في المشاركة في هذه المناقصة التقيد بالمتطلبات والشروط والمواصفات والاحكام الواردة في وثائق المناقصة. The Ministry of Social Development (MOSD) intends to issue a tender for Annual Comprehensive Maintenance Services for Firefighting, Fire Protection, and Fire Alarm Systems across Ministry Buildings. Bidders wishing to participate must comply with the requirements and conditions contained in the tender documents.","initialBond":500.0,"tenderFees":15.0,"bidValidityDays":180,"contractDuration":"3 Year","alternateBidAllowed":false,"smeOnly":false,"detailIssue":null}

Limits and caveats

  • The list is the portal's published-tender window (about a year, including tenders whose closing date has passed), newest first. Use status open to skip closed ones, and read it on a schedule to keep a complete history.
  • Keyword, authority and number filters are matched against the published text, so they follow the language of the source: subjects and descriptions are usually English, with Arabic where the authority wrote it.
  • status follows the printed closing date, not a separate portal status field.
  • Tender documents stay in the portal's purchase flow; the Actor delivers the public listing and detail 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 Tender Board portal live.

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

Do I need an account? No. Published tenders and their detail pages are public.

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

What if one tender's page fails? 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.