Chile Public Procurement Database — Mercado Público Tenders
Pricing
from $0.80 / 1,000 record scrapeds
Chile Public Procurement Database — Mercado Público Tenders
Chile's national procurement source, ChileCompra Mercado Público — tenders, awards, bidder counts and purchase orders in one feed. Includes winning supplier RUT, buyer unit RUT, awarded amounts, and convenio-marco purchase orders that never appear as a tender.
Pricing
from $0.80 / 1,000 record scrapeds
Rating
0.0
(0)
Developer
BowTiedRaccoon
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Chile Public Procurement Data — Mercado Público Scraper
Scrape public procurement records from Mercado Público, Chile's national ChileCompra purchasing platform. Returns tenders with buyer details and award outcomes, plus the purchase orders — including convenio-marco catalog orders — that never show up as a tender at all.
Mercado Público Scraper Features
- Extracts open tenders across every status — published, closed, awarded, void, revoked
- Follows through to the award: winning supplier, awarded amount, and bidder count on top of the base listing
- Returns purchase orders separately, the channel a large share of Chilean state spend moves through and most tender-only tools never touch
- Flags which purchase orders came off a convenio-marco framework catalog rather than a one-off award
- Includes buyer and supplier RUT (Chilean tax id) on every record, so output joins cleanly against company registries
- Classifies line items by UNSPSC product code, not just a free-text title
- Filters by date range — a single day or a multi-year backfill run the same code path
Who Uses Mercado Público Data?
- Sales and BD teams — find every government unit buying in a product category before a competitor does
- Market researchers — track award amounts and winning suppliers across a sector, or benchmark against Chile's broader public spend
- Compliance and audit teams — monitor a specific buyer unit or supplier's contract history over time
- Suppliers and bidders — compute a win rate against named competitors instead of guessing from headline totals
- Data teams building LATAM company graphs — the RUT fields join directly against other Chilean company data
How the Mercado Público Scraper Works
- Pick a date range and which record types you want — tenders, purchase orders, or both.
- The scraper pulls the day's full listing, then fetches each record's detail — buyer info, line items, and (for tenders) the award outcome.
- Records come back as clean, flat JSON: one row per tender or purchase order, with consistent field names across both.
- A large date range keeps going past
maxItems; resume it in a later run instead of paying for the whole thing again.
Input
{"ticket": "your-mercadopublico-api-ticket","recordTypes": ["tenders", "purchase_orders"],"dateFrom": "2026-09-01","dateTo": "2026-09-07","maxItems": 500}
| Field | Type | Default | Description |
|---|---|---|---|
ticket | String | shared public demo ticket | Your free Mercado Público API ticket (recommended). Register at mercadopublico.cl (Empresas > API) — issued instantly, no cost. Leave empty to use ChileCompra's shared public demo ticket. |
recordTypes | Array | ["tenders", "purchase_orders"] | Which record families to pull: tenders (licitaciones), purchase_orders (órdenes de compra), or both. |
dateFrom | String | yesterday | First day to pull, inclusive (YYYY-MM-DD). Mercado Público publishes per calendar day. |
dateTo | String | same as dateFrom | Last day to pull, inclusive (YYYY-MM-DD). Widening the range costs one extra listing call per day. |
maxItems | Integer | 20 | Maximum combined records to save. Each record costs one detail call on top of the listing. |
Resuming a large crawl
Every run emits a resumeCursor in its Output. If a large crawl stops before it finishes — because it hit maxItems, your spend cap (maxTotalChargeUsd), or was aborted — start a new run with the same input plus that resumeCursor to continue from where it left off. The crawl resumes from the queued work the previous run didn't reach.
- You are not re-charged for records the earlier run already delivered.
- Resume within your account's run-retention window — on the free tier, roughly your 10 most recent runs. Once the source run is pruned, its
resumeCursoris no longer valid. resumeCursoris opaque — supply it unmodified.
Mercado Público Scraper Output Fields
{"record_type": "tender","tender_code": "1057417-144-LR26","tender_name": "KCS CONVENIO POR SERVICIO DE ASEO INSTITUCIONAL","status": "Cerrada","type_code": "LR","currency": "CLP","estimated_amount": 12927638542,"publication_date": "2026-08-26T14:58:26.64","closing_date": "2026-09-25T15:00:00","buyer_org_name": "COMPLEJO ASISTENCIAL DR.VICTOR RIOS RUIZ","buyer_region": "Región del Biobío","buyer_rut": "61.607.301-K","items": [{ "codigo_onu": 76111501, "categoria": "Servicios de limpieza de edificios y oficinas", "nombre": "Servicios de limpieza de edificios", "cantidad": 1, "unidad": "Global" }],"award_supplier_rut": null,"award_amount": null,"bidder_count": null,"purchase_order_amount": null,"is_framework_agreement": null,"source_url": "https://api.mercadopublico.cl/servicios/v1/publico/licitaciones.json?codigo=1057417-144-LR26"}
| Field | Type | Description |
|---|---|---|
record_type | String | tender or purchase_order. |
tender_code | String | National tender id. Present on tender rows, and on a purchase order that traces back to one. |
tender_name | String | Tender title. Tender rows only. |
purchase_order_code | String | Purchase order id. Purchase-order rows only. |
description | String | Free-text description of the tender or purchase order. |
status_code / status | Number / String | Source status code and its human-readable label. |
type_code | String | Tender type (L1, LE, LP, LQ, LR...) or purchase-order type (AG, SE, CM, B...). |
currency | String | Currency the accompanying amount is declared in — never normalized. |
estimated_amount | Number | Tender's declared budget. Tender rows only. |
publication_date | String | ISO timestamp the record was published or sent. |
closing_date | String | Bid-closing timestamp. Tender rows only. |
award_date | String | Award timestamp. Awarded tender rows only. |
buyer_org_code / buyer_org_name | String / String | The buying ministry, municipality, hospital, or armed-forces unit. |
buyer_unit | String | Specific purchasing unit within the buyer organism. |
buyer_rut | String | Buyer unit's Chilean tax id. |
buyer_region | String | Chilean administrative region of the buyer. |
buyer_contact_name | String | Buyer-side contact on the record. |
items | Array | Line items: UNSPSC code, category, name, description, quantity, unit. |
award_supplier_rut / award_supplier_name | String / String | Winning supplier. Populated once at least one line item is awarded. |
award_amount | Number | Sum of awarded line-item amounts. Awarded tender rows only. |
award_item_count | Number | Count of line items with a recorded award. Tender rows only. |
bidder_count | Number | Number of distinct bidders on the award. |
purchase_order_amount | Number | Purchase order total. Purchase-order rows only. |
is_framework_agreement | Boolean | True when the order was issued off a convenio-marco catalog. Purchase-order rows only. |
source_url | String | The Mercado Público API endpoint this record was read from. |
FAQ
How do I scrape Mercado Público tenders and purchase orders?
Give Mercado Público Scraper a date range and it returns tenders, purchase orders, or both. For regular use, register a free API ticket at mercadopublico.cl and paste it into the ticket field.
Do I need an account or API key for Mercado Público?
No, but your own is recommended. Left empty, the scraper uses ChileCompra's shared public demo ticket, and every caller without a ticket shares its rate limit. Your own ticket costs nothing, is issued instantly through Mercado Público's registration page, and carries its own limit.
Can I get award and bidder data, not just open tenders?
Yes. Every tender record carries the award outcome once one exists — winning supplier, awarded amount, and bidder count — which is exactly the part most tender-list tools stop short of.
What's the difference between tenders and purchase orders?
Tenders (licitaciones) are the open-bid process. Purchase orders (órdenes de compra) are the actual spend — including convenio-marco catalog purchases that skip the tender process entirely. A tender-only view misses that spend.
Can I pull historical data, not just recent tenders?
Yes. Set dateFrom and dateTo to any range; a run that hits its item cap on a wide range picks back up with resumeCursor instead of starting over.
Need More Features?
Need custom fields, filters, or a different target site? File an issue or get in touch.
Why Use Mercado Público Scraper?
- Complete, not partial — tenders, awards, bidders, and purchase orders in one feed, where most alternatives stop at the open-tender list.
- Joinable by design — buyer and supplier RUT on every record means the output slots straight into a Chilean company graph or registry match, no manual entity resolution.
- Covers the spend tender-only tools miss — convenio-marco purchase orders are flagged explicitly, and they're where a large share of Chilean public spend actually happens.