Tunisia Public Tenders (TUNEPS) avatar

Tunisia Public Tenders (TUNEPS)

Pricing

from $2.00 / 1,000 tender notices

Go to Apify Store
Tunisia Public Tenders (TUNEPS)

Tunisia Public Tenders (TUNEPS)

Public tender notices from Tunisia's national e-procurement system TUNEPS (tuneps.tn) as JSON: notice number, title in French and Arabic, buyer, category, procedure, governorate, guarantee, deadlines and opening times, status and links.

Pricing

from $2.00 / 1,000 tender notices

Rating

0.0

(0)

Developer

Aloever Dulay

Aloever Dulay

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

13 hours ago

Last modified

Share

Public tender notices from Tunisia's national e-procurement system, TUNEPS, as clean JSON with English keys: notices published on TUNEPS, newest first, with the notice number, title in French (and Arabic when it differs), public buyer, category, procedure, sector, governorate, financing, evaluation method, bid guarantee, the publication, submission, deadline and opening times, a status (open, closed, opened) and a link to the notice.

Who needs this

  • Suppliers and contractors bidding for Tunisian public contracts who want every new tender in their field each morning instead of browsing the TUNEPS portal by hand.
  • Tender-alert services and bid consultants building feeds, email digests or WhatsApp/Telegram alerts for Tunisia or the Maghreb.
  • Foreign exporters and development-finance teams tracking calls financed by the World Bank, AfDB, AFD, EIB, JICA or KfW.
  • Sales and market-intelligence teams watching which buyers are procuring what, and when.
  • Journalists, researchers and civil society studying public procurement: who buys what, how, and under which procedures.
  • AI agents and automations that need a stable schema instead of a JavaScript portal that has no public API.

Input

FieldTypeDefaultDescription
keywordstring""Only tenders whose title contains this text, e.g. ordinateur, travaux, véhicules. Case-insensitive.
buyerstring""Only tenders from buyers whose name contains this text, e.g. Municipalité de Sfax, Hôpital, Office National. Case-insensitive.
categorystringallworks, goods, services or studies.
procedurestringallopen, prequalification, twoStage or contest.
governoratestringallWhere the contract is carried out, as TUNEPS spells it: TUNIS, SFAX, SIDI BOUZID, … or Autres.
publishedSincestring""Only tenders published after this point: a relative span (24 hours, 7 days, 2 weeks), a date (2026-09-20, midnight Tunisian time) or an ISO-8601 timestamp.
openOnlybooleantrueKeep tenders whose submission deadline has not passed. Turn it off to include closed tenders too.
maxItemsinteger100Stop after this many tenders (1-50,000), newest first. See "How long a run takes" below.
proxyConfigurationobjectno proxyOptional Apify Proxy. Not needed normally; use it only if runs fail with connection errors.

Examples:

{ "publishedSince": "24 hours", "category": "works", "maxItems": 150 }
{ "keyword": "informatique", "governorate": "SFAX", "openOnly": true }
{ "buyer": "Municipalité de Sfax", "openOnly": false, "publishedSince": "30 days" }

How long a run takes

TUNEPS lists only a notice's headline, so the actor opens every notice to complete it, one request at a time with a pause of at least one second in between. That makes a run cost about 1.5 seconds per tender, whatever the filters:

maxItemsApproximate timeRun timeout needed
20 (the prefill)about 30 secondsdefault (300 s)
100 (default)about 2.5 minutesdefault (300 s)
500about 13 minutesat least 900 s
1,000about 25 minutesat least 1,800 s

With the default 300-second timeout a run stores about 150 tenders at most; it then stops cleanly and keeps them. For bigger runs, raise the timeout in the run options. For a daily feed, a narrow publishedSince (such as 24 hours) with a generous maxItems gets every new notice without re-reading old ones.

Output

One dataset item per tender notice, each with recordType: "tender". Keys are English; text is kept exactly as published (French or Arabic), trimmed and with HTML entities decoded. Times are ISO-8601 in Tunisian time (+01:00) and fetchedAt is UTC. The Output tab on this page documents every field. The dataset has a "Tenders" table view.

A real tender notice (captured 2026-09-26):

{
"recordType": "tender",
"tenderNo": "20260902090",
"modificationSeq": "00",
"noticeType": "Nouvel enregistrement",
"referenceNo": "33/2026",
"title": "Acquisition de viandes rouges et viandes de volailles, oeufs, lait et dérivés, ustensiles à usage unique, fruits et légumes et produits alimentaires",
"titleAr": null,
"buyer": "Hôpital Mongi Slim à la Marsa",
"buyerCode": "1000000170",
"buyerDepartment": "APPROVISIONNEMENT",
"category": "Fourniture de biens",
"categoryEn": "Goods & Equipments",
"procedure": "Appel d'offres ouvert",
"procedureEn": "Open Bidding",
"sector": "Nourriture",
"sectorEn": "Food",
"governorate": "TUNIS",
"financing": "Budget",
"evaluationMethod": "Moins disant",
"priceType": "Marché à prix unitaire",
"submissionMode": "En ligne",
"scope": "Appel d'offres national (part dinar)",
"consortiumAllowed": false,
"isFrameworkAgreement": true,
"guarantee": "Engagement personnel et solidaire",
"bidValidityDays": 120,
"documentPrice": 0,
"documentPriceCurrency": "TND",
"publishedAt": "2026-09-26T13:10:39+01:00",
"submissionStartAt": "2026-09-28T08:00:00+01:00",
"prequalificationDeadlineAt": null,
"deadlineAt": "2026-10-13T10:00:00+01:00",
"openingAt": "2026-10-13T13:30:00+01:00",
"openingResultsPublishedAt": null,
"status": "open",
"submissionPlace": "HOPITAL MONGI SLIM LA MARSA",
"detailUrl": "https://www.tuneps.tn/portail/offres/details/136077/20260902090",
"sourceUrl": "https://www.tuneps.tn/api2/portail/bid/master/136077",
"fetchedAt": "2026-09-26T15:37:19.735Z"
}

About tender status

TUNEPS does not publish a status field. The actor derives status when it fetches the notice: open while the submission deadline is ahead, closed once it has passed, and opened once TUNEPS has published the result of the opening of offers (openingResultsPublishedAt). An addendum published as its own notice has noticeType: "Additif" and a modificationSeq above 00.

Pricing

Pay per event, charged only for tenders actually stored in your dataset:

  • tender-notice: one per tender notice stored.

The actor defines no start event of its own. It checks your spending limit before fetching each batch, stores the batch before it is charged, and stops cleanly when the limit is reached, so you never pay for data you cannot see.

Data source and politeness

The data comes from TUNEPS (Tunisia On-line E-Procurement System), the national e-procurement system managed by the online public procurement unit set up by decree 2014-1039: the public tender list of its portal and each notice's public page. No login is needed.

The actor:

  • sends one request at a time with at least 1 second between requests, with an honest User-Agent that names the actor;
  • verifies every TLS certificate (TUNEPS serves an incomplete certificate chain; the actor completes it with the missing public intermediate certificate instead of turning verification off);
  • retries connection errors, timeouts and server errors with exponential backoff and jitter inside a fixed budget, and stops with a clear error if the site keeps refusing;
  • never solves or gets around a CAPTCHA: if the site ever answers with a human-verification page, the run stops at once with an error saying so, keeping what it has stored; try again later;
  • stops shortly before the run's timeout and keeps what it has stored;
  • never logs in, never downloads tender documents, and reads only pages anyone can open.

TUNEPS publishes no robots.txt; its terms of use govern registered buyers and suppliers.

Data and privacy

The output is procurement metadata exactly as the Tunisian government publishes it. The actor leaves out the names and user ids of the buyers' staff that TUNEPS notices carry. It does not enrich, profile or combine records with other sources.

Limitations

  • Tender notices are the ones TUNEPS lists publicly (about 60,000), newest publication first. With openOnly (the default), only tenders whose deadline is ahead.
  • No award results: who won and for how much is not part of this actor.
  • One request per tender: see "How long a run takes" above.
  • The TUNEPS notice page is a JavaScript application: detailUrl opens in a browser, not in tools that do not run JavaScript.
  • Text is as published: titles are sometimes in Arabic in the French field, and some titles and names contain the portal's own typos.
  • The list is read newest first while TUNEPS keeps publishing; a notice that moves between pages during a run is stored once.