Decilion · LAC Pharmacy Price Extractor
A reusable extraction system that reads the sticker prices patients actually face at commercial online pharmacies in all 33 LAC countries, built to be compared against out-of-pocket health spending. This report walks through the methodology, the preliminary results from the first two extraction waves, a first answer to the headline question, and what comes next.
01 · The question
Across Latin America and the Caribbean, a large share of health spending comes straight out of patients' pockets, and medicines are the biggest single component of that spending. Yet the price a patient faces at the counter is surprisingly hard to observe at scale: official price databases track regulated ceilings or public procurement, not what a pharmacy actually charges on a Tuesday.
Online pharmacy storefronts changed that. The region's largest chains now publish their retail catalogs on the open web, which means the private cash price, the deliberate counterpoint to out-of-pocket expenditure, can be measured directly and repeatedly. This project builds the instrument: a stable, reusable extractor that reads those prices across all 33 LAC countries.
Two scope rules are absolute. Only commercial pharmacies are included, never government price observatories, because regulated ceilings are not what patients pay. And every observation is labeled as a private retail point-of-sale price so it can never be confused with public or insured prices.
02 · Methodology
The test input follows the WHO / Health Action International survey method: 14 widely used molecules (metformin, amoxicillin, omeprazole, bisoprolol, salbutamol and others), each pinned to one strength and form, with multilingual search terms per molecule (Spanish, Portuguese, English, plus verified brand names).
For each of the 33 countries, background agents mapped the commercial pharmacy landscape: 161 pharmacies recorded, each probed and given a measured verdict on whether it shows products and prices online. Bigger chains are preferred because they proxy the street price most patients face.
Each scrapeable pharmacy gets a small declarative recipe. One harvester covers the VTEX e-commerce platform that dominates the region's big chains; a generic engine handles the rest through backend APIs, rendered pages, or structured product data. Around 38 recipes across 11 platforms are live, and a pre-wave smoke test checks every recipe still works before any wave runs (recipes rot as sites change).
Search endpoints pad results with unrelated products. Every scraped record must prove it belongs to its molecule, by active-ingredient tokens or a web-verified brand vocabulary of 56 single-ingredient brands, before it is stored. Combination products that ride on a plain brand's name (the "Duo", "Plus" and "Forte" line extensions) are rejected by a suffix guard.
Each product is classified as originator (the innovator company's own brand, verified against a curated registry), branded generic, or unbranded generic. The originator-plus-generic matched pair per molecule is the unit the brand-premium analysis needs, and pair completeness is measured per country as its own quality gate.
A country is GREEN only when at least 8 of the 14 molecules return real prices, YELLOW when partial, RED when its market has no scrapeable prescription channel. Waves are idempotent: re-running a country replaces its slice instead of double-counting, and a uniqueness constraint in the database makes duplication structurally impossible.
Pack price becomes per-unit price (only for products matching the exact basket strength), converted to USD at the observation's own currency, then expressed three ways: MPR (ratio to the MSH international reference price), PPP dollars per defined daily dose, and days of minimum wage needed for a month of therapy.
03 · Data quality
Before the second wave, a five-lane adversarial audit reviewed the entire pipeline: every suspected defect was independently re-verified against the code and the live database before being accepted. The audit confirmed 15 issues; all were fixed. Wave 1's raw output shrank by two thirds in the process, and that shrinkage is the point: what remains is defensible.
Observations remaining after each cleaning stage
The purge removed, for example, a B-complex vitamin stored under all 14 molecules by one chain whose search ignores the query. The restore step brought back genuine products titled only by brand (Corbis is bisoprolol, Amoval is amoxicillin), each verified by web lookup before entering the vocabulary.
Every brand decision is logged with its evidence, and the verification pass earned its keep: name similarity alone would have admitted valsartan as diazepam, topiramate as amitriptyline, and an herbal sedative as an antidepressant. All were caught and rejected.
04 · Preliminary results
Wave 1 (June 23) produced 4,472 clean observations; wave 2 (July 4), run through the hardened pipeline in about 25 minutes, produced 5,758 across 27 countries and 39 sources. The gate map after honest re-measurement: 21 GREEN, 6 YELLOW, 6 RED. Two countries dropped from GREEN once search filler stopped counting toward their totals, which is the measurement working, not coverage lost.
Median price ratio (MPR) across basket molecules, wave 2. MPR = local median unit price in USD ÷ international reference price. An MPR of 10 means patients pay ten times the international supplier benchmark. Countries with at least 3 molecule cells shown.
(n) = molecule cells behind each median. Venezuela (median MPR ~210, 12 cells) is excluded from the chart: its official exchange rate diverges from street reality during hyperinflation, so its USD conversion is not yet comparable. Ecuador rests on only 3 cells. Reference prices are MSH 2015 supplier medians, the standard benchmark, so absolute levels run high by construction; the cross-country ranking is the robust signal.
Originator price ÷ generic price for the same molecule, same country, wave 2 (matched pairs with both sides priced)
In Brazil a patient choosing the originator ceftriaxone injection pays 33 times the generic price for the same molecule at the same pharmacies. 13 matched ratios exist so far; growing this panel is a core goal of the next waves.
Expressed in the WHO/HAI affordability metric, a month of therapy for one essential medicine costs between 0.05 and about 6 days of minimum wage across mainland markets: captopril in Nicaragua or amoxicillin in Peru cost under a tenth of a day's wage, while the worst mainland combinations approach a week of income.
Two denominators needed special treatment, now resolved. Venezuela converts at the parallel exchange rate (765.9 VES/USD, dated the same day as wave 2) and uses the USD-indexed ingreso mínimo integral (US$240/month) as its wage, since the frozen legal minimum of 130 bolívares (about 20 US cents a month) is meaningless; on that basis a month of therapy costs Venezuelans about 1.2 days of income. Cuba's affordability is disabled by design: its online prices are remittance dollars paid by relatives abroad, and no domestic wage makes that division meaningful.
Three structural findings emerged that are results in their own right:
The English and Dutch Caribbean has an OTC-only online ceiling. Working storefronts exist in Barbados, Jamaica, the Bahamas and the smaller islands, but they sell over-the-counter goods online while prescription medicines stay behind the counter. Six RED countries reflect market structure, not scraping failure.
Originators are scarce in LAC online retail. Only 6% of clean observations are innovator brands. Several countries with strong generic coverage (Ecuador, Guatemala, Dominican Republic, Suriname) show essentially zero originator products online, which caps the brand-premium panel and is itself a finding about how these markets are served.
Cuba's only online channel is the diaspora remittance economy. Its prices are US-dollar prices paid by relatives abroad, not domestic pharmacy prices, and are treated separately throughout.
| Pair coverage (both waves) | Molecules with a matched originator + generic pair | Class |
|---|---|---|
| Brazil | 10 of 14 | PAIRED BASKET |
| Argentina | 7 | PARTIAL |
| Peru, Haiti, Colombia | 6 | PARTIAL |
| Mexico, Honduras, Chile | 4 | PARTIAL |
| Venezuela, Nicaragua, Costa Rica | 3 | PARTIAL |
| 7 further countries | 1–2 | PARTIAL |
| 9 countries with data | 0 | NO PAIRS |
05 · The headline question
This is the comparison the instrument was built for. With WHO health-expenditure data joined to the cleaned wave-2 prices, each country now has two coordinates: how expensive its online essential medicines are (median MPR), and what share of its health spending comes out of patients' pockets.
The preliminary answer is: no relationship. Across the 18 countries with enough data, the rank correlation between price level and out-of-pocket share is slightly negative and statistically indistinguishable from zero (Spearman rho = −0.19, p ≈ 0.46; the affordability version is rho = −0.12). Removing Venezuela changes nothing.
Median MPR across basket molecules (wave 2, countries with ≥3 molecule cells) against out-of-pocket spending as % of current health expenditure (WHO GHED 2023). If prices drove OOP burden, points would climb to the right. They don't. Hover or tap any point for the country's numbers.
Spearman rho = −0.19 (n=18, p ≈ 0.46). The correlation and the underlying medians were independently recomputed by a second model family (Codex/gpt-5.5) from the raw grid and matched to three decimals. n=18 means this is "no evidence of a relationship," not yet "evidence of none."
The extremes make the point concretely. Guatemala carries the region's heaviest out-of-pocket burden (57% of health spending) at mid-range prices. Colombia carries the lightest (15%) at similar prices. Argentina has the highest mainland price level at a below-median OOP share. If this decoupling holds as the panel grows, the policy implication is that out-of-pocket burden in LAC is shaped more by coverage design, utilization, and what insurance fails to cover than by the retail price level of essential medicines themselves.
06 · The census, country by country
The census below is the project's foundation: for each of the 33 countries, every commercial online pharmacy identified (161 in total), with its measured status. Expand any country to see its pharmacies. This is also the honest map of representation: countries where no pharmacy delivers data are gaps in the online market itself, documented rather than papered over.
Status measured by an automated per-pharmacy audit (June 29 to July 4, 2026) plus browser-render verification of ambiguous cases; "delivering" means the pharmacy contributed priced observations to the current dataset. Some pharmacies in already-covered countries are deliberately left unbuilt; effort goes to countries that would otherwise be unrepresented.
Availability itself is a finding. Fourteen essential medicines were searched in every country with a working source; the number of countries where each returned a real online price varies widely, and the pattern is clinical, not technical: chronic and OTC-adjacent medicines are broadly available, while acute injectables and controlled substances thin out.
Out of the 27 countries that produced any data (both waves)
Diazepam (a controlled benzodiazepine) and captopril (an older molecule increasingly displaced by newer antihypertensives) are the scarcest online; omeprazole and diclofenac are near-universal. The 33-country target is capped by the six markets with no online prescription channel at all.
07 · Explore the prices
The table below is the live output of the pipeline for wave 2 (July 4, 2026): pick a medicine and see what it costs across every country with data. Prices are medians of all strength-matched products found at that country's covered pharmacies, converted to USD per unit (one tablet, capsule, or vial) at dated exchange rates.
Same data as the table below; bars re-draw with the medicine you pick.
| Country | products | median USD/unit | MPR | days of wage/month | originator USD | generic USD |
|---|
MPR = median unit price / MSH 2015 international reference price. Days of wage = cost of one month of therapy in days of minimum wage (Venezuela: USD-indexed income package; Cuba: not computed, remittance channel). Originator / generic medians appear where that side of the market was captured; a blank means no such product was found online, which is itself information. Cells rest on as few as one product in thin markets; read small-n rows gently.
08 · Next steps
The headline analysis. Country price levels joined to WHO out-of-pocket data (section 05): preliminary answer, no relationship. Next: firm it up with more waves and sources.
Fix the two broken denominators. Venezuela now converts at the dated parallel rate with a USD-indexed income proxy; Cuba's affordability is excluded by design with a channel flag.
Wave 3 and a monthly cadence. Each wave now takes ~25 minutes end to end, preceded by an automatic recipe health check. Repeated waves turn a snapshot into a price time series.
Grow the matched-pair panel. Add second sources in the zero-pair countries and keep enriching the verified brand vocabularies; every new pair strengthens the brand-premium estimate.
Visualization layer. Affordability map, brand-premium chart, price-versus-OOP scatter, built on the same regenerable analysis files.
Productize as an on-demand service. Wrap the census and extractors behind a query interface: ask for any medicine across LAC and get live, normalized prices back.
09 · Supporting this work
Everything in this report was built and run as an independent Decilion project: the census, the extractors, two full price waves, and the analysis pipeline, all reproducible from a versioned repository. The instrument works. What it needs now is fuel to become a standing regional resource:
Second sources per country. Redundant pharmacies in the thin markets turn single-source estimates into robust medians and grow the originator-generic matched panel.
A sustained monthly time series. Waves cost ~25 minutes of compute each; a funded year yields the region's first open longitudinal panel of retail medicine prices.
A larger basket. The 14 molecules validate the instrument; scaling to the full WHO/HAI core list (or disease-specific baskets: NCDs, mental health, antibiotics) is recipe reuse, not new engineering.
An open dashboard. The analysis files regenerate on every wave; a public visualization layer would let ministries, researchers, and journalists query prices directly.
If this work is useful to your organization, or you want the underlying data, methods detail, or a collaboration conversation: j.garcia@decilion.com · decilion.com