Fraud API
The Fraud API returns the real-time probability of invalid traffic (IVT) for an IP address, device ID or user agent, plus the risk type codes that explain why it’s flagged. Use it to decide whether a value is compromised before you bid on, serve or pay for an impression.
Each lookup draws on Pixalate’s continuously updated fraud intelligence across mobile, CTV and web. You set your own blocking threshold, so you can match it to your supply and risk tolerance.
This page covers Fraud API v3, the current version. v2 is still available as a legacy API. To move from v2, see Migrate from v2 to v3.
Before you start
Make your first request
Send the value you want to check as a query parameter. This example checks one IPv4 address:
The API returns a FraudInfo object:
This response is illustrative. The values you get back depend on Pixalate’s data for the value you send.
Query parameters
All parameters are optional. Send any combination of ip, deviceId and userAgent.
If you send more than one value, probability reflects the combined risk of all the values you sent, and riskTypes lists the risk types for all of them.
Read the response
Some rules for riskTypes:
- It’s
nullwhenprobabilityis0or-1. - It’s
nullwhen a value is flagged but no risk type is available for it. - It’s never an empty array, and it doesn’t repeat a code.
Only a small number of IP addresses and device IDs are whitelisted, so you’ll rarely see -1.
To find out what each code means, see Risk types and codes.
Example responses:
Not flagged
Whitelisted
Several values sent
Decide when to block
Block with a probability threshold
Pixalate’s proprietary machine-learning algorithm calculates the probability, so you can set your own threshold based on the quality and scale of your supply inventory. As a guide:
Pixalate doesn’t recommend blocking any probability below 0.5. If you adjust your threshold, check impression delivery regularly, because lowering the threshold can reduce impression counts.
Block with risk types
Risk types tell you why a value is flagged. You can use them in blocking rules on their own or together with a probability threshold, at any level of the code: all SIVT (2xxx), one category (25xx) or a single type (2502). See Risk types and codes for the code format.
For example, this rule blocks a value when the probability is 0.90 or higher, or when any risk type is in the 25xx category:
Treat riskTypes: null as “no codes”, not as “not flagged”. Always check probability too.
Check your quota
Call the endpoint without ip, deviceId or userAgent to get your account’s quota status instead of a lookup:
On free plans, limit can come back as a string (for example "1000") instead of an integer. Parse it as a number before you compare it.
Errors
For limits and errors across all Pixalate APIs, see Quotas, limits and errors.