Benchmarks

We compare combined rates with official state answers, reporting correct, wrong and declined lookups separately.

A house and an address envelope on a tiled platform

Address in

90 W Broad St, Columbus, OH

A map pin, neighborhood boundaries, and calculator locate the address and calculate its tax rate

Geocode → map → calculate

An example sales tax rate of 8.00% printed on a receipt

Sales tax rate out

What does this lookup cost?

Pricing below compares the work behind the rate.

Held-out provider comparison

On 22 October 2026, OpenTaxRate matched 275 of 277 held-out addresses, with 0 wrong rates and 2 declines. With self-hosted geocoders only: 269 correct, 0 wrong, 8 declined.

Percent correct, by service
Service% correct
Avalara AvaTax
99.6% n=277
OpenTaxRate — with geocoding providers
99.3% n=277
TaxJar
98.2% n=277
OpenTaxRate — self-hosted geocoders only
97.1% n=277
Zip-Tax Earlier sample: 71 of 255 addresses, 5 per state
93.0% n=71
TaxCloud
89.6% n=67
APIVerve Separate sample: 87 addresses; ZIP code only
87.4% n=87
Geoverio
82.3% n=277
OpenSalesTax
82.3% n=277
Lovat
78.3% n=277
How we tested

277 random addresses across the 50 states and DC, held out from development and labeled with each state's own published rate, tested on 22 October 2026. Correct means the state's rate to within 0.005 percentage points; a refusal counts as not correct.

Right / wrong / refused, by how OpenTaxRate reads the state
ServiceStatewide rateStreet rangesMapCalifornia (CDTFA)All
Avalara AvaTax48 / 0 / 0139 / 1 / 083 / 0 / 06 / 0 / 0276 / 1 / 0
OpenTaxRate — with geocoding providers48 / 0 / 0138 / 0 / 283 / 0 / 06 / 0 / 0275 / 0 / 2
TaxJar48 / 0 / 0136 / 4 / 082 / 1 / 06 / 0 / 0272 / 5 / 0
OpenTaxRate — self-hosted geocoders only48 / 0 / 0136 / 0 / 479 / 0 / 46 / 0 / 0269 / 0 / 8
Zip-Tax11 / 1 / 029 / 0 / 024 / 4 / 02 / 0 / 066 / 5 / 0
TaxCloud18 / 0 / 02 / 4 / 040 / 3 / 0—60 / 7 / 0
APIVerve24 / 0 / 032 / 5 / 018 / 5 / 02 / 1 / 076 / 11 / 0
Geoverio47 / 1 / 0119 / 16 / 556 / 20 / 76 / 0 / 0228 / 37 / 12
OpenSalesTax42 / 6 / 0112 / 28 / 069 / 14 / 05 / 1 / 0228 / 49 / 0
Lovat48 / 0 / 098 / 42 / 068 / 15 / 03 / 3 / 0217 / 60 / 0
  • Statewide: one rate everywhere (8 places, including DC). Street ranges: the state publishes address lists (25 states). Map: the address is placed on tax maps (17 states). California: the state's own lookup.
  • In Alaska, Colorado and Missouri the state's own lookup is run by Avalara, so Avalara is checked against itself there. OpenTaxRate is shown without those lookups. Leaving out those 18 addresses, OpenTaxRate got 259 of 259 and Avalara 258 of 259.
  • OpenTaxRate ran with every geocoder it uses and without the states' own live lookups. It gave no wrong rates and refused 2 addresses, both in Missouri, whose files don't list the street and whose ZIP+4, looked up from Geocodio, the map doesn't confirm. Missouri's own lookup (STATE_LOOKUPS=MO, which the hosted API uses) answers both correctly; with it, OpenTaxRate gets all 277.
  • Self-hosted geocoders only: 269 of 277 right, 0 wrong, 8 refused. Four are in street-range states where the street isn't listed and its ZIP has more than one rate (two in Missouri, which its own lookup answers), three couldn't be placed by any of the three geocoders, and one lies 40 m from the Eunice, New Mexico city line.
  • Zip-Tax and APIVerve weren't asked this sample: Zip-Tax's figure is from an earlier sample of 255 addresses, 5 per state, of which it was asked 71, and APIVerve's from a separate random sample of 87 addresses (it takes a ZIP code, not a street address). TaxCloud was asked 67 of the 277.
  • Geoverio was asked the same 277 officially labeled evalA addresses with full street addresses and default caching. Resolved numeric rates and explicit no-sales-tax zero rates are answers; manual-lookup responses count as refusals. Raw responses are retained; rates were not corrected to match official labels.
  • OpenSalesTax v0.59.0 ran locally from its published data dump, asked by ZIP code (it takes no street address). Its wrong rates are mostly ZIP codes that cross city or district lines, Colorado home-rule cities it does not model, and DC, where it charges 7% though DC postponed that increase to 1 October 2027.

Separately, the development benchmark on 2026-10-23 scored 5,301 of 5,317 correct, 4 wrong and 12 declined. Public datasets, scoring rules and how to run it ↗

Reading these numbers

  • We tune on the development set; the held-out set is the fair test.
  • Without a key, only our own geocoders run, so more lookups are declined.
  • Only the combined rate is scored, not the breakdown.
  • Zero wrong in 275 still allows an error rate up to about 1.1%.

Pricing

OpenTaxRate is free without a key, or $1.95 per 1,000 lookups with one; self-hosted, it costs $0 plus hosting with its own geocoders. Most other services sell monthly plans.

Shaded figures are our estimates; the rest are the vendors' published prices, as of 2026-10-22.

Published price and our estimated cost per 1,000 lookups, by vendor
ServicePublished pricePer 1,000 lookups (est.)
OpenTaxRate APIFree without a key; $1.95 per 1,000 lookups with one$0–1.95
OpenTaxRate, self-hostedFree on your own server: $0 with only its own geocoders (Nominatim, Photon, Pelias), or the providers' prices for any commercial geocoders you add keys for$0–1.14 + hosting (sample mix)
Avalara AvaTaxFrom $69 per state per monthDepends on states / contract1
TaxJar$99/mo for 200 orders$49.501,2
Zip-Tax$29/mo, then from $0.0242 per callAllowance unclear
APIVerve$29.99/mo for 200,000 credits (2 per call); free plan 200 credits a month$0.303
TaxCloud$79/mo for 200 orders$39.501,2
Geoverio$0.50 per 1,000 PAYG; $9/mo for 100,000 requests; free 1,000/mo$0.50 PAYG / $0.09 at capacity
Lovat€20 per 5,000 extra transactions, plus a plan fee€0.40 + plan2,3
API NinjasDeveloper $59/mo for 100,000 calls; $39/mo with annual billing$0.59 at capacity
TaxRate.io$9.99/mo for 10,000; $19.99/mo for 100,000 requests$0.20–1.00 at capacity3
SalesTaxAPI$19/mo for 2,000 requests; extra requests $5 per 5,000$9.50 entry / $1.00 extra3
Stripe Tax$0.05 per calculation$50
Quaderno$83/mo for 1,000 transactions$8.301
Anrok$50 per market per month for ecommerce; $100 otherwise$5–100 (one market)1
Zip2Tax$1,500/yr for 1,000 lookups a month$125
  1. 1 The plan also covers filing, registration or other compliance work, so this is the whole plan fee spread over lookups, not a per-call price like Stripe's.
  2. 2 A lookup counts as a fraction of an order or transaction (1/10).
  3. 3 Rates by ZIP code, not street address.
How we estimated, and sources

Each estimate uses the plan and utilization stated below; several assume the entire allowance is used. At lower volume the effective cost rises. Overage prices exclude base fees, and per-state plans do not imply nationwide coverage. These are planning figures, not quotes. Prices change; dates are when we read each page.

  • OpenTaxRate API. Our own price. Without a key, lookups use only our own geocoders and cost nothing. With a key they may also use commercial geocoders, at $1.95 per 1,000 lookups that return a rate; declined addresses aren't charged. OpenTaxRate pricing (2026-10-22)
  • OpenTaxRate, self-hosted. No fee from us. Provider counts below are scaled to 1,000 lookups from a 309-address run, not raw counts for 309 addresses. For example, 78 Geocodio calls ÷ 309 × 1,000 ≈ 252. This models the observed provider mix at the listed unit prices, not a maximum or an invoice. Different addresses, retries, storage rights and provider plans change the cost; HERE’s current public page does not expose its unit rate.
    • With only its own geocoders, no provider is paid: $0 plus hosting.
    • Geocodio: 252 calls × $1.00 per 1,000 = $0.25
    • Geocodio ZIP+4 standardization: 243 × 2 lookups × $1.00 per 1,000 = $0.49
    • HERE: 246 calls × $0.83 per 1,000 = $0.20
    • Mapbox: 104 calls × $0.75 per 1,000 = $0.08
    • Esri: 42 calls × $0.50 per 1,000 = $0.02
    • Google: 19 calls × $5.00 per 1,000 = $0.10
    • Census and OpenStreetMap (Pelias, Photon): free
    • Total about $1.14 per 1,000 at this provider mix; without Google, about $1.04. Free tiers and provider terms apply separately. Mapbox’s $0.75 rate is for temporary results; permanent storage starts at $5 per 1,000 with no free tier. Using that rate adds about $0.44 at this mix. Hosting and other paid services are excluded.
    Geocodio (2026-10-22) · HERE (2026-10-22) · Mapbox (2026-10-22) · Google Maps Platform (2026-10-22) · Esri ArcGIS (2026-10-22) · Mapbox storage and pricing (2026-10-22)
  • Avalara AvaTax. The published $699/year is per state for a compliance bundle, equivalent to $58.25/month. At 2,000 lookups/month in one paid state, that is $29.13 per 1,000. It is not a nationwide API quote; API eligibility and state coverage need confirmation. The old rates-by-address documentation URL now redirects to generic developer navigation, so it no longer substantiates a free production API. Avalara pricing (2026-10-22) · AvaTax rates by address (2026-10-22)
  • TaxJar. $99 ÷ 2,000 lookups, on Professional, the cheapest plan with the API. TaxJar pricing (2026-10-22)
  • Zip-Tax. Growth is $29/month and overage starts at $0.0242/call ($24.20 per 1,000 extra calls). The public page does not tie an included call allowance to this price; the calculator’s default 15,000 must not be treated as the allowance. The free plan advertises 100 calls/month; our account stopped after 100 total. Zip-Tax pricing (2026-10-22)
  • APIVerve. $29.99 ÷ 100,000 calls on Starter, the vendor's own figure. Larger plans come to $0.20 and $0.15. The API takes a 5-digit ZIP code. APIVerve pricing (2026-10-22) · Sales tax API (2026-10-22)
  • TaxCloud. $79 ÷ 2,000 lookups. The price is from our 2026-10-21 reading; on 2026-10-22 the page showed order tiers without prices. TaxCloud pricing (2026-10-21)
  • Geoverio. PAYG has no monthly fee. Starter: $9 ÷ 100,000 × 1,000 = $0.09 only when fully used. Benchmarked with full street addresses on the same 277 officially labeled evalA cases; see the measured accuracy column. Low subscription unit prices depend on utilization. Geoverio pricing (2026-10-22) · Sales tax API documentation (2026-10-22)
  • Lovat. 10 lookups count as one transaction, so €20 covers 50,000 lookups past the plan's allowance. The plan fee isn't published. Lovat is now called Lappa. Lovat transaction pricing (2026-10-22)
  • API Ninjas. $59 ÷ 100,000 × 1,000. Sales tax documentation accepts street_address with city and state; combined rates and commercial use require a paid plan. Developer disallows data caching/storage. Not benchmarked; street input alone does not establish rooftop accuracy. API Ninjas pricing (2026-10-22) · Sales tax API (2026-10-22)
  • TaxRate.io. Basic: $9.99 ÷ 10,000 × 1,000 ≈ $1.00; Advanced: $19.99 ÷ 100,000 × 1,000 ≈ $0.20. The vendor describes US ZIP-level lookups. Public pages are old; current availability and billing need confirmation. Not benchmarked. TaxRate.io pricing (2026-10-22) · TaxRate.io coverage (2026-10-22)
  • SalesTaxAPI. Starter: $19 ÷ 2,000 × 1,000 = $9.50. Extra requests: $5 ÷ 5,000 × 1,000 = $1, plus the plan fee. Enterprise is $199 for 100,000 ($1.99 per 1,000 at capacity). Documentation requires state and 5-digit ZIP, not a street address. Not benchmarked. SalesTaxAPI pricing (2026-10-22) · SalesTaxAPI docs (2026-10-22)
  • Stripe Tax. $0.05 × 1,000, using the Calculations API alone. With the Transaction API, each $0.50 transaction includes 10 calculations. Stripe Tax pricing (2026-10-22) · Stripe: how Tax is billed (2026-10-22)
  • Quaderno. $83 ÷ 10,000 API calls on Business, fully used. Startup is $41 for up to 2,500 API calls ($16.40 per 1,000 at capacity); Hobby is $24 for 250 ($96 per 1,000). These are different utilization scenarios, not the bill for 1,000 calls. Quaderno pricing (2026-10-22)
  • Anrok. Starter costs $50 per market per month for ecommerce and $100 otherwise. At 1,000 lookups/month in one market, that is $50–100 per 1,000; at 10,000, $5–10. Each registered US state is a separate market. API eligibility and high-volume fees depend on contract; this is not a nationwide API quote. Anrok pricing (2026-10-22)
  • Zip2Tax. $1,500 ÷ 12,000 lookups, for the street-address database. The ZIP-level one is $389 a year. Zip2Tax pricing (2026-10-22)

Accuracy vs. price

2,000 lookups per month. Higher and further left is better.

Measured accuracy against estimated dollars per 1,000 lookupsHigher and further left is better. The horizontal axis is logarithmic, from $0.10 to $100; accuracy runs from 0 to 100 percent. Hollow dots have conditional prices or a separate sample, including APIVerve’s 87 ZIP-code lookups. Full figures and methodology are on the benchmarks page.0%20%40%60%80%100%$0.1$0.5$1$2$5$10$20$50$100Correct / asked (%) ↑Estimated USD / 1,000 lookups · log scale · ← cheaperOpenTaxRate API: 99.3% (275/277), $1.95 per 1,000. Keyed plan; first 100 free excluded. The measured run enabled all configured providers with Geocodio’s quota exhausted; production quotas and budgets can change coverage.OpenTaxRate APIGeoverio: 82.3% (228/277), $0.50 per 1,000. PAYG $0.50 per 1,000 requests, no monthly fee. At 2,000 lookups/month: $1.00/month. The separate free plan and subscription capacity prices are not used for this point. Full street-address inputs on the same 277 officially labeled evalA cases.GeoverioTaxCloud: 89.6% (60/67), $39.50 per 1,000. Historical illustration: $79/month ÷ 2,000 × 1,000 from the 21 October reading. Current page exposes no price; API allowance needs confirmation.TaxCloud*TaxJar: 98.2% (272/277), $49.50 per 1,000. $99/month Professional, 200 orders = 2,000 rate lookups; no imported orders. Full monthly allowance used.TaxJarAvalara AvaTax: 99.6% (276/277), $29.13 per 1,000. Illustration only: $699/year for ONE paid state ÷ 12 ÷ 2,000 × 1,000. Nationwide API access and contract cost are not established.Avalara AvaTax*APIVerve: 87.4% (76/87), $14.99 per 1,000. Separate sample: 76/87 correct (87.4%), ZIP-code input only; not the 277-address evalA sample, so excluded from frontier ranking. Starter is $29.99/month for 200,000 credits, at 2 credits/call. At the chart’s 2,000 lookups/month: $29.99 ÷ 2 = $14.995 per 1,000. The $0.30 figure requires using all 100,000 included calls.APIVerve*

○ Conditional price or separate sample. Details on the benchmarks page.

Appendix

Chart data and assumptions
Chart data at 2,000 lookups per month. Select a service for its price assumptions.
Service / assumptionsCorrect / askedUSD / 1,000Comparison
99.3% · 275/277$1.95Not dominated in this comparison
82.3% · 228/277$0.50Not dominated in this comparison
89.6% · 60/67$39.50Conditional; excluded from frontier
98.2% · 272/277$49.50Dominated in this comparison
99.6% · 276/277$29.13Conditional; excluded from frontier
87.4% · 76/87$14.99Separate sample; excluded from frontier

OpenTaxRate API. Keyed plan; first 100 free excluded. The measured run enabled all configured providers with Geocodio’s quota exhausted; production quotas and budgets can change coverage.

SVG · Data and sources (CSV)