Skip to content
New IP Intelligence API

Stop bots and account abuse at scale

Expose coordinated abuse with Castle's device, email, IP and behavioral intelligence. Enterprise security without the friction.

The Castle platform

Everything you need to stop fraud & abuse

A complete stack of data, tools, and APIs, eliminating the need for multiple, disconnected tools. All the intelligence you need to stop fraud and abuse.

IP intelligence

Assess IP reputation and risk. Detect proxies, VPNs, Tor, and datacenter traffic.

Device fingerprinting

99.5% accurate fingerprinting. Uncover headless browsers, tampering, carrier data, etc.

Bot detection

Detect bots, scripts, and coordinated attacks. Identify automated behavior and tampering.

AI scoring

Spot account takeover attempts and abusive behavior using self-learning AI.

Behavioral analysis

Use out-of-the-box signals or create your own custom aggregations and rate limiters.

Email intelligence

Assess email reputation and risk. Detect disposable domains and enumeration patterns.

Case & state management

Manage dynamic trust, block, and review lists of users, devices, or any custom attribute.

Customization

Fraudulent behavior, as defined by you

Combine Castle's threat data with velocity checks and rate limiters to categorize users according to what's considered fraud and abuse on your specific platform.

BeforeRegistration AttemptedBlock Fake Accounts
  • deny
  • Abuse Score
    is> 90
    and
    Disposable Email
    istrue
    and
    Count eventsRegistration
    byDevice Fingerprint
    inthe last day
    is> 3
    or
    Signals
    includeBlocked country
1,847 events
Page 1 of 185
Timestamp
Policy
Event
User
Location
Connection
Device
Lists
Signals
Fri, Aug 7
14:23:41
941287
14:23:38
91892
14:23:35
781565
14:23:31
962288
14:23:28
89597
Automation

Scale threat response with custom flows

Model custom security flows, blocklists, and trusted device management. Manage review states across signups, logins, and in-app activity.

State management

Maintain blocklists, allowlists, and trusted devices—updating states in real-time from rules or manual actions.

Inline blocking

Initiate real-time blocks or step-up verifications anywhere in your app without disrupting the user experience.

Alerts & notifications

Keep your team informed with Slack alerts, or automate end-user and internal workflows with granular webhooks.

Developers

A single API to detect, score, and act

Integrate selected data points with your business logic. Or rely on our rules engine and state management for a complete fraud and abuse solution.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205
{  "id": "2V48MDnuMar9pvOOwulwK4BXui2",  "type": "$login",  "status": "$succeeded",  "name": "Login Succeeded",  "authenticated": true,  "endpoint": "/v1/risk",  "created_at": "2025-09-02T4:39:05.147Z",  "properties": {    "my_custom_property": 234  },  "device": {    "fingerprint": "zhQ3YFvQTVOIP4EZWcMaNg",    "user_agent": "CryptoKid iOS/2025.9.1 (2025.9.1) (iPhone17,3; iOS 18.0.1; Castle 3.0.7)",    "name": "Adam's iPhone",    "emulator": false,    "rooted": false,    "software": {      "languages": [        "en-us",        "en",        "ru-ru"      ],      "type": "mobile_application",      "name": "CryptoKid iOS",      "version": {        "major": "2025",        "full": "2025.9.1"      }    },    "timezone": {      "offset": 420,      "name": "America/New_York"    },    "os": {      "name": "iOS",      "version": {        "major": "16",        "full": "16.6.1"      }    },    "hardware": {      "type": "phone",      "name": "iPhone",      "brand": "Apple",      "model": {        "name": "iPhone 14 Pro Max",        "code": "iPhone15,3"      },      "display": {        "width": 430,        "height": 932      }    },    "cellular": {      "carrier": {        "name": "Verizon Wireless",        "country_code": "US"      },      "available": true    },    "wifi": {      "available": true    },    "battery": {      "charging_state": "unplugged",      "level": 34    },    "location": {      "accuracy": 20,      "city": "Falls Church",      "country_code": "US",      "latitude": 38.8524,      "longitude": 77.148    },    "screen": {      "density": 3,      "orientation": "portrait"    },    "memory": {      "available": 345,      "total": 5500    },    "storage": {      "available": 2011,      "total": 121943    },    "usage": {      "screen_time": 10265,      "uptime": 695312    }  },  "scores": {    "bot": {      "score": 0.033    },    "account_abuse": {      "score": 0.27    },    "account_takeover": {      "score": 0.196    }  },  "ip": {    "address": "108.18.100.121",    "type": "ipv4",    "asn": 701,    "isp": {      "name": "Verizon Fios",      "organization": "Verizon Fios"    },    "location": {      "city": "Falls Church",      "country_code": "US",      "region_code": "VA",      "continent_code": "NA",      "postal_code": "22042",      "latitude": 38.8597,      "longitude": 77.198    },    "privacy": {      "anonymous": false,      "datacenter": false,      "proxy": false,      "tor": false    }  },  "email": {    "normalized": "adam@castle.com",    "domain": "castle.com",    "disposable": false,    "unreachable": false,    "domain_details": {      "created_at": "2014-12-27T00:30:13.000+00:00",      "updated_at": "2021-10-01T17:59:27.000+00:00",      "expires_at": "2026-12-27T00:30:13.000+00:00",      "registrar": "101domain GRS Limited",      "registrant": "Digital Privacy Corporation",      "nameservers": [        "ns-77.awsdns-09.com",        "ns-1523.awsdns-62.org"      ],      "spf_record": {        "exists": true      },      "dmarc_record": {        "exists": true      },      "mx_records": {        "null_mx": false      }    }  },  "metrics": {    "1": {      "name": "Users per device fingerprint in 30d",      "value": 5    },    "2": {      "name": "Failed logins per IP in 1h",      "value": 238    },    "3": {      "name": "Average transaction amount per user",      "value": 83.13    }  },  "signals": {    "impossible_travel": {},    "credential_stuffing": {},    "multiple_accounts_per_device": {},    "new_device": {}  },  "policy": {    "action": "deny",    "name": "Block multi-accounting",    "id": "3666300b-adc9-4a9a-9773-f6e692ed348d",    "revision_id": "1d1e6f75-08ea-47ea-bb92-61d598c448e2"  },  "lists": [    "blocked_ips",    "trusted_devices"  ],  "list_items": [    "8842e866-86e7-4f18-a023-edbf8cb91107",    "42bc2f4d-64d1-4291-a77f-61c64bd410a0"  ],  "user": {    "id": "7312",    "registered_at": "2025-08-13T14:00:58.000Z",    "name": "Adam Winter",    "email": "adam@castle.com",    "phone": "+11123456789",    "traits": {      "nationality": "PL",      "organization_id": "789435"    }  },  "sdks": {    "client": {      "name": "castle-web",      "version": "2.1.8"    }  }}

Built for scale

Our APIs process billions of monthly requests with resilience against severe bot attacks.

100ms response time

Fingerprinting, risk scores, and rules computed instantly in real-time.

Pay-as-you-go pricing

Transparent plans with included API budgets and simple pay-as-you-go pricing.

Get started

Create your free account today

Start with a free quota, with transparent pricing that scales when you do.