Jordan Tender Radar — JONEPS Government Tenders (Arabic-safe)
Pricing
from $3.50 / 1,000 tender delivereds
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
Maintained by CommunityActor 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
currencyfield saysJODand the price field name ends inJod.documentPriceRawkeeps the text exactly as JONEPS shows it. - Times are Amman time (UTC+3), written as ISO 8601 with the
+03:00offset. - 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. titleRawkeeps the title exactly as published, so you can still search the portal for it.urlopens 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
| Field | What it does |
|---|---|
keywords | Words matched against title, buying entity, tender number and type. Empty returns everything the other filters allow. |
matchMode | any (default) or all. |
entityContains | Keep only tenders from buying entities whose name contains this text, for example وزارة الصحة or بلدية. |
status | open (default): deadline today or later. all: closed tenders too. |
tenderTypes | EP0011 supplies, EP0012 services, EP0014 technical services, EP0015 works, EP0016 medicines. |
localOrInternational | local, international, or empty for both. |
publishedFrom / publishedTo | Publish date window, YYYY-MM-DD. JONEPS applies it on its side. |
deadlineFrom / deadlineTo | Submission deadline window, YYYY-MM-DD. |
maxItems | Hard cap on delivered tenders, and therefore on cost. Default 100. |
includeDetails | Adds deadline times, document price in JOD, bid bond and more. Three extra small requests per tender. |
requestDelayMs | Pause before each request. Minimum 1,000 ms. |
maxRetries | Retries 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
- Set your filters. For a daily feed, keep
statusonopenand add your keywords or tender types. - Click Save as a new task. In the task, open Schedules and add a daily schedule, for example 07:00 Amman time.
- 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: alland no deadline dates, JONEPS applies its own default window: deadlines from one month ago to two months ahead. SetdeadlineFromanddeadlineToto 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
stagefield shows the last step JONEPS marks as reached in its progress bar. Newly published tenders often have no step marked yet, sostageisnullfor 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 installnpm test # parser and Arabic tests on saved JONEPS pagesapify run --purge # local run, reads storage/key_value_stores/default/INPUT.json