CompraNet Mexico Government Procurement & Tenders Scraper avatar

CompraNet Mexico Government Procurement & Tenders Scraper

Pricing

from $6.80 / 1,000 results

Go to Apify Store
CompraNet Mexico Government Procurement & Tenders Scraper

CompraNet Mexico Government Procurement & Tenders Scraper

Scrape Mexico CompraNet / ComprasMX federal procurement: planned public purchases with buying agency, procedure type, estimated amount (MXN), CUCOP category and state. Filter by keyword, category, procedure or agency. Export to JSON, CSV or Excel.

Pricing

from $6.80 / 1,000 results

Rating

0.0

(0)

Developer

Scrapers Lat

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

18 days ago

Last modified

Share

CompraNet Mexico Government Procurement & Tenders Scraper

CompraNet Mexico Government Procurement & Tenders Scraper

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

{
"programFolio": "2026-02-002000-004",
"itemName": "GASTOS DE CEREMONIAL DEL TITULAR DEL EJECUTIVO FEDERAL",
"itemDescription": "SERVICIO DE FLORERÍA Y ORNAMENTACIÓN PARA RECEPCIONES OFICIALES Y ACTIVIDADES EXTRAORDINARIAS DE LA OFICINA DE LA PRESIDENCIA DE LA REPÚBLICA, PARA EL EJERCICIO 2026",
"cucopCode": "38101-0001",
"partidaCode": "38101",
"buyingAgency": "OFICINA DE LA PRESIDENCIA DE LA REPUBLICA",
"agencyType": "APF",
"ministry": "OFICINA DE LA PRESIDENCIA DE LA REPÚBLICA",
"ministryCode": "02",
"purchasingUnit": "UNIDAD DE ADMINISTRACIÓN Y FINANZAS",
"purchasingUnitCode": "113",
"groupCode": "002113",
"procedureType": "INVITACIÓN A CUANDO MENOS TRES PERSONAS",
"procedureScope": "NACIONAL",
"law": "LAASSP",
"state": "CIUDAD DE MÉXICO",
"quantity": 1,
"unitOfMeasure": "SERVICIO",
"estimatedAmount": 3017241.38,
"amountMipymes": 3017241.38,
"amountNonTlc": 0,
"amountAnnual": null,
"currency": "MXN",
"multiYear": "No",
"federalProgram": null,
"exceptionCode": null,
"q1Percent": 0,
"q2Percent": 33,
"q3Percent": 33,
"q4Percent": 34,
"workStart": null,
"workEnd": null,
"cycleYears": null,
"lastUpdated": "2026-07-31T20:57:12",
"matchedKeyword": null,
"searchPartida": null,
"aiSummary": "The Office of the President of Mexico is procuring floral and decoration services for official receptions and extraordinary activities for the year 2026. The estimated amount for this procurement is approximately 3,017,241.38 MXN.",
"aiExtract": {
"buyer": "OFICINA DE LA PRESIDENCIA DE LA REPUBLICA",
"value": "3017241.38 MXN",
"deadline": null,
"category": "GASTOS DE CEREMONIAL DEL TITULAR DEL EJECUTIVO FEDERAL",
"eligibility": "NACIONAL"
},
"aiItemNameEn": "Ceremonial Expenses of the Head of the Federal Executive",
"aiItemDescriptionEn": "Floral and Decoration Services for Official Receptions and Extraordinary Activities of the Office of the President of the Republic, for the fiscal year 2026",
"aiTranslation": "Concept: CEREMONIAL EXPENSES OF THE HEAD OF THE FEDERAL EXECUTIVE\nDescription: FLORAL AND DECORATION SERVICES FOR OFFICIAL RECEPTIONS AND EXTRAORDINARY ACTIVITIES OF THE OFFICE OF THE PRESIDENT OF THE REPUBLIC, FOR THE FISCAL YEAR 2026\nProcedure: INVITATION TO AT LEAST THREE PERSONS",
"sourceUrl": "https://comprasmx.buengobierno.gob.mx/programas-anuales",
"source": "CompraNet / ComprasMX Mexico",
"observedAt": "2026-08-14T06:20:47.483Z",
"error": null
}

The most complete CompraNet Mexico procurement scraper available. It returns every field the ComprasMX annual procurement program exposes for each planned purchase, including buying agency, procedure type, estimated amounts in MXN, CUCOP category and quarterly spend split, plus three optional AI add-ons, and gives you four filters to target exactly the purchases you need.

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

Apify Coverage Output Billing

Table of contents

What it does

The actor queries Mexico's ComprasMX (CompraNet successor) annual procurement program, applies the filters you pass as input, paginates through the matching planned purchases, and writes one normalized record per procurement line item to the run's dataset. Amounts are returned as numbers in MXN, the quarterly spend split is broken out, missing source values are returned as null, and each record identifies the buying agency, ministry, purchasing unit, procedure type and CUCOP category.

Data covers Mexican federal planned procurement (annual purchasing program). Three optional AI add-ons (aiSummary, aiExtract, aiTranslation) can enrich each record; they are opt-in, billed per enriched record, and disabled on free Apify plans.

Quickstart

Open the actor, paste this into the input, and press Run. It returns 3 planned purchases with the AI add-ons enabled.

{
"maxRecords": 3,
"withAiSummary": true,
"withAiExtract": true,
"withAiTranslate": true
}

Every input field is optional. Leave the AI add-ons off (default) to get the raw procurement fields. Add keywords, partidas, procedureType or agencyName to narrow the pull.

Input reference

FieldTypeRequiredDefaultDescription
keywordsarrayno(none)Keep only purchases whose item name/description or product matches any of these keywords.
partidasarrayno(none)Restrict results to one or more CUCOP category codes (5-digit partida).
procedureTypeenumno(all)Contracting procedure. LP (Public Tender), AD (Direct Award), I3P (Restricted Invitation), or empty for all.
agencyNamestringno(empty)Keep only purchases from a buying agency whose name contains this text.
maxRecordsintegerno(all)Maximum procurement line items to collect. Free Apify plans are capped at 25 per run.
withAiSummarybooleannofalseAdd a plain-English AI summary of each purchase. Paid add-on, disabled on free plans.
withAiExtractbooleannofalseExtract structured fields (buyer, value, deadline, category, eligibility) via AI. Paid add-on.
withAiTranslatebooleannofalseTranslate the Spanish item name/description to English via AI. Paid add-on.

Filters combine with logical AND.

Output reference

One dataset item per planned purchase. Types: string, number, integer, object, or null when the source value is absent.

FieldTypeDescription
programFoliostringAnnual program folio (line-item identifier).
itemNamestringProcurement concept/item name (Spanish).
itemDescriptionstringFull item description (Spanish).
cucopCodestringCUCOP product/service code with sub-code.
partidaCodestringCUCOP partida (5-digit category) code.
buyingAgencystringBuying agency name.
agencyTypestringAgency type, for example APF.
ministrystringParent ministry (ramo) name.
ministryCodestringMinistry code.
purchasingUnitstringPurchasing unit name.
purchasingUnitCodestringPurchasing unit code.
groupCodestringInternal group code.
procedureTypestringContracting procedure (full Spanish label).
procedureScopestringProcedure scope, for example NACIONAL, INTERNACIONAL.
lawstringGoverning law, for example LAASSP.
statestringState where the purchase is executed.
quantitynumberQuantity to be purchased.
unitOfMeasurestringUnit of measure.
estimatedAmountnumberEstimated amount in currency.
amountMipymesnumberAmount reserved for MIPYMEs (SMEs).
amountNonTlcnumberAmount not covered by trade agreements.
amountAnnualnumberAnnual amount, or null.
currencystringCurrency code, normally MXN.
multiYearstringWhether the purchase is multi-year (Si/No).
federalProgramstringRelated federal program, or null.
exceptionCodestringException article code, or null.
q1PercentnumberPercentage of spend planned in Q1.
q2PercentnumberPercentage of spend planned in Q2.
q3PercentnumberPercentage of spend planned in Q3.
q4PercentnumberPercentage of spend planned in Q4.
workStartstringWorks start date, or null.
workEndstringWorks end date, or null.
cycleYearsstringMulti-year cycle span, or null.
lastUpdatedstringSource last-updated timestamp.
matchedKeywordstringWhich input keyword matched this record, or null.
searchPartidastringWhich input partida matched this record, or null.
aiSummarystringAI plain-English summary. Present only when withAiSummary is enabled.
aiExtractobjectAI structured extract. Present only when withAiExtract is enabled.
aiItemNameEnstringAI English translation of the item name. Present with withAiTranslate.
aiItemDescriptionEnstringAI English translation of the description. Present with withAiTranslate.
aiTranslationstringAI English translation block. Present with withAiTranslate.
sourceUrlstringPublic ComprasMX source URL.
sourcestringConstant source tag.
observedAtstringISO 8601 timestamp of when the record was collected.
errorstringnull on success. On a failed run, a single item with a populated error field is written instead.

Example output record

Real record from a live run (input {"maxRecords": 3, "withAiSummary": true, "withAiExtract": true, "withAiTranslate": true}), with a subset of fields shown for readability:

{
"programFolio": "2026-02-002000-004",
"itemName": "GASTOS DE CEREMONIAL DEL TITULAR DEL EJECUTIVO FEDERAL",
"buyingAgency": "OFICINA DE LA PRESIDENCIA DE LA REPUBLICA",
"procedureType": "INVITACIÓN A CUANDO MENOS TRES PERSONAS",
"procedureScope": "NACIONAL",
"law": "LAASSP",
"state": "CIUDAD DE MÉXICO",
"estimatedAmount": 3017241.38,
"currency": "MXN",
"cucopCode": "38101-0001",
"aiItemNameEn": "Ceremonial Expenses of the Head of the Federal Executive",
"sourceUrl": "https://comprasmx.buengobierno.gob.mx/programas-anuales",
"source": "CompraNet / ComprasMX Mexico",
"observedAt": "2026-08-14T06:20:47.483Z",
"error": null
}

(A subset of the returned fields is shown here for readability; a real run returns every field listed in the output reference.)

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~compranet-mexico-scraper/run-sync-get-dataset-items?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"keywords":["software"],"procedureType":"LP","maxRecords":25}'

Start a run asynchronously:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~compranet-mexico-scraper/runs?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"agencyName":"SALUD","maxRecords":100}'

Apify CLI:

apify call scrapers_lat/compranet-mexico-scraper \
--input '{"maxRecords":25}'

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 procurement line item returned (result event). See the pricing tab for the current per-result price.
  • AI add-ons billed separately. withAiSummary, withAiExtract and withAiTranslate each charge their own event only when they produce output, and are disabled on free plans.
  • No charge on failure. If a run errors, 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 maxRecords.

FAQ and troubleshooting

A run returned 0 records. Why? The filter combination matched nothing in the source. Loosen the keywords, drop the partidas or procedureType filter, or clear agencyName. Zero-result runs are not charged.

What is a partida? A CUCOP category code (5-digit) that classifies the procured product or service. Pass one or more in partidas to restrict results to those categories.

Why are workStart, federalProgram and similar fields null? The annual program does not populate these for every line item. Missing source values are returned as null, never invented.

Do the AI add-ons work on a free plan? No. The AI add-ons require a paid Apify plan and are disabled automatically for free users. The base procurement fields are always returned.

Is this an official government tool? No. This actor is independent and has no affiliation with the Secretaría Anticorrupción y Buen Gobierno, ComprasMX or CompraNet. It reads only data that is publicly available on ComprasMX.

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 ComprasMX, CompraNet or the Mexican government. Accesses only publicly available procurement data.