See every ad the way your audience sees it

Check placements, creatives, brand safety and landing pages from residential and mobile IPs in 249 countries and territories, down to the city or the mobile carrier.

The same ad checked on three pages in three locations, one placement correct and two wrong

Why a datacenter check misses what users see

Ad servers and fraud filters know datacenter ranges. A check from a server gets a different ad, or none, than a reader in the target city.

From a datacenter
$ curl -s "https://news.example/sports" | grep ad-slot
HTTP/2 200
content-type: text/html
<div class="ad-slot"></div>
<!-- no fill: non-human traffic -->
Fails: The slot comes back empty, so the report says nothing about what readers in London were shown.
Through 2extract, London
$ curl -s -x http://…-country-gb-city-london@proxy.2extract.net:5555 \
"https://news.example/sports" | grep ad-slot
HTTP/2 200
content-type: text/html
<div class="ad-slot">
<a href="https://brand.example/spring-sale">
Works: A residential IP in London gets the ad a reader there gets, and the landing page it points to.

From sign-up to the first verified placement

One endpoint for every market: the location travels in the username.

  1. Create an account and add funds

    Sign up with Google, GitHub or email and top up from $10.

  2. Target the market you bought

    Add -country-<code>, then -city-<name> or -zip-<code>; on mobile IPs target a carrier with -isp-<code> instead.

  3. Load the page and the landing page

    Hold a sticky session with -session-<id> so the page, the creative and its landing page are checked by one visitor.

# Replace with your credentials from the 2extract dashboard
curl --proxy "http://2xt-customer-[accountID]-proxy-[name]-[params]:proxy_password@proxy.2extract.net:5555" \
  "https://api.ipify.org?format=json"
View full documentation

What an ad check needs from the network

Every setting is a username parameter or an API call, so each check runs from exactly the place it is checking.

What an ad check needs from the network

  • Any market, down to the ZIP

    Country, region, city or ZIP in 249 countries and territories, so each campaign is checked where it runs.

  • Mobile carriers

    Mobile IPs targeted by carrier with -isp, for in-app and mobile-web campaigns.

  • Real-user IPs

    Residential and mobile IPs that ad servers treat as readers, not as bots.

  • One visitor per check

    A sticky session keeps the page, the creative and its landing page on one IP.

  • Many checks at once

    No hidden concurrency limits: verify every placement in every market in the same run.

  • A budget per campaign

    One proxy per client or campaign, capped in GB or USD, with a per-day usage export.

Verify ads in any market: pay per GB from $3.99, no commitment

Ad verification questions

Every targeting parameter is in the geo-targeting docs.

Still have a question?

Talk directly to the engineers who built the product. No chatbots, no first-level support scripts.

Your first ad check is one line away

Sign up with Google, GitHub or email, top up from $10 and pay per GB. No commitment.

curl -x http://…-country-gb-city-london:•••@proxy.2extract.net:5555 ipinfo.io/json