Skip to content

Spaw vs IPQualityScore Phone Validation

IPQualityScore Phone Validation is the phone side of a fraud-scoring service: one API returns validity, carrier, line type and a 0 to 100 fraud score, with live-line, identity, do-not-call and SMS-pumping data as add-ons, on the same monthly plans as its IP, email and URL checks.

The table uses IPQualityScore Phone Validation's public pricing and documentation pages as checked on 2026-09-27, 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 IPQualityScore Phone Validation publishes.

  spaw ipqualityscore phone validation
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 CheckoutMonthly plans shared with IPQualityScore's other checks: Free $0 (1,000 lookups a month), Startup "As low as: $99 / Month" (5,000), SMB Basic "As low as: $499 / Month" (10,000), SMB+ "As low as: $999 / Month" (75,000), Enterprise custom; "Each plan requires a minimum monthly commitment". The phone validation page says "Score phone numbers on average from $0.0005 per user with no monthly contracts", on "tiered flat rate pricing across all countries that reduces as your monthly volume increases", without a tier table. Add-ons are enabled through the account manager or Support at no stated price.
Free tier100 free credits every month, no card required1,000 lookups a month on the Free plan, capped at 35 a day; the plan also covers IP, email and URL checks
Price per 1,000 at about 10k$7.80 (Growth pack: 5,000 credits for $39), or $5.80 on the Growth monthly plan (5,000 credits for $29 a month)not on the pages read
Price per 1,000 at about 100k$4.49 (Volume pack: 100,000 credits for $449), or $3.49 on the Volume monthly plan (100,000 credits for $349 a month)not on the pages read
Numbers the vendor could not settle billedA valid number costs 1 credit whatever its flags say. The live carrier-network check (hlr: true) is not enabled on the service: hlr_checked answers false and nothing extra is charged.not on the pages read
Invalid numbers billedNo: invalid numbers are free, including a number in a block the regulator lists as unassigned, and so are repeats within 7 daysAn invalid number answers "success": false with "Invalid/nonexistent phone number or no country specified."; the plans page's "What Counts as a Lookup?" answer names the proxy, email and device services and does not mention phone validation
Line type sourceThe numbering plan metadata everywhere except the North American plan, where mobiles and landlines share blocks and the plan can only say fixed_line_or_mobile; there the regulator's block holder settles it — a wireless carrier's block is mobile, a virtual-number wholesaler's is voip. line_type_source names which of the two answered.Its own carrier data: "IPQS maintains current data directly from carriers on a global level", and its system "collects phone validation and verification data from various telecom carriers". line_type answers Toll-Free, Wireless, Landline, Satellite, VOIP, Premium Rate, Pager or N/A, beside separate VOIP and prepaid booleans.
Numbering plan coveragelibphonenumber metadata for every region it carries, plus the regulators' own allocation tables, each named in the answer with the date of the copy it read. Complete tables, where a geographic number in a block the table leaves out answers unassigned_block: NANPA for the United States (with Puerto Rico, the U.S. Virgin Islands, Guam, American Samoa and the Northern Mariana Islands), the CNAC for Canada, ARCEP for France (with Guadeloupe, St. Barthélemy, St. Martin, Martinique, French Guiana, Réunion, Mayotte and St. Pierre & Miquelon), ACM for the Netherlands and the CRT (formerly the IFT) for Mexico. Partial tables, answered only from the ranges they list (a range listed as free, spare or held in reserve answers unassigned_block), so block_status answers null for a number outside them: Ofcom for the United Kingdom (with Guernsey, Jersey and the Isle of Man), ACMA for Australia, the NAD for New Zealand, UKE for Poland and MIMIT for Italy. Re-synced weekly, NANPA daily; /status lists each table's age. Outside those regions, block_status and is_virtual answer null rather than a guess."Over 150 countries" per the API documentation; the product page says "All countries and carriers are supported" and the SMS pumping page "All 195 countries and territories". valid is defined against "assigned phone numbers available to carriers in that country"; no numbering plan or regulator table is named.
Live network checkReserved behind hlr: true: 4 credits on top of the base credit, only where the network answers, reported in its own reachable, ported, current_carrier and roaming fields. The live carrier-network check (hlr: true) is not enabled on the service: hlr_checked answers false and nothing extra is charged.An add-on: active and active_status come from "our HLR lookup service and carrier signals", enabled by contacting the account manager or Support; active answers null until it is, and active_status carries its detail only once enhanced active line checks are enabled. No price is stated on the pages read.
Ported numbersNone from the tables, and the docs say so: carrier and line_type describe the block the number was allocated in, never a later port. Only a live carrier-network check can say who serves a number today.The HLR add-on is described as returning "the latest carrier details including number porting and roaming data", and a separate number_recycling add-on reports whether a number "has recently changed owners or moved between providers".
SMS pumping controlsFlags in the risk score, and an SMS policy that turns them into ok_to_send and blocked_by: a fraud and deliverability decision, not consent and not a do-not-call scrub. allowed_countries limits sending to the regions you serve; it is empty (any country) until you set it. range_burst (+40) flags a number once your account has looked up 5 distinct numbers in its 1,000-number range within 60 minutes, and numbers_per_client (+30) once one client address (the client_ip you send, or a browser visitor's own) has tried 5 within 60 minutes, unless Spaw's own IP data places it on a mobile carrier or a corporate proxy, or it is private or reserved. Both count only your own single and browser lookups, so a new account has no history. The range is a heuristic, and in North America a burst more likely means someone testing numbers against a form; the client count does not stop an attack rotated through residential proxies. disposable (+70) flags a number SMS-receiving websites publish and disposable_stale (+40) an old listing; disposable_range (+30) flags an unlisted number in a 1,000-number range holding 10 or more fresh listings. The lists are public and synced daily. The default policy blocks the fictional, disposable, reported_abuse, reported_abuse_widely and premium_rate signals and a risk_score above 60, so neither traffic signal blocks on its own.An sms_pumping object (risk_score, message, velocity) is an add-on enabled through the account manager or Support; it "requires at least 5 days of recent data and at least 50 phone validation API calls per hour". The SMS Pumping Detection page describes velocity, carrier, device and IP signals from IPQualityScore's own network. No price is stated on the pages read.
Bulk limit100,000 numbers per bulk job, with an HMAC-signed completion webhookCSV uploads through the dashboard or the Bulk Validation CSV API: 3 files a day on Free and unlimited on Enterprise, up to the monthly lookup limit; no row limit is stated on the pages read
Batch API1,000 numbers per synchronous request, answered in input ordernot on the pages read
Rate limit50 requests per second per key on the phone endpoints35 lookups a day on Free and 250 on Startup, 20 lookups a second on SMB Basic; Enterprise lists "Enterprise Rate Limits" without a figure
Official SDKsPython, Node.js, PHPnot on the pages read
Data retentionNo history row and no log line carrying the number. What a lookup leaves is keyed and never holds the number: the 7-day marker that makes a repeat free (a second one when the account paid for a live check); for single and browser lookups, a truncated keyed hash of the number filed under keyed hashes of its range and client address for 60 minutes, and the account's lookups per country and hour as counts for 30 days; and a live check's answer, held for a day under a hash of the number. The number itself is kept only in the account's own outcome reports, phone suppression list and monitors. Bulk input lists and result files are deleted with the job after 30 days.The privacy policy says personal data submitted to the fraud-detection services is "generally retained for a shorter period (approximately one year), after which it is deleted or de-identified"

checked 2026-09-27 · sources: IPQualityScore phone validation, IPQualityScore plans, IPQualityScore Phone Number Validation API overview, IPQualityScore Phone Number Validation API response parameters, IPQualityScore SMS pumping detection, IPQualityScore Bulk Validation CSV API, IPQualityScore privacy policy

When IPQualityScore Phone Validation fits better

Fraud teams that want a phone fraud score beside IPQualityScore's IP, email and URL checks on one plan, with live-line, identity and SMS-pumping data available as add-ons.

  • A 0 to 100 fraud_score with recent_abuse and risky flags from IPQualityScore's own threat network, which its clients' fraud reports feed, and a leaked flag for numbers exposed in an online database breach
  • Identity data: a name field carrying "the name of the owner associated with the phone number", and an Enterprise identity_data add-on with names, addresses, ages and associated email addresses
  • do_not_call (United States and Canada only) and tcpa_blacklist are add-ons that answer null until enabled
  • One plan covers phone, IP, email and URL checks, and lists go through CSV upload

When Spaw fits better

Developers who want the numbering plan and the regulators' own allocation tables read for them, the dataset behind every field named in the answer, and an SMS policy that turns the evidence into ok_to_send and blocked_by — a fraud and deliverability decision, not consent and not a do-not-call scrub. Every answer is made on the server: the opt-in live carrier-network check, the one call that would send a number to a partner, is not enabled on the service.

  • IPQualityScore returns the name associated with a number and, as an add-on, identity records; Spaw does no reverse lookup and returns no owner, subscriber or caller name by design
  • IPQualityScore's score comes from its own network and carrier data; every Spaw answer lists the datasets it consulted in its sources block, each with its version or sync date, and the weight behind every point of the risk score is published
  • IPQualityScore's sms_pumping score is an add-on that needs at least 50 phone validation calls an hour and draws on its own network as well; Spaw counts only your own account's single and browser lookups (range_burst, and numbers_per_client when you send client_ip or the lookup comes from the browser) and applies your SMS policy, including a country allow-list, in ok_to_send, a fraud and deliverability decision rather than consent or a do-not-call scrub
  • IPQualityScore sells do-not-call and TCPA-litigator flags as add-ons; Spaw checks neither, and its docs say ok_to_send is not a do-not-call scrub
  • IPQualityScore's plans are a monthly quota with a minimum monthly commitment; Spaw's pack credits never expire and an invalid number costs nothing

Questions

Does Spaw charge for numbers it cannot settle?

Spaw bills per answer. A number the numbering plan and, where one is installed, the regulator's own table agree is assignable costs 1 credit whatever its flags say. An invalid number is free — including one in a block the regulator lists as unassigned — and so is a repeat of the same number within seven days. The live carrier-network check (hlr: true) is not enabled on the service: hlr_checked answers false and nothing extra is charged. IPQualityScore Phone Validation does not publish how it bills them.

Can I move a list of numbers from IPQualityScore Phone Validation to Spaw?

Yes. Upload the CSV in the dashboard or POST it to the bulk endpoint, up to 100,000 numbers a job; Spaw keeps your columns, adds the answer columns, and lets you download the whole file or only the valid, invalid, low, medium or high-risk rows. A country column gives each row its own region, so a mixed international list needs no splitting.

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. IPQualityScore Phone Validation offers: 1,000 lookups a month on the Free plan, capped at 35 a day; the plan also covers IP, email and URL checks.

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 IPQualityScore Phone Validation alternatives.

Get your API key

IPQualityScore Phone Validation is a trademark of its owner. Spaw is not affiliated with it. Markdown version: /compare/ipqualityscore-phone.md