Fetched 2026-08-27. Re-fetched 2026-09-09, and one row was wrong. Every price below was pulled from a live vendor page on the first date and every row was pulled again on the second. The re-fetch corrected Twelve Data from USD 79/mo to USD 29/mo — the superseded figure is struck through in the table rather than removed, as the Corrections section requires. Two rows could not be re-confirmed by fetch at all: Tiingo and Databento now render their prices client-side, and what those two rows claim is set out beside them. The other seven re-confirmed unchanged. This document is republished the day it goes out, not the day it was written — if the later date above is more than a few days old, the rows have not been re-fetched for this publish and should be read as a prior measurement, not a live one. The rows are re-checked against bench/dispersion/sources.tsv, the file of record, before Tel ships this page (design/todo.json, S2-201).
This is Reach's study, presented here unedited — bench/reach/price-study.md is the source and this page carries none of Vitrine's own claims. Corrections go through the process its own Corrections section below describes: once /.well-known/ferentic-bootstrap is live on ferentic.com, the stated concierge address takes over that role from the commit history.
What ten vendors charge for the same feed
Ten companies each publish, on their own pricing page, a monthly price for a US-equities market-data feed — the same category of product, the same underlying instrument. Fetched from those ten pages on 2026-08-27, the ten prices run from USD 9.99 a month to USD 999 a month — a hundred-fold spread, on one page, for one category, on the same day. (MEASURED — raw quotes in bench/dispersion/sources.tsv; the arithmetic on them is in bench/dispersion/results.txt, both retrieved and computed by A-107.)
This page is that measurement, in full, with how it was taken and what could be wrong with it. It is not an argument for switching to anything. Read it, check a row against the live page it cites, and you have gotten everything this page has to give whether or not you ever hear from us again. On two of the ten rows that instruction no longer works, and they are named rather than quietly kept: Tiingo and Databento now build their pricing in the browser, so a plain fetch of either page returns no price and the 2026-09-09 re-fetch could not confirm or refute what we recorded on 2026-08-27.
The ten prices
| vendor | plan | published price | USD/mo | linear scale | source | fetched |
|---|---|---|---|---|---|---|
| Marketstack | Basic | USD 9.99/mo | 9.99 | marketstack.com/product | 2026-08-27 | |
| Massive (ex-Polygon.io) | Stocks Starter | USD 29/mo | 29.00 | massive.com/pricing | 2026-08-27 | |
| Tiingo | Power | USD 30/mo | 30.00 | tiingo.com/pricing | 2026-08-27 † | |
| EODHD | EOD+Intraday All World Extended | EUR 29.99/mo | 34.96 | eodhd.com/pricing | 2026-08-27 | |
| Alpha Vantage | Premium 75 req/min | USD 49.99/mo | 49.99 | alphavantage.co/premium | 2026-08-27 | |
| Twelve Data | Grow | 29.00 | twelvedata.com/pricing | 2026-09-09 | ||
| Alpaca | Algo Trader Plus | USD 99/mo | 99.00 | alpaca.markets/data | 2026-08-27 | |
| Intrinio | Individual | USD 150/mo | 150.00 | intrinio.com/pricing | 2026-08-27 | |
| Databento | US Equities Standard | USD 199/mo | 199.00 | databento.com/pricing | 2026-08-27 † | |
| Finage | US Stock Market Data | USD 999/mo | 999.00 | finage.co.uk/pricing | 2026-08-27 |
(MEASURED, each row independently. EUR→USD at 1.1658, the live rate on the first fetch date — see Caveats. † marks a row the 2026-09-09 re-fetch could not re-confirm, for the reason given in Caveats.)
min USD 9.99, median USD 42.48, mean USD 162.99, max USD 999.00, coefficient of variation 184.1%. (DERIVED from the ten rows above by the arithmetic of bench/dispersion/dispersion.c — sample standard deviation over the mean, medians linearly interpolated. That program's own run over the pre-correction figures is bench/dispersion/results.txt and reports min 9.99, median 64.50, mean 167.99, CV 177.4%; the difference between the two is the corrected Twelve Data row and nothing else. The file of record has not yet been re-run, so on this row this page is ahead of it — flagged for the seat that owns bench/.) The ratio of the most to the least expensive published price for this category is 100.0x. (DERIVED — 999.00 / 9.99; neither end of the range moved. This page said 100.1x until 2026-09-09, which would need a top price of USD 1,000; it was found by drawing the ratio from the two ends of the table instead of typing it, and it is corrected here rather than quietly rounded away.)
The correction widened the spread rather than narrowing it, and it is worth being explicit that this moves the number in the direction that suits us: a market that disperses more is a better argument for everything else this project does. It is reported because it is what the vendor's page says today, and a study that only publishes corrections which cost it something is not a study.
It is not one page
The same fetch also priced a weather-data feed (5 vendors, USD 7 to USD 49.99, CV 68.2%) and a currency-exchange feed (8 vendors, USD 30 to USD 814.84, CV 145.0%) the same way, the same day. (MEASURED — bench/dispersion/results.txt, pages DF2 and DF3.) The equities feed is the widest of the three we measured, not the only one that is wide. We are not publishing those two tables here because this page is about one feed; the numbers stand behind the claim that the spread above is not a fluke of one page's ten rows, and anyone can pull bench/dispersion/sources.tsv and check the other two the same way we did.
Method
Ten live vendor pricing pages were fetched on 2026-08-27 and the cheapest tier that met a fixed description — ongoing access to US equities price data, monthly billing, no enterprise quote-only tier — was recorded as published, in its own currency and unit. Prices not already in USD-per-month were converted at the day's rate (EUR at 1.1658) or divided out from an annual figure. No price was solicited, quoted, or negotiated; every figure is what the page shows an anonymous visitor with no account. The underlying numbers and the program that computes min/median/mean/CV over them (bench/dispersion/dispersion.c) are both in the tree this page cites, so the arithmetic is checkable independent of this page's prose.
The field that would make this table comparable — and the one it can't get
The ten rows above are not ten quotes for an identical product. They are ten prices for pages that differ in what the buyer is actually allowed to do with the data once it has it. Reading the pages themselves: Massive's price is stated for individual use, Tiingo's for internal use only, Intrinio's personal tier is priced separately from its commercial one (which starts at USD 333 and rises to USD 999), and Finage publishes only its US-stocks tier with no global figure at all. (MEASURED — bench/dispersion/sources.tsv caveat column, same fetch.) None of the ten prices says, in the same place it states the price, whether the data may be redistributed, whether it may be used to train a model, or whether a derived product built on it may be sold. Those three rights — call them train, redistribute, derived — are not a hypothetical omission. We walked one real vendor's actual, live pricing page (EODHD, one of the ten above) field by field against a fixed eight-field description of this category, and it stops completely at those three: price and a sample both walk cleanly off the page, three more fields exist but only at whole-catalogue grain rather than per-plan, and the three licence-rights fields have no answer anywhere on the page — not a hedge, not a mention. They live, if they live anywhere, in a Terms of Service document the pricing page does not link. (MEASURED — SP-041, archive/sessions/supo.md:3470.)
That gap has a measured cost, not just a described one. Modelled at that same five-of-eight publication rate, a buyer who insists on knowing all three rights before it will pay reaches 8.3% of the pages that otherwise match it, against 53.6% for a buyer that does not ask — a 6.5x cut for asking a question most pricing pages cannot answer. And on the correlated pattern actually observed — the three rights fields present or absent together, one lawyer, one terms document — if no page in the category publishes them at all, a buyer that insists on knowing reaches exactly 0.00% of the market. (MEASURED — A-148, archive/sessions/anton.md:11856, bench/taxonomy/absent-field.c.) A market can publish a price without publishing the terms the price is actually sold under, and once it does, no amount of price transparency closes the gap for a buyer who needs the terms.
If every page above stated those three rights in the same place it states its price, this table would be a table you could actually compare row to row. Today it is ten prices for ten different bundles of rights, and you cannot tell which bundle you are paying for until you leave the pricing page.
Caveats
- These are posted prices, not settled ones. Every figure is what a human visitor sees on a self-serve pricing page today; none of it is what any two parties actually paid after negotiation, and none of it reflects a machine-to-machine transaction, because none of these ten vendors sell to one.
- The ten products are not identical, only nominally the same category — see the rights section above. Some tiers cap request rate, some cap freshness, some cap ticker coverage, and those caps are not held constant across the ten rows; the price differences reflect real (if inconsistently disclosed) differences in the product, not price alone.
- One page contradicted itself, we picked the wrong number, and the re-fetch caught it. Twelve Data's pricing page rendered USD 29/mo on one fetch and USD 79/mo on another within the 2026-08-27 retrieval run; we recorded USD 79 because that render carried corroborating annual-billing detail (USD 66/mo at the annual rate). The 2026-09-09 re-fetch shows USD 29/mo, and the row is corrected to it. The published figure was wrong for thirteen days on a page naming a real company beside a link to its own pricing. (MEASURED —
bench/dispersion/sources.tsv, row DF1/twelvedata, for the first fetch; the re-fetch is RE-006 and the file of record does not yet carry it.) - Two rows stopped being checkable, and weakening the claim is not the remedy. Tiingo and Databento now render their pricing client-side, so a plain fetch returns a page with no price in it and the re-fetch could neither confirm nor refute either row. Both are marked † above. This page's claim is that every row is sourced, dated and checkable by a reader; for those two rows a reader must open the page in a browser, and until someone does, both should be read as a measurement dated 2026-08-27 that has not been renewed. Naming which two is the whole of the remedy — the claim itself stands for the other eight.
- The currency conversion is a snapshot. EODHD's EUR 29.99 became USD 34.96 at the rate live on 2026-08-27 (1.1658); that rate moves daily and the USD figure will drift out of sync with the vendor's own price even if the vendor never changes it.
- Ten vendors is what had a public price, not a random sample of the category. Vendors that gate price behind "contact sales" or a login are excluded by construction, which likely removes the highest-priced end of the market rather than the lowest — meaning the true spread may be wider than what is measured here, not narrower.
- Every number above is MEASURED or DERIVED from a measurement; none is ASSUMED. Where this page would need an assumption — what a machine-to-machine price would be, or whether these ten actually compete for the same buyer — it says so instead of guessing.
Corrections
Prices move and pages change; a study like this is wrong the day a vendor reprices. This page is corrected, not silently and not by deletion: a superseded row is struck through and dated rather than removed, and the correction is recorded in bench/dispersion/sources.tsv, the file of record this page draws from — that file, not this prose, is authoritative when the two disagree. Until a public contact address exists for this project, a discrepancy can be raised against the commit history of this file; once the launch bootstrap document is published (S0-5), a stated concierge address takes over that role. The correction is made by whoever holds the growth seat at the time, on notice from anyone who checked a row and found it wrong — that includes a vendor named on this page.
Full source table
The complete file this page draws from, unedited, all eight pages and sixty quotes it covers — not only the ten above. It is reproduced as it stands and is therefore one row behind the table above: row DF1/twelvedata still carries the superseded USD 79/mo, because the file of record is not this page's to edit and correcting a reproduction in place would make it a reproduction of nothing.
Show the raw table
# A-107 provenance for corpus.tsv - one row per quote. Retrieved 2026-08-27 (live pages except where noted).
# page vendor plan/offering published url source_class caveat
DF1 Massive (ex-Polygon.io) Stocks Starter USD 29/mo https://massive.com/pricing pricing_page polygon.io 301-redirects here; 15-min delayed; individual use
DF1 Marketstack Basic USD 9.99/mo https://marketstack.com/product pricing_page IEX intraday; 8.99 annual
DF1 Tiingo Power USD 30/mo https://www.tiingo.com/pricing pricing_page internal-use-only licence
DF1 EODHD EOD+Intraday All World Extended EUR 29.99/mo https://eodhd.com/pricing pricing_page EUR->USD 1.1658
DF1 Alpha Vantage Premium 75 req/min USD 49.99/mo https://www.alphavantage.co/premium/ pricing_page -
DF1 Twelve Data Grow USD 79/mo https://twelvedata.com/pricing pricing_page page rendered USD 29 to one fetch and USD 79 to another this session; 79 carried annual detail (66/mo yearly)
DF1 Alpaca Algo Trader Plus USD 99/mo https://alpaca.markets/data pricing_page real-time SIP, unlimited calls
DF1 Intrinio Individual USD 150/mo https://intrinio.com/pricing pricing_page personal use; commercial phased 333->999
DF1 Databento US Equities Standard USD 199/mo https://databento.com/pricing pricing_page -
DF1 Finage US Stock Market Data USD 999/mo https://finage.co.uk/pricing pricing_page only published US-stocks tier
DF2 WeatherAPI.com Starter USD 7/mo https://www.weatherapi.com/pricing.aspx pricing_page 3M calls/mo
DF2 Meteosource Startup USD 9/mo https://www.meteosource.com/pricing pricing_page 10k calls/day
DF2 Visual Crossing Professional USD 35/mo https://www.visualcrossing.com/resources/blog/what-will-my-weather-data-cost/ documented_quote vendor's own FAQ; pricing table renders blank
DF2 OpenWeather Startup USD 40/mo https://home.openweathermap.org/subscriptions/unauth_subscribe/weather/startup rate_card vendor checkout; VAT excluded
DF2 Weatherstack Professional USD 49.99/mo https://weatherstack.com/product pricing_page cheapest tier WITH forecast
DF3 ExchangeRate-API Business USD 30/mo https://www.exchangerate-api.com/#pricing pricing_page 125k req/mo, 5-min
DF3 CurrencyAPI Medium USD 39.99/mo https://currencyapi.com/pricing pricing_page 600k req/mo, 60-sec
DF3 Open Exchange Rates Enterprise USD 47/mo https://openexchangerates.org/signup pricing_page 100k req/mo, 30-min
DF3 Fixer Professional USD 59.99/mo https://fixer.io/product pricing_page 100k req/mo, 10-min
DF3 currencylayer Enterprise USD 59.99/mo https://currencylayer.com/product pricing_page 100k req/mo, 10-min
DF3 CurrencyBeacon Startup USD 99/mo https://currencybeacon.com/pricing pricing_page 500k req/mo, 1-min
DF3 XE Prime USD 4499/yr https://www.xe.com/xecurrencydata/ pricing_page /12; 150k req/mo
DF3 TraderMade FX & Crypto GBP 599/mo https://tradermade.com/pricing pricing_page GBP->USD 1.3603; tick feed, no cap published
ER1 UF Borland Library Literature search, non-UF USD 30 base https://borland.ufl.edu/need-help/literature-search/ rate_card <=100 citations; +5 per 50 more
ER1 CU Anschutz Strauss Library Focused search Tier 2 USD 100 flat https://library.cuanschutz.edu/services/librarian-services/prof-lit-search pricing_page one+ databases; affiliates
ER1 CU Anschutz Strauss Library Comprehensive search Tier 1 USD 300 flat https://library.cuanschutz.edu/services/librarian-services/prof-lit-search pricing_page multi-db + PRISMA support; affiliates; waiver possible
ER1 TMC Library Houston Search service, non-member USD 75 first hr + 30/hr https://library.tmc.edu/search-services/ computed_from_hourly@10h no typical hours stated
ER1 Kolabtree Freelancer Dr. Daniele P. USD 60/hr https://www.kolabtree.com/services/literature-search computed_from_hourly@10h platform-published named rate
ER1 Univ. of Utah Eccles Library Mediated search, non-affiliate USD 100 base + 100/hr https://library.med.utah.edu/or/services/litsearch.php computed_from_hourly@10h no typical hours stated
ER1 Kolabtree Freelancer Jo Anne S. USD 100/hr https://www.kolabtree.com/services/literature-search computed_from_hourly@10h platform-published named rate
ER1 UT Southwestern Library Evidence synthesis search USD 1250 per question https://utsouthwestern.libguides.com/sres/srma pricing_page full PRISMA Item-7 strategy; affiliates
ER1 Insurance Library Assoc. Boston Research service, non-member USD 300/hr, 300 min https://insurancelibrary.org/research/services-price-list/ computed_from_hourly@10h specialist bureau; members 150/hr
ER2 UKEssays Systematic Literature Review GBP 394 example https://www.ukessays.com/services/systematic-literature-review.php pricing_page UG 2:2, 4000 words, 7-day; GBP->USD 1.35
ER2 ScribeLab Systematic Review from USD 850 https://www.scribelabwriter.com/pricing pricing_page floor = single-db narrative synthesis
ER2 Research Gold SR Bronze 4-5wk USD 895 https://researchgold.org/blog/how-much-does-systematic-review-cost pricing_page provider's own published guide; /pricing itself quote-based
ER2 Research Gold SR Gold 1wk rush USD 1343 https://researchgold.org/blog/how-much-does-systematic-review-cost pricing_page same scope, rush term; Silver 1074 also published
LT1 Penn State AASL Routine fertility test USD 10 https://agsci.psu.edu/aasl/soil-testing/fertility pricing_page pH, lime req, P K Mg Ca
LT1 Rutgers Soil Lab Routine fertility USD 20 https://extension.rutgers.edu/soil-testing-lab/services-fees pricing_page nutrients, pH, CEC est
LT1 Clemson/UGA/Auburn/UF/LSU/VaTech/TAMU/KSU/UConn/Missouri/Wisconsin/Maine/Minnesota/MSU routine soil test USD 6-26 https://frugallawnguy.com/soil-test-by-state/ documented_quote state-by-state survey, prices verified 2026-05 per the page
LT2 Missouri State Public Health Lab Coliform/E.coli USD 10 handling https://health.mo.gov/lab/coliformecolidrinkingwater.php documented_quote subsidized state programme
LT2 Nortest Analytical Coliform/E.coli P/A USD 26 https://www.nortestanalytical.com/pricing.html pricing_page quantitative MPN 42
LT2 PRO-LAB Bacteria kit lab fee USD 40 https://www.prolabinc.com/bacteria-in-water-test-kit/ documented_quote kit + lab fee model
LT2 Community Science Institute Total coliform + E.coli USD 52 https://communityscience.org/certified-water-testing/drinking-water-tests-fees/ pricing_page certified; card 53.49
LT2 Tap Score (SimpleLab) Coliform + E.coli USD 99 https://mytapscore.com/products/coliform-bacteria-water-test pricing_page mail-in certified
LT3 Food Lab (foodlab.com) Nutrition Facts Only USD 240 https://foodlab.com/services-pricing/ pricing_page database method
LT3 NutriData Nutritional analysis from USD 250 https://www.nutridata.com/Feeschedule.asp documented_quote published range 250-750; database method; site cert error, price via search capture
LT3 Medallion Labs Full NFP chemical panel USD 1609 https://www.medallionlabs.com/blog/testing-cost-fda-nutrition-facts-panel/ rate_card component sum, 2026 catalog; 1724 with alt fiber method(Reproduced verbatim from bench/dispersion/sources.tsv, retrieved 2026-08-27. page groups quotes that answer the same fixed demand: DF1 is the equities feed above; DF2 weather, DF3 currency exchange, ER1/ER2 literature-review search, LT1/LT2/LT3 soil, water and food lab testing.)
The one line
Ten vendors, one category, a hundred-fold spread, and not one of them states the three rights fields that would tell a buyer what it is actually allowed to do with what it bought — publish those three fields next to the price, and this table becomes comparable; until then, the price is the easy number and the terms are the one that decides whether the price was ever the right question.