CompraNet Mexico Government Procurement & Tenders Scraper
Pricing
from $6.80 / 1,000 results
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
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
18 days ago
Last modified
Categories
Share
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
Table of contents
- What it does
- Quickstart
- Input reference
- Output reference
- Example output record
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
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
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
keywords | array | no | (none) | Keep only purchases whose item name/description or product matches any of these keywords. |
partidas | array | no | (none) | Restrict results to one or more CUCOP category codes (5-digit partida). |
procedureType | enum | no | (all) | Contracting procedure. LP (Public Tender), AD (Direct Award), I3P (Restricted Invitation), or empty for all. |
agencyName | string | no | (empty) | Keep only purchases from a buying agency whose name contains this text. |
maxRecords | integer | no | (all) | Maximum procurement line items to collect. Free Apify plans are capped at 25 per run. |
withAiSummary | boolean | no | false | Add a plain-English AI summary of each purchase. Paid add-on, disabled on free plans. |
withAiExtract | boolean | no | false | Extract structured fields (buyer, value, deadline, category, eligibility) via AI. Paid add-on. |
withAiTranslate | boolean | no | false | Translate 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.
| Field | Type | Description |
|---|---|---|
programFolio | string | Annual program folio (line-item identifier). |
itemName | string | Procurement concept/item name (Spanish). |
itemDescription | string | Full item description (Spanish). |
cucopCode | string | CUCOP product/service code with sub-code. |
partidaCode | string | CUCOP partida (5-digit category) code. |
buyingAgency | string | Buying agency name. |
agencyType | string | Agency type, for example APF. |
ministry | string | Parent ministry (ramo) name. |
ministryCode | string | Ministry code. |
purchasingUnit | string | Purchasing unit name. |
purchasingUnitCode | string | Purchasing unit code. |
groupCode | string | Internal group code. |
procedureType | string | Contracting procedure (full Spanish label). |
procedureScope | string | Procedure scope, for example NACIONAL, INTERNACIONAL. |
law | string | Governing law, for example LAASSP. |
state | string | State where the purchase is executed. |
quantity | number | Quantity to be purchased. |
unitOfMeasure | string | Unit of measure. |
estimatedAmount | number | Estimated amount in currency. |
amountMipymes | number | Amount reserved for MIPYMEs (SMEs). |
amountNonTlc | number | Amount not covered by trade agreements. |
amountAnnual | number | Annual amount, or null. |
currency | string | Currency code, normally MXN. |
multiYear | string | Whether the purchase is multi-year (Si/No). |
federalProgram | string | Related federal program, or null. |
exceptionCode | string | Exception article code, or null. |
q1Percent | number | Percentage of spend planned in Q1. |
q2Percent | number | Percentage of spend planned in Q2. |
q3Percent | number | Percentage of spend planned in Q3. |
q4Percent | number | Percentage of spend planned in Q4. |
workStart | string | Works start date, or null. |
workEnd | string | Works end date, or null. |
cycleYears | string | Multi-year cycle span, or null. |
lastUpdated | string | Source last-updated timestamp. |
matchedKeyword | string | Which input keyword matched this record, or null. |
searchPartida | string | Which input partida matched this record, or null. |
aiSummary | string | AI plain-English summary. Present only when withAiSummary is enabled. |
aiExtract | object | AI structured extract. Present only when withAiExtract is enabled. |
aiItemNameEn | string | AI English translation of the item name. Present with withAiTranslate. |
aiItemDescriptionEn | string | AI English translation of the description. Present with withAiTranslate. |
aiTranslation | string | AI English translation block. Present with withAiTranslate. |
sourceUrl | string | Public ComprasMX source URL. |
source | string | Constant source tag. |
observedAt | string | ISO 8601 timestamp of when the record was collected. |
error | string | null 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:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginate large datasetscurl "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 (
resultevent). See the pricing tab for the current per-result price. - AI add-ons billed separately.
withAiSummary,withAiExtractandwithAiTranslateeach 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
errorfield and does not charge for it. Empty runs cost nothing. - Spend cap respected. Set
maxTotalChargeUsdon 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.
Related scrapers
- Mexico DOF Scraper: Mexico Diario Oficial de la Federación notices.
- Colombia SECOP Scraper: Colombia public procurement contracts.
- Peru SEACE Scraper: Peru public procurement processes.
- Chile Mercado Publico Scraper: Chile public procurement tenders.
- Mexico Companies Directory Scraper: Mexican company directory records.
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.
