fetchproof.

/v1/google/ad

GET

Ad Details

Get Google ad details. firstShown can be null even when the company list has a date. Ad text uses OCR and may contain errors.

Credit cost

Default: 1 credit

How charges are determined

Cost is decided per call, not per endpoint: the same operation can cost different amounts depending on what it returns.

A call that fails costs 0 credits. A result served from cache costs 0 credits.

`default` is the cost when no rule matches. Rules are evaluated in order and the first whose conditions all hold wins.

A `when` condition is one of: `param` (the request parameter is true), `outcome` (the classifier's outcome), `empty` / `nonEmpty` (a response field is empty and absent, or a non-empty array or string), `flag` (a response field is exactly true).

A cost of `{ perStartedMinute: n, of: [fields] }` is n x max(1, ceil(seconds / 60)), so even a short result bills at least one minute.

Cache supportUse a cached response this old or newer for 0 credits. If none is available, fetch live at the endpoint’s normal price.
PaginationNo explicit pagination metadata in the published contract. Consult the parameters and response fields below.

Parameters

NameLocation / requiredSchema
url

The url of the ad

query / required

string

cache_max_age

Use a cached response this old or newer for 0 credits. If none is available, fetch live at the endpoint’s normal price.

query / optional

string

Allowed values ["1d","3d","7d","14d","30d"]

Request examples

Replace placeholder values and supply your own API key. For operations with a request body, populate the body using the schema above.

cURL
curl --request GET 'https://api.fetchproof.com/v1/google/ad?url=YOUR_URL' \
  --header 'x-api-key: YOUR_API_KEY'
JavaScript
const response = await fetch("https://api.fetchproof.com/v1/google/ad?url=YOUR_URL", {
  method: 'GET',
  headers: { 'x-api-key': process.env.FETCHPROOF_API_KEY }
});
console.log(await response.text());
Python
import os
import requests

response = requests.get("https://api.fetchproof.com/v1/google/ad?url=YOUR_URL",
    headers={"x-api-key": os.environ["FETCHPROOF_API_KEY"]})
print(response.text)

Responses

200Success. Envelope: success / credits_remaining / credits_charged.

application/json

object

successrequired

boolean

credits_remainingrequired

integer

credits_chargedrequired

integer

advertiserIdrequired

string

creativeIdrequired

string

firstShownrequired

string

{
  "format": "date-time"
}
urlrequired

string

lastShownrequired

string

{
  "format": "date-time"
}
formatrequired

string

overallImpressionsrequired

object

minrequired

string

maxrequired

string

spendrequired

object

currencyrequired

string

lowerrequired

string

upperrequired

string

targetingrequired

object

agerequired

object

includedrequired

array

Array items

string

excludedrequired

array

Array items

string

genderrequired

object

includedrequired

array

Array items

string

excludedrequired

array

locationrequired

object

includedrequired

array

Array items

object

criterionIdrequired

string

namerequired

string

fullNamerequired

string

countryCodesrequired

array

Array items

string

excludedrequired

array

Array items

object

criterionIdrequired

string

namerequired

string

fullNamerequired

string

countryCodesrequired

array

Array items

string

creativeRegionsrequired

array

Array items

object

regionCoderequired

string

regionNamerequired

string

regionStatsrequired

array

Array items

object

regionCoderequired

string

regionNamerequired

string

firstShownrequired

string

{
  "format": "date-time"
}
lastShownrequired

string

{
  "format": "date-time"
}
impressionsrequired

object

lowerrequired

string

upperrequired

string

platformImpressionsrequired

array

variationsrequired

array

Array items

object

destinationUrlrequired

string

headlinerequired

string

descriptionrequired

string

allTextrequired

string

imageUrlrequired

string

cachedoptional

boolean

cached_atoptional

string

{
  "format": "date-time"
}
401Invalid or missing x-api-key
402No credits remaining
403Upstream denied (age gate, audience controls)
404Resource or endpoint not found
429Rate limited