Skip to content

Spaw vs ipapi

ipapi.co is a geolocation API sold as monthly lookup quotas, whose pricing page credits its data to DB-IP and the IP2Location LITE database; the answer carries location, country and network fields and no proxy, VPN or Tor flag.

The table uses ipapi's public pricing and documentation pages as checked on 2026-09-12, and Spaw's own pricing page. A row those pages carry no value for is marked "not on the pages read" rather than guessed at, and that is a statement about the reading and not about what ipapi publishes.

  spaw ipapi
Pricing modelPay-as-you-go credit packs whose credits never expire, or optional plans, billed monthly or yearly, that deposit the same credits every month for less and roll unused plan credits over up to three months' allowance; both through Stripe Checkout. One credit buys five answered IP lookupsMonthly plans by lookup quota: Starter "$15 billed monthly" for 60,000 lookups, Professional "$25 billed monthly" for 150,000, Business "$49 billed monthly" for 500,000, Enterprise "$99 billed monthly" for 2,000,000, Premium "$199 billed monthly" for 6,000,000, Ultimate "$399 billed monthly" for 15,000,000; annual billing is 20% less.
Free tier100 free credits every month, no card requiredA free trial of "up-to 1000 IP lookups in a day" (about 30,000 a month), "for testing & development purposes" and "Not for production use"
Price per 1,000 at about 10k$1.80 per 1,000 IP lookups at 5 to the credit (Starter pack: 1,000 credits for $9), or $1.40 on the Starter monthly plan (1,000 credits for $7 a month)not on the pages read
Price per 1,000 at about 100k$1.56 per 1,000 IP lookups at 5 to the credit (Growth pack: 5,000 credits for $39), or $1.16 on the Growth monthly plan (5,000 credits for $29 a month)not on the pages read
Addresses no feed covered billedOne credit buys five answered addresses whatever their flags say; a flag no feed could evaluate answers null rather than false, and the answer costs the samenot on the pages read
Reserved and private ranges billedNo: reserved, private, loopback, CGNAT, documentation and multicast ranges answer reason reserved_range and are free, unallocated space is free, and so are repeats within 7 daysnot on the pages read
Feeds behind the flagsPublic feeds, each named in the answer with the date it was synced: DB-IP Lite and RFC 8805 geofeeds for location, the five registries' delegated statistics for allocation, Spamhaus DROP and ASN-DROP and abuse.ch Feodo Tracker for blocklists, the Tor Project's exit list and Onionoo, the Mullvad, NordVPN and Private Internet Access server lists plus the open X4BNet lists, Apple's iCloud Private Relay egress list, the cloud providers' own published ranges, and the verification files Google, Microsoft, OpenAI, Perplexity, DuckDuckGo and Ahrefs publish for their crawlers.None: the documented answer carries no proxy, VPN, Tor, hosting or threat field. The pricing page names the data behind the location as "IP geolocation by DB-IP" and the "IP2Location LITE database".
Refresh cadenceEvery feed re-syncs daily, the botnet command-and-control list hourly, and the geofeed crawl weekly. Each response names every dataset it consulted with the date it was last synced, and /status lists them all.not on the pages read
Geolocation sourceThe DB-IP Lite database, overridden wherever the operator publishes the location itself — an RFC 8805 geofeed, Apple's relay list, a VPN provider's server list. location_source says which answered, and location_confidence is graded from a weekly accuracy report rather than asserted.DB-IP and IP2Location LITE, per the pricing page's data credits. Fields: ip, version, city, region, region_code, country_code, country_code_iso3, country_name, country_capital, country_tld, continent_code, in_eu, postal, latitude, longitude, latlong, timezone, utc_offset, country_calling_code, currency, currency_name, languages, country_area, country_population, asn, org, and a hostname add-on in beta.
Bulk limit100,000 addresses per bulk job, with an HMAC-signed completion webhook"Bulk IP lookup" is listed as a feature of the paid plans; no size is published
Batch API1,000 addresses per synchronous request; repeats inside the list are looked up oncenot on the pages read
Rate limit50 requests per second per key on the IP endpointsNot published as a number; a call over quota answers a 429 with reason "RateLimited"
Official SDKsPython, Node.js, PHPnot on the pages read
Data retentionNo history row and no log line carrying the address. What a lookup leaves is keyed and never holds the address: the 7-day marker that makes a repeat free and, under the same keyed hash, the count behind seen_by_you; privacy: true skips both. The account's own outcome reports are kept as salted hashes for 90 days. Bulk input lists and result files are deleted with the job after 30 days."IP queries stored in logs" under the standard option; the pricing page offers a no-logging arrangement on request

checked 2026-09-12 · sources: ipapi.co pricing, ipapi.co API documentation

When ipapi fits better

Teams that need country, city, currency and network facts on a predictable monthly quota and do not need any anonymity or threat signal.

  • The pricing page credits DB-IP and the IP2Location LITE database as its sources
  • The free tier is a trial: "Not for production use"
  • No proxy, VPN, Tor or datacenter field is documented
  • Queries are stored in logs unless a no-logging arrangement is made

When Spaw fits better

Developers who want every public IP feed compiled, dated and named for them, with a risk score whose weights are published so it can be recomputed or ignored.

  • ipapi.co and Spaw both read the DB-IP database for location; Spaw adds forty-odd public feeds on top of it (clouds, VPN exits, Tor, relay, blocklists, crawlers, registries) and answers each as a tri-state flag with the feed dated
  • ipapi.co stores queries in logs under its standard option; Spaw stores nothing about an IP lookup beyond a keyed seven-day repeat marker, and privacy mode skips even that
  • ipapi.co sells a monthly quota that resets; Spaw sells pack credits that never expire at five IP lookups to the credit, and reserved, private, documentation and unallocated ranges are free
  • Every dataset behind a Spaw IP answer is a public feed named in the response with the date it was synced, and the risk score is a published sum of weights anyone can recompute

Questions

Does Spaw charge for addresses its feeds do not cover?

Spaw bills per answered address, five to the credit: the answered lookup that opens a block costs 1 credit and the next four cost nothing. Reserved, private, loopback, CGNAT, documentation and multicast ranges answer reason reserved_range and are free, unallocated space is free, and so is a repeat of the same address within seven days. A flag no feed could evaluate answers null rather than false: the address is still billed, and the null tells you the signal was not checked instead of pretending it was. ipapi does not publish how it bills them.

Can I run a log file or an export through Spaw?

Yes. A bulk run takes up to 100,000 addresses from the dashboard or the API and returns one row per input address, in input order, with every flag, the risk score and the signals that made it. Five answered addresses cost a credit, repeats inside the list are looked up once, reserved ranges cost nothing, and the finish is announced on an HMAC-signed webhook.

Is there a free tier?

Every Spaw account receives 100 free credits at the start of each month with no card on file, and unused free credits accumulate. ipapi offers: A free trial of "up-to 1000 IP lookups in a day" (about 30,000 a month), "for testing & development purposes" and "Not for production use".

Try Spaw on your own list

Free credits every month, no card. Upload a list, keep your columns, and download only the rows you want. See the pricing page for every rule, or the ipapi alternatives.

Get your API key

ipapi is a trademark of its owner. Spaw is not affiliated with it. Markdown version: /compare/ipapi.md