Taboola Ads Scraper - Native Ads by Country avatar

Taboola Ads Scraper - Native Ads by Country

Pricing

from $0.85 / 1,000 ads

Go to Apify Store
Taboola Ads Scraper - Native Ads by Country

Taboola Ads Scraper - Native Ads by Country

Scrape the native ads Taboola runs right now in the Around the web boxes of 1,522 verified news sites in 51 countries, or any page URL. One row per distinct ad: headline, image, brand, advertiser account, item number, landing URL and its utm campaign, video, AI flag. Watch mode bills only new ads.

Pricing

from $0.85 / 1,000 ads

Rating

0.0

(0)

Developer

Automation Craft

Automation Craft

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

2

Monthly active users

2 hours ago

Last modified

Share

Taboola Ads Scraper - Native Ads by Country

Taboola ads scraper for the native ads running right now in the "Around the web", "Sponsored stories" and "You may like" boxes of news and publisher sites. Pick countries, pick sites, or paste any article URL, and get one row per distinct ad: headline, image, brand, the Taboola advertiser account, Taboola's item number, the landing address as Taboola states it with its utm campaign parameters, the video and the AI generated flag. No login, no API key, no browser. Each distinct ad is charged once per run, and a watch mode charges only ads your earlier runs have not seen.

This is a live sampler of the sponsored content Taboola serves today, per country and per site, built for affiliate marketers, media buyers and agencies who study competitor native ads. It is not an ad library: Taboola publishes no archive, so there is no advertiser search and no history before your own runs (see "What this Actor does NOT do").

Quick start

  1. Open the Actor and keep the prefilled input (United States, the 3 most visited verified sites, 20 ads), or pick your countries.
  2. Optionally pick named sites from the built in list, or paste article URLs of any site that shows a Taboola box.
  3. Click Start. A run of the prefilled input takes about 10 to 30 seconds.
  4. Read the Ads view (one row per ad; the run's coverage and summary rows show at its end with empty cells) and the Coverage view (one row per site and country: calls, answers with and without ads, distinct ads).
  5. To track new native ads every day, give the run a memory name and schedule it: each later run delivers and charges only ads the memory has not seen.

What you get

Each ad row carries the fields below. Fill rates are measured on 1,534 distinct ads delivered by this Actor's own test runs on 2026-10-10 (27 runs; United States, United Kingdom, Germany, France and Canada exits).

FieldWhat it isFilled
headlineHeadline: the ad headline, HTML entities decoded100 percent
brandNameBrand shown in the box: the brand or source name shown next to the headline100 percent
advertiserAccountTaboola advertiser account: the account that runs the ad, as Taboola names it (unless includePersonalData is on, an e-mail address in the name is hidden, also one written without its @ and dots, and the part of a self serve account name after "taboolaaccount" always)100 percent
adIdItem number: Taboola's number of the ad, stable across calls100 percent
imageUrlImage: the ad image as Taboola serves it100 percent
imageWidth, imageHeightImage size in pixels, as Taboola states it98 percent
landingUrlLanding address as stated: where the ad leads, as Taboola states it, with Taboola's per request click id removed (never visited)over 99 percent
landingDomainLanding domain: the host of the landing address (empty for an ad server's click counter)98 percent
landingUtmThe utm parameters of the landing address: source, medium, campaign, content, term and id, where the advertiser set them83 percent (utm_campaign 50)
languageLanguage: the ad's language100 percent
publishedDatePublished date: the item's date as Taboola states it98 percent
callToActionCall to action: the button text, such as Learn More69 percent
descriptionDescription: a second line of text42 percent
videoUrlVideo: the address of the ad's video creative4 percent
aiGeneratedAI generated: true when Taboola marks the ad as AI generatedtrue on 2 percent
categoryCategory: Taboola's category of the item, when it sends one10 percent

Also on every ad row: creativeType (text, photo or video), landingUrlHasMacros (true on 23 percent: the address still holds a tracking placeholder such as {cpc}), landingUrlIsClickRedirect, isProgrammatic, personalDataMasked, the site, publisherId, placement, pageUrl and exitCountry it was seen on, its position in the box, seenAt, creativeId and adKey.

The run also writes free rows:

  • coverage, one per site and country read: calls, answers with ads, answers without ads (Taboola strips the ads from callers it does not trust, so an answer without ads is retried on a fresh exit and never read as "this site shows no ads"), distinct ads, ads delivered, ads already seen on another site in the run, ads your memory already knew, their keys, where the publisher id came from, and why the site stopped (dry, site_call_cap, blocked, no_taboola_box, unknown_site, failed, stopped).
  • status, for a value that could not be used (a page URL that is not a URL or is not accepted), a country with no verified site, or the pairs a stopped run did not reach.
  • summary, the last row: calls, page reads, ads seen and delivered, ads charged, the stop reason, proxy bytes and the work allowance.

Built in sites

1,522 publisher sites in 51 countries are built in. Taboola was found on each site's own page (its loader, its page settings, its name, or a recorded load of the page), and each was verified live (2026-10-09 and 2026-10-10): three calls on three fresh residential exits in the site's country, at least two of them answering with paid rows served for that country. The country of a site is read from its domain and page language, and a hand review moved 44 sites the page language had put under the United States to their own country (English pages without a regional mark are listed under the United States). Pick them by country (the most visited sites first) or by name.

CountrySitesSites, the most visited first (all of them are in the Sites field of the input)
United States (US)475weather.com, foxnews.com, time.com, usatoday.com, nbcnews.com, autos.yahoo.com, es-us.finanzas.yahoo.com, tech.yahoo.com, slate.com, qz.com, cbssports.com, tmz.com, atlasobscura.com, nbcsports.com, 9gag.com, azcentral.com, freep.com, newatlas.com, telegram.com, sportingnews.com, abcnews.go.com, rawstory.com, wral.com, detroitnews.com, jsonline.com and 450 more
United Kingdom (GB)96independent.co.uk, uk.finance.yahoo.com, uk.yahoo.com, mirror.co.uk, express.co.uk, huffingtonpost.co.uk, onefootball.com, manchestereveningnews.co.uk, walesonline.co.uk, liverpoolecho.co.uk, dailystar.co.uk, dailyrecord.co.uk, gbnews.com, birminghammail.co.uk, chroniclelive.co.uk, bristolpost.co.uk, modernghana.com, mylondon.news, coventrytelegraph.net, devonlive.com, dailypost.co.uk, hulldailymail.co.uk, gazettelive.co.uk, nottinghampost.com, football.london and 71 more
Germany (DE)108t-online.de, de.finance.yahoo.com, de.yahoo.com, sueddeutsche.de, giga.de, tag24.de, gegen-hartz.de, mopo.de, winfuture.de, teltarif.de, tichyseinblick.de, jungefreiheit.de, radsport-news.com, regionalheute.de, fcbinside.de, oberberg-aktuell.de, der-betze-brennt.de, news.de, tiervermittlung.de, polskiobserwator.de, twitterperlen.de, weltfussball.de, achgut.com, anime2you.de, drwindows.de and 83 more
France (FR)107ouest-france.fr, fr.finance.yahoo.com, fr.yahoo.com, lequipe.fr, 20minutes.fr, letelegramme.fr, lavoixdunord.fr, futura-sciences.com, la-croix.com, doctissimo.fr, le10sport.com, foot01.com, humanite.fr, public.fr, sport.fr, lephoceen.fr, defimedia.info, demotivateur.fr, abcbourse.com, atlantico.fr, directvelo.com, moto-station.com, secretsdujeu.com, creusot-infos.com, air-journal.fr and 82 more
Italy (IT)94it.finance.yahoo.com, adnkronos.com, ilgiornale.it, agi.it, affaritaliani.it, tomshw.it, greenme.it, open.online, ivg.it, targatocn.it, liberta.it, prealpina.it, sportal.it, newsbiella.it, iltquotidiano.it, maremmaoggi.net, spaziogames.it, sanremonews.it, tuttogreen.it, businessonline.it, agendaonline.it, ivolleymagazine.it, mole24.it, mentelocale.it, coratolive.it and 69 more
Spain (ES)56elpais.com, as.com, marca.com, elespanol.com, telecinco.es, europapress.es, cadenaser.com, elnacional.cat, tiempo.com, futbolfantasy.com, eldesmarque.com, infodefensa.com, huffingtonpost.es, ecoticias.com, elplural.com, hipertextual.com, juridicas.com, diaridetarragona.com, labrujulaverde.com, elfarodeceuta.es, defensa.com, hibridosyelectricos.com, elmira.es, bernabeudigital.com, sudoku-online.org and 31 more
Netherlands (NL)21drimble.nl, fcupdate.nl, musicmeter.nl, meemetoranje.nl, zodiac-horoscoop.nl, mannenpage.nl, ongelooflijk.nl, sgxl.nl, socialnieuws.nl, bureautuinleven.nl, decortips.nl, gezonderleven.com, holyhome.nl, ikbenfit.com, italiatexel.nl, jebentmama.nl, mijndieren.nl, plush-beauty.nl, rumeurs.nl, sassiesss.nl, verkenjegeest.com
India (IN)101indiatimes.com, moneycontrol.com, cricbuzz.com, jagran.com, aajtak.in, ndtv.com, hindustantimes.com, indianexpress.com, thehindu.com, indiatoday.in, news18.com, livemint.com, sportskeeda.com, deccanherald.com, outlookindia.com, abplive.com, oneindia.com, india.com, amarujala.com, manoramaonline.com, sakshi.com, dinamalar.com, lokmat.com, crex.com, timesofindia.indiatimes.com and 76 more
Australia (AU)15au.finance.yahoo.com, canberratimes.com.au, skynews.com.au, zerotackle.com, illawarramercury.com.au, newcastleherald.com.au, mediaweek.com.au, tvtonight.com.au, yourlifechoices.com.au, 1688.com.au, chinesenews.net.au, oversixty.com.au, womansday.com.au, auliving.com.au, chattr.com.au
Canada (CA)17ca.finance.yahoo.com, nationalpost.com, financialpost.com, vancouversun.com, torontosun.com, ottawacitizen.com, calgaryherald.com, edmontonjournal.com, saltwire.com, theprovince.com, canoe.com, edmontonsun.com, ottawasun.com, calgarysun.com, tj.news, outdoorkingdom.ca, wxcentre.ca
Albania (AL)8mirlir.com, top-channel.tv, gazetatema.net, syri.net, lajmifundit.al, pamfleti.net, a2news.com, topalbaniaradio.com
Argentina (AR)16losandes.com.ar, minutouno.com, zona-militar.com, cronica.com.ar, a24.com, tiempodesanjuan.com, pronto.com.ar, nuevodiarioweb.com.ar, autotest.com.ar, unosantafe.com.ar, lamoto.com.ar, transportemundial.com.ar, unoentrerios.com.ar, sitioandino.com.ar, diariosanrafael.com.ar, quepasajujuy.com.ar
Austria (AT)5krone.at, 5min.at, tips.at, tkp.at, mondkalender-online.at
Belgium (BE)3rtl.be, camer.be, newsclip.be
Brazil (BR)153terra.com.br, metropoles.com, climatempo.com.br, correio24horas.com.br, nsctotal.com.br, oantagonista.com.br, revistaoeste.com, diariodocomercio.com.br, diariodolitoral.com.br, oantagonista.uol.com.br, correiobraziliense.com.br, r7.com, cartacapital.com.br, otempo.com.br, brasil247.com, omelete.com.br, em.com.br, revistaforum.com.br, correiodopovo.com.br, oliberal.com, cidadeverde.com, acidadeon.com, atribuna.com.br, noataque.com.br, gazetasp.com.br and 128 more
Bulgaria (BG)1offnews.bg
Chile (CL)5lahora.cl, primerabchile.cl, ilustrado.cl, albosfanaticos.cl, noticiasazules.cl
Colombia (CO)15eltiempo.com, semana.com, caracoltv.com, bluradio.com, elpais.com.co, vanguardia.com, elheraldo.co, noticiascaracol.com, tuboleta.com, terra.com.co, canal1.com.co, eldiario.com.co, elnuevodia.com.co, laopinion.com.co, qhuboibague.com
Croatia (HR)1index.hr
Czech Republic (CZ)2onlyu.cz, onespace.cz
Denmark (DK)41dagens.dk, gaffa.dk, mobilsiden.dk, filmz.dk, ugebrev.dk, meremobil.dk, denoffentlige.dk, nyheder24.dk, inputmag.dk, min-mave.dk, altomkendte.dk, gastrofun.dk, hvilkenbil.dk, mandekogebogen.dk, travservice.dk, fodboldnyheder.dk, 24victoria.dk, bolignyheder.dk, connery.dk, erhvervsfronten.dk, gastropia.dk, handyman.dk, hurtigmums.dk, infobornholm.dk, ivaerk24.dk and 16 more
Dominican Republic (DO)2listindiario.com, hoy.com.do
Ecuador (EC)4eluniverso.com, primicias.ec, expreso.ec, extra.ec
Egypt (EG)1youm7.com
Hong Kong (HK)4stheadline.com, dcfever.com, lihkg.com, am730.com.hk
Indonesia (ID)2neliti.com, batamnews.co.id
Ireland (IE)12irishmirror.ie, dublinlive.ie, corkbeo.ie, joe.ie, her.ie, rsvplive.ie, sportsjoe.ie, galwaybeo.ie, herfamily.ie, buzz.ie, lovindublin.com, lovin.ie
Israel (IL)8ynet.co.il, haaretz.co.il, calcalist.co.il, sport5.co.il, inn.co.il, rotter.net, 9tv.co.il, betnechemia.co.il
Japan (JP)39tenki.jp, japantimes.co.jp, nishinippon.co.jp, president.jp, gendai.media, nikkan-gendai.com, fujinkoron.jp, fruitmail.net, hokkaido-np.co.jp, afpbb.com, recordchina.co.jp, shindanmaker.com, utaten.com, mognavi.jp, tennis365.net, soccer-king.jp, efight.jp, kyounoryouri.jp, soccerdigestweb.com, motomegane.com, mamahiroba.com, saitama-city-marathon.jp, kochinews.co.jp, tvguide.or.jp, niikei.jp and 14 more
Kenya (KE)3standardmedia.co.ke, the-star.co.ke, nation.co.ke
Malaysia (MY)1thesun.my
Mexico (MX)28eluniversal.com.mx, elfinanciero.com.mx, milenio.com, unotv.com, eleconomista.com.mx, heraldodemexico.com.mx, terra.com, proceso.com.mx, mediotiempo.com, informador.mx, aristeguinoticias.com, clarosports.com, razon.com.mx, terra.com.mx, tvnotas.com.mx, informador.com.mx, elmanana.com.mx, viveusa.mx, bcsnoticias.mx, aldialogo.mx, marthadebayle.com, alpuente.mx, sanluishoy.com.mx, alcancediario.mx, anews.mx and 3 more
Morocco (MA)1kech24.com
New Zealand (NZ)1nz.finance.yahoo.com
Nigeria (NG)5punchng.com, thenationonlineng.net, businessday.ng, saharareporters.com, trendybeatz.com
Norway (NO)5dagens.no, gaffa.no, huslig.no, sosialnytt.com, teksiden.no
Pakistan (PK)3dailytimes.com.pk, dailypakistan.com.pk, express.pk
Paraguay (PY)1abc.com.py
Philippines (PH)5inquirer.net, philnews.ph, onenews.ph, newspapers.ph, newsfeed.ph
Poland (PL)7niezalezna.pl, ino.online, zawszepomorze.pl, e-kolo.pl, burbonik.pl, restauracjashanghai.pl, biochef.pl
Portugal (PT)6iol.pt, theportugalnews.com, fcporto.ws, ncultura.pt, atelevisao.com, dnbrasil.dn.pt
Singapore (SG)1sg.finance.yahoo.com
Slovakia (SK)1uzaka.sk
South Africa (ZA)4iol.co.za, thesouthafrican.com, enca.com, sundayworld.co.za
South Korea (KR)8hani.co.kr, mk.co.kr, sbs.co.kr, sedaily.com, koreadaily.com, sportschosun.com, zum.com, radiokorea.com
Sweden (SE)5dagens.se, stoppapressarna.se, gaffa.se, raavaror.se, teksajten.se
Taiwan (TW)3cw.com.tw, ftvnews.com.tw, ctinews.com
Thailand (TH)11bangkokpost.com, kapook.com, matichon.co.th, dailynews.co.th, khaosod.co.th, thaipost.net, siamsport.co.th, tnews.co.th, siamrath.co.th, nationtv.tv, chiangmainews.co.th
Turkey (TR)8sozcu.com.tr, milliyet.com.tr, t24.com.tr, odatv.com, cumhuriyet.com.tr, birgun.net, olay.com.tr, yenicaggazetesi.com.tr
Venezuela (VE)1lapatilla.com
Vietnam (VN)2thanhnien.vn, tsn360.com

Any other site that shows a Taboola box can be read with Page URLs: paste one article URL per site. The Actor reads that page once to find the site's Taboola publisher id and box, then calls the box like a built in site. A page without a Taboola box gets a free no_taboola_box coverage row.

How a run reads the boxes

  • Every call goes out through a fresh Apify residential exit in the country asked for. Taboola serves the ads of the reader's country, not of the site (the same sites read from the United States, the United Kingdom and Germany shared no ad), so a built in site is read from its own country, and page URLs from every country you pick.
  • Taboola rotates the ads it shows: each call to a site can bring new ones, up to 36 ads per call. A site is called again until it stops bringing ads new to the run (stopAfterDryCalls), up to maxCallsPerSite.
  • Unpaid calls are capped too: answers without new ads (a watch run whose memory already knows most ads, blocked or empty answers, page reads of sites that are not built in) draw on a small budget per run that grows with every ad charged. When it runs out the run stops with stoppedBy: work_allowance in the summary; the sites it had not finished get a coverage row with status stopped and the same stoppedBy, and sites never reached are listed in one not_started status row. Start the next run (or schedule it) to go on; ads already delivered are not charged again under a memory name.
  • The Actor reads the same data call the publisher's page makes and stops there. It never clicks an ad, never follows a landing address and never loads tracking pixels: a followed link would be a paid click on an advertiser's campaign.

How much does it cost to scrape Taboola ads?

Pay per event: a small start fee per run and a price per ad delivered; never a charge for calls, page reads, blocked answers, coverage rows or status rows.

EventFree planBronzeSilverGold
Ad (per 1,000 distinct ads)USD 1.45USD 1.25USD 1.05USD 0.85
Actor start (once per run)USD 0.008USD 0.008USD 0.008USD 0.008

Platinum and Diamond plans pay the Gold price. The Actor start event is the same on every plan.

The Store pricing card shows these same prices per 1,000 events: "$1.45 / 1,000" on the Ad row means one ad costs 0.145 cents.

Worked example on the Free plan: the prefilled run (20 ads) costs USD 0.008 + 20 x USD 0.00145 = USD 0.037. A run of 500 ads costs USD 0.008 + USD 0.725 = USD 0.733.

  • An ad is charged once per run, however many sites, calls or countries show it.
  • With a memory name, an ad is charged once for that name: later runs deliver only new ads.
  • Answers without ads, page reads, unknown sites, failed calls, coverage rows, status rows and the summary are free.
  • Set a maximum cost per run in the run options: the Actor stops before an ad it cannot charge, and never makes a call when the limit cannot pay for one more ad.

Input

FieldWhat it doesDefault
countriesCountries to sample; the best verified sites of each are read from a residential exit in that countryUnited States, when no site and no page URL is given
sitesPerCountryHow many verified sites of each chosen country to read, the most visited first (0 reads none by country)5
sitesNamed sites from the built in list, each read from its own countrynone
pageUrlsAny article or page URL of any site, read from every chosen country (the United States when no country is chosen)none
maxAdsThe most ads delivered in one run100
maxCallsPerSiteThe most calls to one site in one run10
stopAfterDryCallsA site stops after this many answers in a row with no ad new to the run3
maxCallsThe most requests in one run (page reads of sites that are not built in included)200
memoryNameWatch mode: one name for scheduled runs, each ad charged once for that namenone
resetMemoryForget what the named memory knows before this runfalse
includePersonalDataPersonal data: on, advertiserAccount and brandName are delivered exactly as Taboola serves them, e-mail addresses included; off, an e-mail address in them is hiddenfalse

Example: every new native ad in the United Kingdom and Germany, daily.

{
"countries": ["GB", "DE"],
"sitesPerCountry": 10,
"maxAds": 1000,
"memoryName": "uk-de-daily"
}

The sites field takes only names from the built in list: a site that is not in it (also one written with other capitals) is refused by Apify before the run starts, with an error that lists the allowed values; read any other site with pageUrls. A value that cannot be used is never guessed: a page URL that is not a URL, an address on an ad network's own host, or a URL that carries an ad click id, an e-mail address or a password gets a free status row and the rest of the run goes on; an unknown country or a malformed number is refused before any call is made.

What this Actor does NOT do

  • It is not an ad library. Taboola publishes no ad archive, so there is no search by advertiser or keyword, no history before your own runs and no "all ads of brand X". Filter the rows by advertiserAccount, brandName or landingDomain for a competitor's ads, and use a memory name to build your own history.
  • It does not capture landing pages, follow click links or resolve redirects (a followed link is a paid click). The landing address is the one Taboola states, sometimes with unfilled tracking placeholders (landingUrlHasMacros) or an ad server's click counter (landingUrlIsClickRedirect).
  • No spend, impressions, clicks or first and last shown dates, and no advertiser id, campaign id or EU payer: Taboola's answer carries none of them. No active status or date filters either: every row is an ad being served at the moment it was seen.
  • No lookup by advertiser domain or brand, no media download or rehosting: the image and video addresses are Taboola's own, and filtering by advertiserAccount, brandName or landingDomain is done on the rows.
  • It does not cover every Taboola site: the built in list holds the sites verified live, and page URLs reach any other one. A box that shows no ads three times in a row on fresh exits is reported as blocked.
  • It does not read Outbrain or other native networks (Outbrain has its own listing of the same family).
  • It does not sign in or keep cookies: every call is a fresh visitor with no history in the chosen country, so the sample is what a new anonymous reader there is shown.
  • It does not use any publisher API key, and needs no Taboola account.

FAQ

Is there a public ad library for Taboola?

No. Taboola publishes no ad archive. This Actor reads the ads Taboola serves right now in the boxes of publisher sites, per country, and keeps what your runs saw in a named memory if you ask it to.

How do I see my competitors' Taboola ads?

Run the countries where they advertise with enough sites and calls, then filter the rows by advertiserAccount, brandName or landingDomain; landingUtm shows the campaign names advertisers put into their links. Schedule the run with a memory name to collect their new ads every day.

Which countries and news sites are covered?

1,522 publisher sites in 51 countries are built in, each verified live from a residential exit in the site's country (United States 475, United Kingdom 96, Germany 108, France 107, Italy 94, Spain 56, Netherlands 21, India 101, Australia 15, Canada 17, and more; the full list is in "Built in sites" above). Any other site that shows a Taboola box can be read with a page URL, from any of the offered countries: Taboola serves the ads of the country the reader is in, so an American site read from a German exit shows the ads Taboola serves to readers in Germany.

Does the Actor click ads or visit landing pages?

No. It reads the same data call the publisher's page makes for its box and stops there: no click link is followed, no landing page is loaded and no tracking pixel is sent. For a page URL of a site that is not built in, it reads that page once, and Taboola's loader file when the page names a publisher group, to find the box.

How do I get only new Taboola ads every day?

Give the run a memory name and schedule it. Each ad is delivered and charged once for that name; later runs deliver only ads the memory has not seen, and the coverage rows count the ones it already knew. In our own measurement, about half to two thirds of a country's ads on one day were new against the day before.

Does the Actor deliver personal data?

Taboola names a self serve advertiser account after the e-mail address it signed up with, and some brands carry one. By default the Actor hides it: an e-mail address in advertiserAccount or brandName (also one written without its @ and dots, and the part of a self serve account name after "taboolaaccount") is replaced by "(e-mail address hidden)" and personalDataMasked is true on that row. Turn on includePersonalData to get both fields exactly as Taboola serves them. You are responsible for a lawful use of personal data, GDPR included.

Why does this Actor run with limited permissions?

Least privilege: it reads and writes only its own run storages and, in watch mode, the named memory store it creates itself. It cannot see your other actors, datasets or account data.

API examples

curl -X POST "https://api.apify.com/v2/acts/automation_craft~taboola-ads-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"countries": ["US"], "sitesPerCountry": 3, "maxAds": 50}'
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('automation_craft/taboola-ads-scraper').call({ countries: ['GB'], sitesPerCountry: 5, maxAds: 200 });
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.filter((i) => i.type === 'ad').map((i) => [i.advertiserAccount, i.headline]));
from apify_client import ApifyClient
client = ApifyClient("YOUR_TOKEN")
run = client.actor("automation_craft/taboola-ads-scraper").call(run_input={"countries": ["DE"], "maxAds": 200, "memoryName": "de-daily"})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
if item["type"] == "ad":
print(item["advertiserAccount"], item["headline"], item["landingDomain"])

Changelog

  • 0.1 (2026-10-19): new setting includePersonalData, off by default; on, the advertiser account and the brand are delivered exactly as Taboola serves them, e-mail addresses included. Runs without it are unchanged.
  • 0.1 (2026-10-10): first version. Taboola native ads by country, built in site or page URL; one row and one charge per distinct ad per run; watch mode with a named memory; free coverage rows per site and country.

More data tools by Automation Craft