Real-time IP intelligence API

Know who is really behind the request. Before you let them in.

Geolocation, ASN, hosting provider, VPN and Tor-exit detection for every IPv4 and IPv6 address — in real time. Score the risk before you create the account. 100 free checks every month.

No credit card. No sales call. Live key in under a minute.

POST /api/public/v1/verify
curl -X POST https://fishymails.com/api/public/v1/verify \
  -H "Authorization: Bearer fm_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{"kind":"ip","value":"185.220.101.1"}'

{
  "kind": "ip",
  "status": "risky",
  "score": 15,
  "reason": "Tor exit-node like ASN",
  "checks": {
    "version": 4,
    "country": "DE",
    "asn": 208294,
    "org": "Tor exit relay",
    "hosting_or_vpn_like": true
  },
  "latency_ms": 96
}

Scoring signup and checkout traffic for teams like:

Second LegacyHELLO LabsLeadFind

The three things bad data is costing you right now

Fraudsters hide behind VPNs and proxies

One person becomes fifty accounts, free trials get farmed, and chargebacks arrive weeks later from a country you never sold into.

ASN and hosting-provider detection flags datacenter, VPN and Tor traffic the moment the request arrives.

Bots register from datacenter ranges

Automated signups pollute your database, skew activation metrics, and quietly consume the trial capacity you budgeted for real users.

Hosting-range detection separates cloud infrastructure from residential traffic without adding a captcha for everyone.

You cannot enforce geo rules you cannot see

Licensing limits, sanctions screening and regional pricing all fail when you have no reliable signal for where a request originates.

Country, city and ASN on every lookup gives your rules engine something concrete to act on.

Live in three steps

  1. 1

    Get your API key

    Sign up free, copy your key from the dashboard. No credit card, no sales call.

  2. 2

    Send a request

    POST kind: 'ip' with the address from your request headers, at signup, login or checkout.

  3. 3

    Get results instantly

    Country, city, ASN, organisation, VPN and Tor flags plus a 0-100 score in one JSON body.

request / response
// Score the IP at signup, inline in your handler
const res = await fetch("https://fishymails.com/api/public/v1/verify", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.FISHYMAILS_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ kind: "ip", value: request.ip }),
});

const { score, checks } = await res.json();

if (checks.tor_like) return reject("blocked");
if (score < 50) return requireExtraVerification();
return allow();

Built for production, priced for prototypes

ASN and org lookup

Every result names the network operator behind the address, not just a risk flag you have to trust blindly.

VPN, hosting and Tor flags

Commercial VPN ranges, cloud datacenters and Tor exit relays are detected and scored automatically.

Country and city geo

Country-level precision suitable for fraud rules, geofencing and regional pricing logic.

IPv4 and IPv6

Both address families validated and enriched, with the detected version returned on every check.

Mixed bulk batches

Send IPs together with emails and phone numbers, up to 100 items per call, processed in parallel.

Simple credits

One credit per lookup. 100 free every month, then $29 for 1,000. No seat fees, cancel any time.

100 free checks every month. No credit card required.

Paid plans start at $29/month for 1,000 checks and scale to 250,000. Annual billing gives you two months free. No seat fees, no minimum contract, cancel whenever.

Questions developers actually ask

Score your next signup before it becomes a chargeback.

Set up in 5 minutes. Your first 100 checks are free.