Chile Mercado Publico Supplier & Award Scraper avatar

Chile Mercado Publico Supplier & Award Scraper

Pricing

from $15.39 / 1,000 results

Go to Apify Store
Chile Mercado Publico Supplier & Award Scraper

Chile Mercado Publico Supplier & Award Scraper

Extract Chile state suppliers from Mercado Publico and ChileProveedores with public procurement award history. Get razon social, RUT, region, purchase orders, amount awarded in CLP and USD, company size and SII activity. Export JSON, CSV, Excel.

Pricing

from $15.39 / 1,000 results

Rating

5.0

(1)

Developer

Scrapers Lat

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

0

Monthly active users

14 days ago

Last modified

Share

Chile Mercado Publico Supplier & Award Scraper

Chile Mercado Publico Supplier & Award Scraper

Here is one real result, with every field the actor returns:

{
"razonSocial": "JOHNSON Y JOHNSON DE CHILE S A",
"rut": "93745000-1",
"taxpayerType": "PERSONA JURIDICA COMERCIAL",
"companySize": "Grande",
"smallerEnterprise": false,
"emtClassification": "No EMT / Controlado por sociedad no EMT",
"emtClassificationId": 2,
"activityStartDate": "2003-09-04",
"economicActivities": [
{ "code": 466901, "description": "VENTA AL POR MAYOR DE PRODUCTOS QUIMICOS", "startDate": "1993-01-01" },
{ "code": 469000, "description": "VENTA AL POR MAYOR NO ESPECIALIZADA", "startDate": "2012-05-11" }
],
"url": "https://proveedor.mercadopublico.cl/ficha/93745000-1",
"observedAt": "2026-08-10T14:17:01.282Z",
"error": null
}

The most complete Mercado Publico supplier scraper available. It returns every field the supplier profile exposes, including SII taxpayer type, company size, EMT classification, activity start date and economic activities, and in region-and-year mode adds public award totals, purchase-order counts and a derived average order value, so you can profile state suppliers and rank them by spend.

📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples

Apify Coverage Output Billing

Table of contents

What it does

The actor reads Chile's Mercado Publico (ChileCompra) supplier data in two modes and writes one normalized record per supplier to the run's dataset:

  • RUT mode: pass one or more supplier RUTs to profile them directly from the SII registry (taxpayer type, company size, EMT classification, activity start date, economic activities).
  • Region and year mode: leave ruts empty to list state suppliers for a Chilean region and procurement year, with their total awarded amount, purchase-order count and a derived average order value. With withDetails on, each supplier is also enriched with its SII profile.

Missing source values are returned as null, never invented.

Quickstart

Open the actor, paste this into the input, and press Run. It profiles one supplier by RUT with SII details.

{
"ruts": ["93745000-1"],
"withDetails": true,
"maxSuppliers": 10
}

To list a region instead, leave ruts empty and set region and year (for example region 13, year 2025). Use topOnly for a fast top-suppliers preview.

Input reference

FieldTypeRequiredDefaultDescription
rutsstring[]no["93745000-1"]Supplier RUTs to look up directly (for example 93745000-1 or 93.745.000-1). Empty switches to region and year listing mode.
regionenumno13Chilean region to list suppliers from (region codes 1 to 16, for example 13 = Metropolitana de Santiago). Used when no RUTs are given.
yearenumno2025Procurement year to pull award amounts for (2021 to 2026).
topOnlybooleannofalseReturn only the top suppliers by award amount for the region and year (fast preview). Off lists every supplier.
minAmountAwardedintegerno(none)Only return suppliers whose total awarded amount (CLP) is at least this value. Region and year mode only.
minPurchaseOrdersintegerno(none)Only return suppliers with at least this many purchase orders. Region and year mode only.
withDetailsbooleannotrueFetch each supplier's SII profile and add it to the record.
maxSuppliersintegerno10Maximum supplier records to collect. Free Apify plans are capped at 25 per run.
useProxybooleannofalseRoute requests through a Chile residential proxy. Off by default; datacenter IPs work for this source.

Output reference

One dataset item per supplier. Types: string, number, boolean, array, or null when the source value is absent.

FieldTypeDescription
razonSocialstringSupplier legal name.
rutstringSupplier RUT (tax ID).
taxpayerTypestringSII taxpayer type, for example PERSONA JURIDICA COMERCIAL.
companySizestringCompany size, for example Grande, Mediana, Pequena.
smallerEnterprisebooleantrue if classified as a smaller enterprise.
emtClassificationstringEMT (smaller-enterprise) classification text.
emtClassificationIdnumberEMT classification code.
activityStartDatestringDate the taxpayer started activity (YYYY-MM-DD).
economicActivitiesobject[]Economic activities, each with code, description and startDate.
regionstringRegion name (region and year mode).
regionIdnumberRegion code (region and year mode).
yearnumberProcurement year (region and year mode).
purchaseOrdersnumberNumber of purchase orders awarded (region and year mode).
amountAwardednumberTotal awarded amount in CLP (region and year mode).
amountAwardedUSDnumberTotal awarded amount in USD (region and year mode).
quotesReceivednumberTotal quotations received (region and year mode).
averageOrderValuenumberDerived average CLP value per purchase order (region and year mode), or null.
urlstringSupplier ficha (profile) URL on Mercado Publico.
observedAtstringISO 8601 timestamp of when the record was collected.
errorstringnull on success. On a failed lookup, a single item with a populated error field is written instead.

SII profile fields (taxpayerType, companySize, economicActivities, and so on) appear in RUT mode, and in region and year mode when withDetails is on. Award fields appear only in region and year mode.

Example output record

Real record from a live run (input {"ruts": ["93745000-1"], "withDetails": true, "maxSuppliers": 10}):

{
"razonSocial": "JOHNSON Y JOHNSON DE CHILE S A",
"rut": "93745000-1",
"taxpayerType": "PERSONA JURIDICA COMERCIAL",
"companySize": "Grande",
"smallerEnterprise": false,
"emtClassification": "No EMT / Controlado por sociedad no EMT",
"emtClassificationId": 2,
"activityStartDate": "2003-09-04",
"economicActivities": [
{ "code": 466901, "description": "VENTA AL POR MAYOR DE PRODUCTOS QUIMICOS", "startDate": "1993-01-01" },
{ "code": 469000, "description": "VENTA AL POR MAYOR NO ESPECIALIZADA", "startDate": "2012-05-11" }
],
"url": "https://proveedor.mercadopublico.cl/ficha/93745000-1",
"observedAt": "2026-08-10T14:17:01.282Z",
"error": null
}

Run via API and CLI

Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.

Run synchronously and get dataset items in one call:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~mercado-publico-scraper/run-sync-get-dataset-items?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"ruts":["93745000-1","93.745.000-1"],"withDetails":true}'

Start a run asynchronously (region and year mode):

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~mercado-publico-scraper/runs?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"region":"13","year":"2025","minAmountAwarded":100000000,"maxSuppliers":100}'

Apify CLI:

apify call scrapers_lat/mercado-publico-scraper \
--input '{"region":"5","year":"2025","topOnly":true}'

Fetch results

Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:

# JSON
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"
# CSV
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"
# Paginate large datasets
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"

<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.

Billing and limits

  • Pay per result. You are charged per record returned (result event). See the pricing tab for the current per-result price.
  • No charge on failure. If a lookup errors or a RUT is not found, the actor writes a single item with a populated error field and does not charge for it. Empty runs cost nothing.
  • Spend cap respected. Set maxTotalChargeUsd on the run; once reached, the actor stops emitting and charging further billable results.
  • Free Apify plans are capped at 25 records per run. Upgrade for higher maxSuppliers.

FAQ and troubleshooting

A run returned an error item for a RUT. Why? The RUT was not found in the SII registry, or was malformed. Check the digit and verifier (for example 93745000-1). Error items are not charged.

How do I rank suppliers by public spend? Use region and year mode: leave ruts empty, set region and year, and sort by amountAwarded. Use minAmountAwarded or minPurchaseOrders to filter.

What is the difference between the two modes? RUT mode profiles specific suppliers from the SII registry. Region and year mode lists state suppliers with their award totals, optionally enriched with the SII profile when withDetails is on.

Do I need the Chile proxy? No. useProxy is off by default because datacenter IPs work for this source. Turn it on only if you see access issues.

Is this an official ChileCompra tool? No. This actor is independent and has no affiliation with ChileCompra, Mercado Publico or the SII. It reads only data that is publicly available.

More scrapers at scrapers.lat

Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.


Independent tool, not affiliated with ChileCompra, Mercado Publico or the SII. Accesses only publicly available data.