Jordan Tender Radar — JONEPS Government Tenders (Arabic-safe) avatar

Jordan Tender Radar — JONEPS Government Tenders (Arabic-safe)

Pricing

from $3.50 / 1,000 tender delivereds

Go to Apify Store
Jordan Tender Radar — JONEPS Government Tenders (Arabic-safe)

Jordan Tender Radar — JONEPS Government Tenders (Arabic-safe)

Live Jordanian government tenders from JONEPS with Arabic-safe keyword matching. Clean JSON: buying entity, tender type, publish date, submission deadline, tender document price in JOD, stage and a direct tender link.

Pricing

from $3.50 / 1,000 tender delivereds

Rating

0.0

(0)

Developer

Dottti

Dottti

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

Search live Jordanian government tenders published on JONEPS, the Jordan Online E-Procurement System, and get them back as clean JSON, CSV or Excel.

Filter by keyword, buying entity, tender type, publish date and submission deadline. Schedule it to run every morning and you have a tender alert for your sector.

Who uses this

  • Suppliers and contractors get a daily list of new tenders they can bid on.
  • Bid teams see the deadline, the tender document price in JOD and the buying entity in one row.
  • Consultancies and resellers watch several sectors or ministries for their clients.

Working in Saudi Arabia too? See Etimad Tender Radar for Saudi government tenders.

What you get

One record per tender. This record comes from a real run on 20 October 2026, with Include tender details switched on:

{
"tenderNumber": "2026004305-00",
"title": "فتح و تعبيد و كشط و خلطة اسفلتية في شوارع بلدية غرب اربد",
"titleRaw": "فتح و تعبيد و كشط و خلطة اسفلتية في شوارع بلدية غرب اربد ",
"titleEn": "road constructions",
"entity": "بلدية غرب اربد",
"entityCode": "91210300",
"tenderType": "أشغال",
"tenderTypeCode": "EP0015",
"category": null,
"procurementMethod": "المناقصة العامة",
"localOrInternational": "local",
"tenderStatus": "نشر دعوة عطاء",
"publishDate": "2026-10-20",
"publishedAt": "2026-10-20T14:02:00+03:00",
"submissionDeadlineDate": "2026-11-01",
"submissionDeadline": "2026-11-01T11:00:00+03:00",
"enquiryDeadline": "2026-10-28T14:00:00+03:00",
"openingDate": "2026-11-01T12:00:00+03:00",
"isOpen": true,
"currency": "JOD",
"documentPriceJod": 200,
"documentPriceRaw": "200.000 JOD",
"feePaymentDeadline": "2026-11-01T09:00:00+03:00",
"bidBond": "3% قيمة كفالة الدخول يجب ايداع كفالة الدخول في صندوق العطاءات قبل موعد نهاية ايداع العروض",
"submissionPlace": "تودع الكفالات ورقيا في صندوق العطاءات في مركز بلدية غرب اربد غرفة 207",
"url": "https://www.joneps.gov.jo/ep/invt/WorkDetails.do?tendNo=2026004305&tendSeq=00&..."
}

Notes on the fields:

  • Without details you get the list fields: tender number, title, buying entity, tender type, procurement method, local or international, publish date, deadline date, stage and link. Detail fields are null.
  • With details each tender also gets exact deadline and opening times, the tender document price, the bid bond, the English title, the description and the entity code.
  • Money is Jordanian dinars. The currency field says JOD and the price field name ends in Jod. documentPriceRaw keeps the text exactly as JONEPS shows it.
  • Times are Amman time (UTC+3), written as ISO 8601 with the +03:00 offset.
  • Missing values are null. When JONEPS leaves a field empty, the Actor does not guess. Some tenders, for example many medicine tenders, publish no document price.
  • titleRaw keeps the title exactly as published, so you can still search the portal for it.
  • url opens the tender on JONEPS.

Arabic-safe matching

JONEPS titles spell the same word in different ways. The same week can have خلطة اسفلتية and بالخلطه الاسفلتيه. A plain text search finds one and misses the other.

This Actor folds the common variants before matching:

  • أ إ آ ا all match each other
  • ة matches ه, and ى matches ي
  • diacritics and tatweel (ـ) are ignored
  • Arabic-Indic digits (٢٠٢٦) match Western digits (2026)

The output text itself is never changed beyond whitespace cleanup.

Input

FieldWhat it does
keywordsWords matched against title, buying entity, tender number and type. Empty returns everything the other filters allow.
matchModeany (default) or all.
entityContainsKeep only tenders from buying entities whose name contains this text, for example وزارة الصحة or بلدية.
statusopen (default): deadline today or later. all: closed tenders too.
tenderTypesEP0011 supplies, EP0012 services, EP0014 technical services, EP0015 works, EP0016 medicines.
localOrInternationallocal, international, or empty for both.
publishedFrom / publishedToPublish date window, YYYY-MM-DD. JONEPS applies it on its side.
deadlineFrom / deadlineToSubmission deadline window, YYYY-MM-DD.
maxItemsHard cap on delivered tenders, and therefore on cost. Default 100.
includeDetailsAdds deadline times, document price in JOD, bid bond and more. Three extra small requests per tender.
requestDelayMsPause before each request. Minimum 1,000 ms.
maxRetriesRetries per request on timeouts, 429 and 5xx.

Example: works tenders from municipalities, closing within two weeks

{
"status": "open",
"tenderTypes": ["EP0015"],
"entityContains": "بلدية",
"deadlineTo": "2026-11-03",
"includeDetails": true,
"maxItems": 200
}

Example: IT and computer tenders published since yesterday

{
"keywords": ["حاسوب", "حواسيب", "شبكات", "برمجيات", "computer"],
"matchMode": "any",
"publishedFrom": "2026-10-19",
"includeDetails": true,
"maxItems": 100
}

Daily tender alert in 3 steps

  1. Set your filters. For a daily feed, keep status on open and add your keywords or tender types.
  2. Click Save as a new task. In the task, open Schedules and add a daily schedule, for example 07:00 Amman time.
  3. Open the task's Integrations tab and connect email, Slack or Google Sheets. New tenders then arrive every morning.

Tip: to receive only new tenders, set publishedFrom to yesterday's date in the task, or remove duplicates by tenderNumber in your sheet.

Pricing

Pay per tender delivered. You are charged only for tenders that pass your filters and are stored in your dataset. maxItems caps the spend of any run.

Limits

  • Data comes from the public JONEPS tender list. No login, no credentials, no personal data.
  • JONEPS is slow at times. Each list page of 100 tenders usually takes 2 to 6 seconds, and requests are spaced at least one second apart. Timeouts are retried with backoff.
  • With status: all and no deadline dates, JONEPS applies its own default window: deadlines from one month ago to two months ahead. Set deadlineFrom and deadlineTo to search further back. A window covering 2025 and 2026 returned 7,461 tenders in testing, and deep pages loaded normally.
  • Awarded tenders are not included. JONEPS's final-award list did not load within 280 seconds in testing.
  • The stage field shows the last step JONEPS marks as reached in its progress bar. Newly published tenders often have no step marked yet, so stage is null for them. tenderStatus (with details) gives the portal's own status text.
  • Keyword matching uses the list fields. The English title and the description from the detail pages are returned, but they are not searched.
  • Tender documents are not downloaded. The record links to the tender page on JONEPS.

Development

npm install
npm test # parser and Arabic tests on saved JONEPS pages
apify run --purge # local run, reads storage/key_value_stores/default/INPUT.json