{
  "openapi": "3.0.1",
  "info": {
    "title": "Revcontent Ads Scraper - Native Ads, Advertisers",
    "description": "Scrape the native ads Revcontent runs right now in the sponsored boxes of verified publisher sites, read from 23 countries, or any page URL. One row per distinct ad: headline, image, brand, advertiser id, campaign id and landing address where served. Keyword and brand filters; watch mode.",
    "version": "0.1",
    "x-build-id": "rtW4wEQj65WXFeMXm"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/automation_craft~revcontent-ads-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-automation_craft-revcontent-ads-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/automation_craft~revcontent-ads-scraper/runs": {
      "post": {
        "operationId": "runs-sync-automation_craft-revcontent-ads-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/automation_craft~revcontent-ads-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-automation_craft-revcontent-ads-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "countries": {
            "title": "Countries",
            "type": "array",
            "description": "Countries to sample: Revcontent serves the ads of the reader's country, so each country is read from an exit in it (the United States from Apify's own US addresses, every other country from a residential exit there). 11 countries have verified sites of their own; the other 12 countries are read on the best verified sites from their own exits (see Top up thin countries). Leave empty with no sites and no page URLs to read the United States.",
            "items": {
              "type": "string",
              "enum": [
                "US",
                "CA",
                "GB",
                "AU",
                "NZ",
                "IE",
                "DE",
                "FR",
                "ES",
                "IT",
                "NL",
                "SE",
                "PL",
                "IN",
                "BR",
                "MX",
                "AR",
                "CO",
                "JP",
                "NG",
                "PH",
                "ZA",
                "AE"
              ],
              "enumTitles": [
                "United States (4,594 sites)",
                "Canada (21 sites)",
                "United Kingdom (71 sites)",
                "Australia (1 sites)",
                "New Zealand (read on the verified sites from its own exit)",
                "Ireland (read on the verified sites from its own exit)",
                "Germany (5 sites)",
                "France (2 sites)",
                "Spain (3 sites)",
                "Italy (21 sites)",
                "Netherlands (read on the verified sites from its own exit)",
                "Sweden (1 sites)",
                "Poland (read on the verified sites from its own exit)",
                "India (read on the verified sites from its own exit)",
                "Brazil (2 sites)",
                "Mexico (read on the verified sites from its own exit)",
                "Argentina (read on the verified sites from its own exit)",
                "Colombia (read on the verified sites from its own exit)",
                "Japan (read on the verified sites from its own exit)",
                "Nigeria (read on the verified sites from its own exit)",
                "Philippines (read on the verified sites from its own exit)",
                "South Africa (3 sites)",
                "United Arab Emirates (read on the verified sites from its own exit)"
              ]
            }
          },
          "sitesPerCountry": {
            "title": "Sites per country",
            "minimum": 0,
            "maximum": 200,
            "type": "integer",
            "description": "How many verified sites to read for each chosen country, the sites with the most ads per call first. 0 reads no site by country (only the sites and page URLs below). Default 5."
          },
          "topUpWithOtherSites": {
            "title": "Top up thin countries with other sites",
            "type": "boolean",
            "description": "When a chosen country has fewer verified sites of its own than Sites per country, read the best other verified sites from that country's exit to make up the number (Revcontent serves the ads of the reader's country on every site; each row names the site and its own country). Default true."
          },
          "sites": {
            "title": "Sites",
            "type": "array",
            "description": "Built in publisher sites to read by domain (4,724 sites; the suggestions are the 300 with the most ads per call), each from an exit in the site's own country as listed. A domain that is not built in gets a free status row: read its pages with Page URLs instead. Adds to the sites picked by country.",
            "items": {
              "type": "string",
              "enumSuggestedValues": [
                "boxingdaily.com",
                "caasimada.net",
                "izismile.com",
                "learnaboutnature.com",
                "snackhistory.com",
                "ocregister.com",
                "supernutritious.net",
                "therightscoop.com",
                "typographyu.com",
                "newsmax.com",
                "celebsweek.com",
                "americainsider.org",
                "americanjournaldaily.com",
                "news365.co.za",
                "pjnewsletter.com",
                "stateofunion.org",
                "thehill.com",
                "usdailychronicle.com",
                "abc-7.com",
                "celeblivewire.com",
                "centralhoroscope.com",
                "crimesflash.com",
                "dailyacedeals.com",
                "holywordcompanion.com",
                "nbc-2.com",
                "retiredrefresh.com",
                "theredonlooker.com",
                "topdealsaccess.com",
                "lowkickmma.com",
                "lifemgzn.com",
                "gzone.site",
                "concordnewsjournal.com",
                "fargonewsnow.com",
                "mdmh-conway.com",
                "newspageindex.com",
                "roanokedailymagazine.com",
                "selfreliancecentral.com",
                "surelyawesome.com",
                "themichigantimes.com",
                "medicali.site",
                "coastguardnews.com",
                "connectdirectonline.com",
                "dailynewsintime.net",
                "entertainmentmind.com",
                "featuredstory.146228.com",
                "firefightingnews.com",
                "gopoliceblotter.com",
                "jqpublicblog.com",
                "leoaffairs.com",
                "lovewhatmatters.com",
                "physically.site",
                "popularmilitary.com",
                "sincelab.site",
                "thebright.com",
                "thecelebinsider.com",
                "thepeoplesledger.com",
                "warisboring.com",
                "welcomehomeblog.com",
                "allnewspipeline.com",
                "birdsandblooms.com",
                "debsays.site",
                "familyhandyman.com",
                "fandomwire.com",
                "rd.com",
                "thehealthy.com",
                "wsls.com",
                "sociallypolite.com",
                "49s.co.uk",
                "accuweather.com",
                "barnorama.com",
                "bestnewshere.com",
                "boxing-social.com",
                "federalisttimes.com",
                "gellerreport.com",
                "georgiastarnews.com",
                "heritagereview.com",
                "knowingdaily.com",
                "kstp.com",
                "lookingforliberty.com",
                "mediatakeout.com",
                "offthepress.com",
                "pethealth4you.com",
                "politicalsignal.com",
                "republicbrief.com",
                "stgeorgeutah.com",
                "tennesseestar.com",
                "thegeorgiagazette.com",
                "thehornnews.com",
                "theohiostar.com",
                "therepublicanstandard.com",
                "thestarnewsnetwork.com",
                "thevirginiastar.com",
                "thoughtnova.com",
                "trendytribune.com",
                "waterloojournal.com",
                "whec.com",
                "amgreatness.com",
                "stories.interesticle.com",
                "theybf.com",
                "tasteofhome.com",
                "thefederalistpapers.org",
                "brovidly.com",
                "funny-jokes.com",
                "motorsport.com",
                "thefreedomfront.org",
                "insideevs.com",
                "stories.novelodge.com",
                "warroom.org",
                "albanyherald.com",
                "makegreatnow.com",
                "stories.themoneytime.com",
                "ijr.com",
                "americanthinker.com",
                "dailyfortworth.com",
                "routinejournal.com",
                "stories.fordiylovers.com",
                "stories.travelpatriot.com",
                "thenewsed.com",
                "amazing2you.com",
                "amazinges.com",
                "americasnewsdesk.com",
                "angelnumber.org",
                "applevalleynewsnow.com",
                "autulu.com",
                "beaumontenterprise.com",
                "besthealthmag.ca",
                "bigrapidsnews.com",
                "bladeofsteel.com",
                "boundingintocomics.com",
                "breakingheadlinestories.com",
                "breakingnewsdigest.com",
                "calonews.com",
                "cedarcityutah.com",
                "celeb.celebrityhub.uk",
                "celeb.usainsights.uk",
                "celeb.usatoday.uk",
                "celebcell.uk",
                "celebritybuzz.uk",
                "celebrityhub.uk",
                "channel3000.com",
                "chron.com",
                "clarionherald.org",
                "coasttv.com",
                "communityadvocate.com",
                "conservativebrief.com",
                "conservativejournalreview.com",
                "corrienews.info",
                "crescents.xyz",
                "crossicehockey.com",
                "crossroadstoday.com",
                "ctinsider.com",
                "ctpost.com",
                "cyprus-mail.com",
                "dailydot.com",
                "dailystory.uk",
                "darientimes.com",
                "daytonatimes.com",
                "dchieftain.com",
                "delmarvasportsnetwork.com",
                "detroitsportsnation.com",
                "dillonheraldonline.com",
                "doanvanhai247.com",
                "easttexastoday.com",
                "education.seattlepi.com",
                "emmerdale.info",
                "fernwehs.de",
                "flcourier.com",
                "fox21delmarva.com",
                "gethappyday.com",
                "god.dailydot.com",
                "gofountaininn.com",
                "golaurens.com",
                "gorillavsbear.net",
                "gossip.it",
                "greenwichtime.com",
                "gwinnettdailypost.com",
                "highlighthestory.com",
                "hookedonhockeymagazine.com",
                "hotel-forum.top",
                "inspiredot.net",
                "interestingengineering.com",
                "jacksonprogress-argus.com",
                "k60s.com",
                "koamnewsnow.com",
                "kxly.com",
                "lakecountystar.com",
                "listverse.com",
                "lmtonline.com",
                "loudwire.com",
                "madcelebs.com",
                "manisteenews.com",
                "marysvilleonline.com",
                "michigansthumb.com",
                "middletownpress.com",
                "milfordmirror.com",
                "mrt.com",
                "myjournalcourier.com",
                "myne.ws",
                "myplainview.com",
                "mysanantonio.com",
                "ncadvertiser.com",
                "news-bulletin.com",
                "news-daily.com",
                "news8000.com",
                "newsdailymedia.com",
                "newsrael.com",
                "newstimes.com",
                "nhregister.com",
                "now14.co.il",
                "nowarsenal.com",
                "nuvo.net",
                "ourmidland.com",
                "playsetmusic.com",
                "popcrush.com",
                "preprod.eastbaytimes.com",
                "preprod.sun-sentinel.com",
                "rawdogsports.com",
                "readersdigest.ca",
                "readthistory.com",
                "recordpatriot.com",
                "registercitizen.com",
                "resistthemainstream.com",
                "ridgecrestca.com",
                "rrobserver.com",
                "sciotovalleyguardian.com",
                "seattlepi.com",
                "selection.ca",
                "sfexaminer.com",
                "sfgate.com",
                "sheltonherald.com",
                "smallbusiness.chron.com",
                "soaprecap.uk",
                "soapsecrets.uk",
                "spoil.soapsnews.uk",
                "sports.nexstardigital.com",
                "stamfordadvocate.com",
                "starvedrock.media",
                "stategazette.com",
                "strangebeaver.com",
                "taosnews.com",
                "tasteofcountry.com",
                "tdtnews.com",
                "telegraphherald.com",
                "telemundodelmarva.com",
                "televisionseries.co",
                "theboot.com",
                "thedailyworlds.net",
                "thedailyworlds.one",
                "thedailyworlds.xyz",
                "theheraldreview.com",
                "thehour.com",
                "theintelligencer.com",
                "theridgefieldpress.com",
                "thetelegraph.com",
                "timesjournal1886.com",
                "timesunion.com",
                "tlc24h.com",
                "totalprosports.com",
                "townsquaremedia.com",
                "trendingpoliticsnews.com",
                "trendingviews.com",
                "trumbulltimes.com",
                "ultimateclassicrock.com",
                "usaexplorers.uk",
                "usainsights.uk",
                "wboc.com",
                "weekand.com",
                "welovetrump.com",
                "wiltonbulletin.com",
                "winknews.com",
                "wkbn.com",
                "wnd.com",
                "work.chron.com",
                "worldboxingnews.net",
                "wowstorry.com",
                "wral.com",
                "wyomingnewsnow.tv",
                "xxlmag.com",
                "mentretiene.com",
                "gottacheckthis.com",
                "mylesholmes.com",
                "rockdalenewtoncitizen.com",
                "spiritdaily.com",
                "byberry.com",
                "medianewsgroup.com",
                "nosybee.com",
                "screencrush.com",
                "babylonbee.com",
                "dalmarosec.com",
                "glennbeck.com",
                "healthlifeguru.com",
                "healthyandallergyfree.com",
                "kake.com",
                "malvern-online.com",
                "mkdhealth.com",
                "mobibobi.co.uk",
                "newslive.com",
                "noahreport.com",
                "notthebee.com",
                "overdoseofhealth.com"
              ]
            }
          },
          "pageUrls": {
            "title": "Page URLs",
            "type": "array",
            "description": "Any article or page URL of any site that shows a Revcontent box, read from every chosen country (the United States when no country is chosen). For a site that is not built in, the Actor reads the page once to find its Revcontent widget id; a page without a Revcontent box gets a free coverage row. At most 200 per run, together with the dataset below.",
            "items": {
              "type": "string"
            }
          },
          "datasetId": {
            "title": "Page URLs from a dataset",
            "type": "string",
            "description": "The id of an Apify dataset of your account whose rows hold page URLs (in a pageUrl, url or link field), read in full and added to Page URLs. A dataset with more than 200 rows, or one this Actor cannot read, stops the run before any further call, and no further event is charged (a fresh run pays only its Actor start)."
          },
          "maxAds": {
            "title": "Maximum ads",
            "minimum": 1,
            "maximum": 20000,
            "type": "integer",
            "description": "The most ads delivered in one run (each distinct ad is one row and one charge). Default 100."
          },
          "maxCallsPerSite": {
            "title": "Calls per site",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "The most times one site is read in one run (Revcontent rotates the ads it shows, so more calls find more ads). Default 10."
          },
          "stopAfterDryCalls": {
            "title": "Stop a site after calls with nothing new",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "A site stops when this many answers in a row brought no ad new to the run (that passed the filters, when filters are set). Default 3."
          },
          "maxCalls": {
            "title": "Calls per run",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "The most requests in one run, over all sites and countries (page reads for sites that are not built in included; image file reads not counted). Default 200."
          },
          "maxAdsPerAdvertiser": {
            "title": "Maximum ads per advertiser",
            "minimum": 1,
            "maximum": 20000,
            "type": "integer",
            "description": "The most ads of one Revcontent advertiser id delivered in one run; further ads of that advertiser are counted in the coverage rows, free. Empty: no limit."
          },
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Deliver only ads whose headline, description or brand holds one of these keywords (as whole words, without letter case or punctuation; see Keyword match). Ads that do not match are not delivered and not charged; they are counted in the coverage rows. At most 100 keywords of up to 100 characters.",
            "items": {
              "type": "string"
            }
          },
          "keywordMatch": {
            "title": "Keyword match",
            "enum": [
              "phrase",
              "anyWord"
            ],
            "type": "string",
            "description": "phrase: the keyword's words in that order (default). anyWord: any one of the keyword's words. The same rule applies to Exclude keywords."
          },
          "excludeKeywords": {
            "title": "Exclude keywords",
            "type": "array",
            "description": "Leave out every ad that one of these keywords matches (by the same rule as Keywords). Left out ads are not charged.",
            "items": {
              "type": "string"
            }
          },
          "brands": {
            "title": "Brands",
            "type": "array",
            "description": "Deliver only ads whose brand (the name the box shows) is one of these, compared without letter case, accents written apart, punctuation or spacing.",
            "items": {
              "type": "string"
            }
          },
          "advertiserIds": {
            "title": "Advertiser ids",
            "type": "array",
            "description": "Deliver only ads of these Revcontent advertiser ids (whole numbers, as in the advertiserId column).",
            "items": {
              "type": "string"
            }
          },
          "landingDomains": {
            "title": "Landing domains",
            "type": "array",
            "description": "Deliver only ads whose landing address is on one of these domains or a sub domain of one. Only newer Revcontent boxes state a landing address; ads of older boxes never match this filter.",
            "items": {
              "type": "string"
            }
          },
          "mediaTypes": {
            "title": "Media types",
            "type": "array",
            "description": "Deliver only ads of these media types: image, animated (a gif) or video.",
            "items": {
              "type": "string",
              "enum": [
                "image",
                "animated",
                "video"
              ],
              "enumTitles": [
                "Image",
                "Animated",
                "Video"
              ]
            }
          },
          "saveImages": {
            "title": "Save image files (paid add-on)",
            "type": "boolean",
            "description": "Save each delivered ad's image file into the run's key-value store; the row gives its key and address (imageFileKey, imageFileUrl). One Image file event per saved image, charged only with the ad's own Ad event. Default false."
          },
          "videoScenes": {
            "title": "Video scene cuts (paid add-on)",
            "type": "boolean",
            "description": "For every delivered ad with a video: download the video file and read its scene cuts (the seconds where it cuts to a new shot) and each shot's motion (0 to 1), from ffmpeg's scene scores inside the run. One Scene list event per video whose scenes were read, charged only with the ad's own Ad event. Every ad with a video gets its duration, sound track and picture size free anyway. Default false."
          },
          "advertiserSummary": {
            "title": "Advertiser rows",
            "type": "boolean",
            "description": "At the end of the run, one free advertiser row per Revcontent advertiser id of the delivered ads: its brands, campaigns, landing domains, sites, exit countries, media types and ad count. Default false."
          },
          "includeRawData": {
            "title": "Include the raw item",
            "type": "boolean",
            "description": "Add Revcontent's own item to each ad row (rawItem): its descriptive fields only, never the click link, the event trackers or the request tokens. Default false."
          },
          "runTag": {
            "title": "Run tag",
            "type": "string",
            "description": "A label of up to 100 letters, digits, spaces and . _ , - : # ( ) / + copied onto every ad, coverage and advertiser row (to tell runs apart in one sheet)."
          },
          "memoryName": {
            "title": "Memory name (watch mode)",
            "type": "string",
            "description": "Give scheduled runs one name and each ad is delivered and charged once for that name: later runs deliver only ads the memory has not seen. Ads the memory knows are counted in the coverage rows, free. Letters, digits, spaces and . _ , - : # ( ), up to 100 characters."
          },
          "includeKnownAds": {
            "title": "Also list ads the memory knows (free)",
            "type": "boolean",
            "description": "With a memory name: deliver each ad the memory already holds once per run as a free known_ad row, with the day the memory first delivered it and the days since, so you see which ads keep running. Default false."
          },
          "resetMemory": {
            "title": "Reset the memory",
            "type": "boolean",
            "description": "Forget every ad the named memory knows before this run, so every ad counts as new again."
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Leave as is for the Actor's own exits (the United States from Apify's US addresses, other countries from residential exits there). Group RESIDENTIAL reads every country, the United States included, from residential exits. A datacenter group reads the United States through it. Your own proxy URLs read every call through them (an answer served for another country than the one asked is not delivered). Apify Proxy turned off reads only the United States, from the container's own address."
          },
          "includePersonalData": {
            "title": "Include personal data",
            "type": "boolean",
            "description": "Off by default. Off, an e-mail address in the brand (brandName on ad rows, brandNames on advertiser rows, provider and brand in the raw item of includeRawData) is replaced by \"(e-mail address hidden)\" and the row's personalDataMasked is true (as in every earlier version on the rows; in the raw item since 2026-10-19). On, the brand is delivered exactly as Revcontent serves it, e-mail addresses included (the raw item too), and the brand and keyword filters compare that brand. You are responsible for a lawful use of personal data, GDPR included.",
            "default": false
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}