Bulk Website Screenshot Tool | Full Page, URL to PNG & PDF avatar

Bulk Website Screenshot Tool | Full Page, URL to PNG & PDF

Pricing

from $1.50 / 1,000 screenshots

Go to Apify Store
Bulk Website Screenshot Tool | Full Page, URL to PNG & PDF

Bulk Website Screenshot Tool | Full Page, URL to PNG & PDF

Extract website screenshots of many URLs at $1.50 per 1,000 on the free plan: URL to PNG, JPEG, WebP or PDF, cookie banners and popups hidden, ads blocked. Full page screenshots with lazy images loaded as an add-on; desktop to mobile, element shots, a changed-since-last-run flag. No login.

Pricing

from $1.50 / 1,000 screenshots

Rating

0.0

(0)

Developer

Aurelix

Aurelix

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

18 minutes ago

Last modified

Features

Limited permissions

Share

What is Bulk Website Screenshot Tool?

Screenshot a whole list of web pages with cookie banners hidden and ads blocked, at $1.50 per 1,000 screenshots, no login.

Real headless Chrome. Screen size by default; full page with lazy images loaded for $2.00 per 1,000 more. JPEG, PNG, WebP or PDF, desktop to mobile. URLs that fail are never charged. Your first run with the example input costs about $0.0085 (3 screenshots in our test run).

Bulk Website Screenshot Tool: example output from a real run

InputA list of page URLs (one run handles hundreds)
OutputJPEG, PNG, WebP or PDF files with public links; 22 fields per screenshot; JSON, CSV, Excel, API
DevicesDesktop 1920x1080, laptop, tablet, mobile, or any custom size
AutomateSchedules, a changed-since-last-run flag, webhooks, Zapier, Make, n8n, MCP for AI agents
Price$1.50 per 1,000 screenshots
Free to tryRuns on Apify's free plan: the $5 monthly credit covers about 3,300 screenshots (or about 1,400 full-page screenshots)
Login neededNo

Why Bulk Website Screenshot Tool users pick this one

  • Cookie banners hidden. About 60 rules for OneTrust, Cookiebot, Didomi and others; nothing clicked.
  • Full page when you need it. Scrolled first so lazy images load; $2.00 per 1,000 extra.
  • Failed URLs are free. Timeouts, 404s and robots.txt blocks are reported and never charged.
  • Flat price, no compute units. $1.50 per 1,000 screen-size shots; nothing billed on top.
  • Change flag built in. Each row says if the image changed since your last run.

Get started in 3 steps

  1. Paste your page URLs into Page URLs, one per line, e.g. https://www.python.org. The defaults give a 1920x1080 JPEG of each page with cookie banners hidden.
  2. Optionally turn on Full page, pick a Device (laptop, tablet, mobile or a custom size), switch Image format to PNG, WebP or PDF, or give a CSS selector to capture one element.
  3. Click Start. Open each screenshot_url from the Output tab, or download the list as JSON, CSV or Excel, or fetch it through the API, Zapier, Make or n8n.

▶ Try it with the example input

The form opens with an example input already filled in: that run costs about $0.0085 on the free plan.

How much does it cost to screenshot websites?

Pay per event: you pay only for what the run returns, plus a small start fee.

ScreenshotsFree planPaid plans (Bronze, Silver, Gold)
100$0.15$0.15
1,000$1.50$1.50
10,000$15.00$15.00

Totals include the $0.004 start fee per run, rounded to the cent. Apify's free plan includes $5 of credit a month, enough for about 3,300 screenshots (or about 1,400 full-page screenshots).

Two events, and no compute units billed on top: screenshot ($1.50 per 1,000) for every saved screenshot, plus the full-page add-on ($2.00 per 1,000) only for screenshots taken with Full page on and for PDFs (a PDF always holds the whole page). So 1,000 full-page screenshots cost $3.50, and screen-size or element shots $1.50. The format and device do not change the price. Prices are the same on paid Apify plans: they are already the lowest that cover our measured cost. Not charged: URLs blocked by robots.txt, sites that cannot be reached, HTTP errors (403, 404, 5xx), timeouts, a selector or wait-for element that never appears, duplicate URLs in your list, and, with Only changed since last run, screenshots identical to the last run's. Set a maximum cost per run in the run options and the Actor stops capturing when it is reached.

Billing events

EventFree planPaid plans (Bronze, Silver, Gold)
screenshot$1.50 per 1,000 screenshots$1.50 per 1,000 screenshots
full-page$2.00 per 1,000 full-page add-ons$2.00 per 1,000 full-page add-ons
apify-actor-start$0.001 per GB of run memory ($0.004 per run at the 4 GB default)$0.001 per GB of run memory ($0.004 per run at the 4 GB default)

Benchmarks: how we compare

TestInputResultRun timePeak memory
Mixed list, defaults40 URLs: 20 heavy home pages (BBC, Guardian, Stripe, Shopify, IKEA, Figma...) and 20 docs, articles and government pages; screen size, JPEG, 8 at a time40 of 40 saved72 s2.6 GB
Full pageSame 40 URLs, Full page on40 of 40 saved209 s3.7 GB
Heavy home pages30 marketing and news home pages, full page (earlier build)29 of 30 saved; w3.org answered HTTP 403 (not charged)204 s2.7 GB
Local checksTest page with a OneTrust banner, a cookie modal, a sticky header and late contentBoth banners hidden, header kept, element, wait-for, PDF and height cap correct; missing selector and HTTP 404 fail cleanly

Cloud runs on Apify at the 4 GB default memory, read from each run's own statistics. Full page means up to 16,000 CSS pixels tall. Run times include starting the browser; the same list took up to 25% longer on other runs, as Apify servers differ.

What data you get

Bulk Website Screenshot Tool opens each URL you give in a real headless Chrome, hides cookie and consent banners and sign-up popups, blocks ad and tracker requests, and saves a screenshot of the screen (default), one element, or the whole page (scrolled first so lazy-loaded images appear) as JPEG, PNG, WebP or a printable PDF. Each file goes to the run's key-value store, and the dataset gets one row per screenshot with a public link, the page title, the final URL after redirects, the image size, a SHA-256 hash and a changed flag against the last run.

  • screenshot_url: a public link to the JPEG, PNG, WebP or PDF in the run's key-value store, plus its key, format and content_type
  • url, final_url (after redirects), title and http_status of the page
  • device, viewport {width, height, device_scale_factor}, full_page, selector, image_width, image_height, truncated, file_size_bytes
  • image_sha256 and changed (true / false / null on the first capture) for change monitoring
  • banners_hidden (cookie banners and popups hidden), load_time_ms, source_url and scraped_at (ISO 8601 UTC)
  • URLs that could not be captured: listed in the run's status message and in the key-value store record FAILED_URLS with the reason; never charged
urltitleimage_widthimage_heightfile_size_bytesbanners_hiddenchanged
https://www.python.org/Welcome to Python.org192010801431100False
https://www.bbc.com/BBC Home | Breaking News, World News, US News, Sports, B...192010801535860False
https://www.lemonde.fr/Le Monde in English – World news, culture and opinion192010801430911True
https://www.gov.uk/browse/businessBusiness and self-employed - GOV.UK19201080974250False
https://react.dev/React19201080794160False

One full screenshot record, exactly as a real run with the default settings returned it (Le Monde redirected to its English edition, and one cookie banner was hidden). From a real run:

{
"url": "https://www.lemonde.fr/",
"final_url": "https://www.lemonde.fr/en/",
"title": "Le Monde in English – World news, culture and opinion",
"http_status": 200,
"screenshot_url": "https://api.apify.com/v2/key-value-stores/hFGG926XRr4Tpaxqg/records/www-lemonde-fr-39499c786b62.jpg?signature=5278laU9wO... [10 more characters]",
"key": "www-lemonde-fr-39499c786b62.jpg",
"format": "jpeg",
"content_type": "image/jpeg",
"device": "desktop",
"viewport": {
"width": 1920,
"height": 1080,
"device_scale_factor": 1
},
"full_page": false,
"selector": null,
"image_width": 1920,
"image_height": 1080,
"truncated": false,
"file_size_bytes": 143091,
"image_sha256": "2e1ad62c23c74ded9b660557a71181bbbf2d168c671c61fb01b1e2f2364c7251",
"changed": true,
"banners_hidden": 1,
"load_time_ms": 2727,
"source_url": "https://www.lemonde.fr/",
"scraped_at": "2026-11-05T07:50:56Z"
}

Use cases

  • Marketers and agencies capturing competitor home pages, pricing pages and landing pages every week
  • SEO and web teams archiving how pages looked before and after a redesign or release
  • QA and developers checking responsive layouts on desktop, tablet and mobile in one go
  • Compliance and legal teams keeping a dated visual record of public pages and terms
  • Directories, link-preview and thumbnail services that need a fresh image of many sites
  • AI agents that need to see a page: hand them the screenshot link through MCP

Use-case recipes

Weekly competitor page monitor

For marketers. Save the input as a task with your competitors' home and pricing pages, turn on Only changed since last run, and schedule it weekly. Each run returns only the pages whose screenshot changed, so the dataset is your change list; hide chat widgets and rotating banners with Hide these elements to avoid false alarms.

{
"urls": [
"https://www.python.org",
"https://www.djangoproject.com"
],
"incremental": true,
"trackingId": "competitors-weekly",
"hideSelectors": [
"#chat-widget"
]
}

Responsive check on three screen sizes

For developers and QA. Start the same URL list three times with device set to desktop, tablet and mobile (or save three tasks), then compare the three images side by side.

{
"urls": [
"https://react.dev"
],
"device": "mobile",
"format": "png"
}

Archive pages as PDF

For compliance and records. PDF on A4 with backgrounds printed keeps a printable copy of terms, policies and announcements (a PDF is charged as a full page); the hash in each row shows whether the page changed since the last archive.

{
"urls": [
"https://en.wikipedia.org/wiki/Screenshot"
],
"format": "pdf",
"pdfPaper": "A4"
}

Input

FieldTypeWhat it doesDefault
urls (Page URLs)arrayPages to capture, one per line, e.g. ['https://apify.com', 'https://www.python.org'].["https://apify.com", "https://www.python.org", "https://...
device (Device)stringScreen to emulate, e.g. 'mobile'. desktop = 1920x1080, laptop = 1366x768, tablet = 820x1180 (iPad Air size, 2x pixels), mobile..."desktop"
fullPage (Full page)booleanfalse = the visible screen, e.g. 1920x1080 on desktop (the base price). true = the whole scrollable page, scrolled first...false
format (Image format)stringFile type, e.g. 'png'. jpeg = small files and fast (default), png = lossless and larger, webp = smallest files..."jpeg"
hideCookieBanners (Hide cookie banners and popups)booleantrue = hide cookie and consent banners (about 60 rules for OneTrust, Cookiebot, Didomi, Quantcast, TrustArc, Usercentrics and other consent...true
hideSelectors (Hide these elements)arrayCSS selectors to hide before the screenshot, e.g. ['#chat-widget', '.ad-slot', 'header'].

All 21 fields, with examples: see the Input tab.

Use with AI agents (MCP)

MCP (Model Context Protocol) is the open standard that lets AI assistants such as Claude, ChatGPT and Cursor call outside tools. Apify's hosted MCP server at https://mcp.apify.com/?tools=aurelix/website-screenshot gives your assistant this Actor only: it fills in the input from your request, runs it and reads the screenshots back, at the same per-result price as a run started by hand.

Example prompts

  • "Take full-page screenshots of https://www.python.org and https://react.dev on desktop and on mobile, and give me the image links in a table"
  • "Capture only the pricing section (#pricing) of these three pages as PNG and tell me which ones failed and why"
  • "Screenshot our competitors' home pages every Monday and tell me which ones changed since last week"

Claude Desktop and claude.ai

Settings > Connectors > Add custom connector, name it Apify, paste https://mcp.apify.com/?tools=aurelix/website-screenshot, keep the detected OAuth settings, select Add and sign in to Apify.

Claude Code

$claude mcp add --transport http apify "https://mcp.apify.com/?tools=aurelix/website-screenshot"

Cursor and VS Code

Add this to ~/.cursor/mcp.json (Cursor); in VS Code's .vscode/mcp.json put the same entry under "servers" with "type": "http". Sign in to Apify when asked.

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com/?tools=aurelix/website-screenshot"
}
}
}

ChatGPT

Turn on Developer mode, open Settings > Apps & Connectors > Create, paste the URL above as the MCP server URL, choose OAuth and authorize Apify.

Clients without sign-in send Authorization: Bearer <YOUR_APIFY_TOKEN> instead. No Apify account? This Actor supports Apify's agentic payments: an agent can pay per run with a prepaid, spend-capped token, bought with x402 stablecoin payments.

n8n AI agent

Give an AI Agent node an MCP Client Tool with the endpoint https://mcp.apify.com/?tools=aurelix/website-screenshot and a Bearer credential holding your Apify token.

Use it from AI agents (MCP), the API or no-code

Copy this to your AI assistant

Use the Apify Actor aurelix/website-screenshot (Bulk Website Screenshot Tool) through Apify's MCP server or API. Main input: urls (Page URLs). Example input: {"urls": ["https://www.python.org", "https://en.wikipedia.org/wiki/Screenshot"], "device": "desktop", "fullPage": false, "format": "jpeg"}. Each result is one screenshot with fields such as url, final_url, title, http_status, screenshot_url, key, format, content_type. It costs $1.50 per 1,000 screenshots on Apify's free plan plus a $0.004 start fee per run, and needs no login.

MCP server URL for this Actor: https://mcp.apify.com/?tools=aurelix/website-screenshot (setup for each client in the section above).

API

Start a run and read the dataset with Apify's REST API or the Python and JavaScript clients:

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("aurelix/website-screenshot").call(run_input={'urls': ['https://www.python.org', 'https://en.wikipedia.org/wiki/Screenshot'], 'device': 'desktop', 'fullPage': False, 'format': 'jpeg'})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

No-code: schedule it in 3 clicks

Send the results to Google Sheets, Zapier, Make, n8n, Slack or any webhook URL.

  1. Fill in the input, then click Save as a new task.
  2. In the task, click Schedule and pick daily or weekly (Apify Schedules).
  3. Turn on Only changed since last run so each run returns only what is new.

Prefer n8n or Make? Ask in the Issues tab and we will share a ready-made workflow for it.

FAQ

Can I screenshot websites without login?

Yes. It never logs in, so you need no website account, password or cookies; only a free Apify account to run it.

Is there a website screenshot API?

You can use this Actor as one. Start it with Apify's REST API or the Python and JavaScript clients and read the results as JSON (see the code above), or call it from an AI agent through MCP.

How much does it cost to screenshot websites?

About $1.50 for 1,000 screenshots on Apify's free plan, start fee included. The free $5 monthly credit covers about 3,300 screenshots (or about 1,400 full-page screenshots).

Yes. Download the results as Excel, CSV, JSON, XML or HTML from the run's Storage tab, or send them to Google Sheets with Apify's Google Sheets integration or the API.

It reads only public data any logged-out visitor can see: the pages you list (capture only pages you have the right to capture, such as your own, your clients', or public pages for fair uses like archiving and comparison). It goes at a polite pace, respects robots.txt, never logs in and never solves CAPTCHAs. It returns an image of each page and its title; any text or images on the page stay the property of their owners, and personal data visible on a page is not extracted. To have a record removed, open an issue on this Actor's Issues tab; if a site owner formally asks us to stop, this Actor will stop. You are responsible for using the data lawfully, incl. anti-spam and privacy laws; this is not legal advice.

Can I take a full page screenshot of a website online?

Yes. Paste the URL, turn Full page on and click Start; the screenshot link appears in the Output tab when the run ends. It runs in the cloud, so nothing is installed, and the free Apify plan covers about 1,400 full-page screenshots a month.

Can I convert a URL to PNG or PDF in bulk?

Yes. Paste all URLs, set Image format to PNG (or PDF) and start one run; every URL becomes one file with its own public link.

Two ways, before the screenshot. First, about 60 hiding rules for consent tools and common cookie notices (OneTrust, Cookiebot, Didomi, Quantcast, TrustArc, Usercentrics, Osano, Complianz, CookieYes, iubenda, Sourcepoint, Klaro, Termly and others) are added as the page starts loading. Second, any fixed overlay whose text talks about cookies or consent is hidden, as are newsletter popups with an email field and the empty dark backdrop behind them, and page scrolling is unlocked. On top of that, the scripts of the common consent tools are not loaded at all, so many banners never appear. Nothing is clicked, so no consent is given on your behalf. banners_hidden in each row counts the banners that did appear and were hidden. Turn Hide cookie banners and popups off to see the page as a first-time visitor does.

Will lazy-loaded images show up?

Yes with Full page on: the page is scrolled down one screen at a time (images marked loading=lazy are switched to load straight away), the Actor waits briefly for the network and pending images, scrolls back to the top and then takes the shot (a page that fits on one screen is not scrolled). Screen-size shots skip scrolling: images in the first screen load as normal. Pages that load content only on user actions such as clicks are captured as they are.

What happens when a URL fails?

It is retried once if the error looks temporary (timeout, connection reset, HTTP 429 or 5xx), then reported with the reason and not charged. The other URLs carry on. The run's status message counts the failures by reason, and the key-value store record FAILED_URLS lists each URL and why. The run itself still ends SUCCEEDED.

How long can a full-page screenshot be?

Up to Max full-page height, 16,000 CSS pixels by default. Taller pages (infinite scroll, very long articles) are cut at that height and the row says truncated: true.

Can I capture just one part of a page?

Yes. Put a CSS selector such as #pricing or main article into Element to capture. The first match is captured. If nothing matches, that URL fails and is not charged.

Can I wait for something to load first?

Yes. Wait for element waits until a CSS selector is visible (for charts, search results or single-page apps), and Extra delay adds up to 30 seconds after loading.

How does the change flag work?

Each screenshot's SHA-256 hash is kept per URL and settings in a named key-value store on your account. changed is true when the file differs from the last run's, false when it is identical and null the first time. With Only changed since last run on, identical screenshots are not saved and not charged. Any pixel counts as a change, so hide clocks, carousels and chat bubbles with Hide these elements for a quieter signal. Use Change-tracking name to keep separate histories for separate schedules.

Which image format should I use?

JPEG (default) is small and quick; PNG is lossless and sharper for text but several times bigger on long pages; WebP is the smallest; PDF gives a printable document of the whole page on A4, Letter, Legal or A3 paper with backgrounds printed. JPEG, PNG and WebP cost the same; a PDF includes the full-page add-on.

How long are the files kept?

The images live in the run's default key-value store, which Apify keeps for your plan's data retention period (7 days on the free plan, longer on paid plans). Download them, or send them on with an integration, if you need them for longer.

Can it capture pages behind a login or a CAPTCHA?

No. It never logs in, takes no cookies or passwords, and does not solve CAPTCHAs. Sites that answer an automated browser with a block page or HTTP 403 are reported as failed and not charged.

Does it use a proxy?

No. Pages are loaded straight from Apify's servers (in the US), so sites that show different content by country show their US version, and some consent banners never appear to US visitors at all.

How many URLs can one run take?

Hundreds. Eight screen-size pages (or five full pages) are captured at the same time at the 4 GB default memory; in our tests 40 mixed pages took 72 seconds at screen size and about 3.5 minutes full page. Raise memory and Pages at the same time together for longer lists.

Why is full page an add-on?

A full-page screenshot scrolls the whole page, loads every lazy image and encodes an image up to 16,000 pixels tall: in our measurements it uses about three times the computing of a screen-size shot. Charging it separately keeps the screen-size price at $1.50 per 1,000 for everyone who does not need it.

Lawful use

  • Capture only pages you have the right to capture. The Actor returns an image of a public page; it does not extract or index personal data, and any personal data visible on a page you capture is your responsibility.
  • It never logs in, accepts no cookies or credentials, and never clicks consent buttons on your behalf.

Integrations: n8n, Make, Zapier, JavaScript and cURL

Every run returns a dataset (one row per screenshot) and a key-value store (the files), so any tool that can call a REST API can use it.

  • n8n: in the Apify node, run the Actor aurelix/website-screenshot with the input JSON and read its dataset items. Each item has screenshot_url; an HTTP Request node with the response format set to file downloads the image for Google Drive, S3 or Slack.
  • Make: in the Apify app, run the Actor and wait for it to finish, then get the dataset items; an HTTP module downloads each screenshot_url.
  • Zapier: in the Apify app, run the Actor with the input JSON, then fetch its dataset items and post each screenshot_url to Slack, Sheets or Notion.
  • Google Sheets: Apify's Google Sheets integration on a saved task puts one row per screenshot (with the image link) into a sheet after every run.

JavaScript (Node.js):

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('aurelix/website-screenshot').call({
urls: ['https://www.python.org', 'https://react.dev'],
device: 'mobile',
format: 'png',
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
for (const item of items) console.log(item.url, item.screenshot_url);

cURL (waits for the run and returns the rows; good for short lists):

curl -X POST "https://api.apify.com/v2/acts/aurelix~website-screenshot/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" -H "Content-Type: application/json" \
-d '{"urls": ["https://www.python.org"], "format": "png"}'

Limits (stated honestly)

  • Public pages only: no login, no cookies or headers of your own, no CAPTCHA solving. Sites that block automated browsers (in our tests nytimes.com, etsy.com and w3.org answered HTTP 403) fail and are not charged.
  • robots.txt is always obeyed for the page URL (the rules for all robots apply to our AurelixBot user agent); a site whose robots.txt cannot be read is treated as unreachable.
  • No proxy: pages load from Apify's US servers, so you see a site's US version.
  • Full-page height is capped at 16,000 CSS pixels (row marked truncated); full page costs $2.00 per 1,000 on top of the base price. Mobile and tablet shots are at 2x pixel density, so a 16,000 px tall mobile page is 32,000 pixels tall.
  • Ad and tracker requests are blocked by default, so ad slots appear empty; turn Block ads and trackers off for a page as served.
  • Cookie-banner hiding covers about 60 consent tools plus a text check; a banner built in an unusual way can stay visible. Hide it with Hide these elements.
  • On our 40-URL test, screen-size pages took 1 to 53 seconds each with 8 at a time (median 8 s) and full pages 4 to 70 seconds (median 24 s); the per-URL timeout is 45 s to load plus 40 s to draw the image, with one retry. The page is captured at most 4 seconds after it starts loading plus a short network-idle wait: use Wait for element or Extra delay for slow content.
  • Videos, canvases with animation and live content are captured as they look at that instant; animations are paused and reduced motion is requested.
  • Files stay in the run's key-value store for your plan's data retention period (7 days on the free plan).

Works great with

Public Aurelix Actors, grouped by the data they collect. All are pay-per-result and need no login.

AI, content and SEO

  • Google Trends by Region: Google Trends interest over time, by region and rising queries for any number of keywords, plus trending searches.
  • Google Autocomplete API: Expands seed keywords into hundreds of real Google and YouTube autocomplete phrases, tagged by search intent.
  • PDF Table Extraction & PDF to Markdown OCR: Turns linked PDF and Word files into Markdown per page, with tables as JSON rows, RAG chunks and OCR.
  • Broken Link Crawler & SEO Audit: Audits a whole site: one row per page with SEO checks and broken links, plus a ranked issues summary.
  • Bulk TikTok Transcripts Scraper: Returns TikTok video transcripts as text, timed segments and SRT, from video links or @profiles' latest videos.
  • Website to Markdown API: Crawls a site and returns one row of clean main-content Markdown per page, with title, headings and links.
  • YouTube Transcript Scraper: Returns YouTube video transcripts as text, timed segments and AI chunks, from videos, channels, playlists or searches.
  • YouTube Video Scraper API: Full details for every YouTube video in a search, channel or playlist: views, likes, comments, tags, publish time.

Jobs and hiring data

  • Job Bank Canada Scraper API: Official Job Bank Canada postings by month: NOC and NAICS codes, wages, hours and location.
  • Greenhouse Jobs Scraper: Live jobs from a company's Greenhouse, Lever, Ashby or SmartRecruiters board, with salary and Canadian province tags.
  • Career Page Monitor: New, removed and reposted roles plus hiring velocity per company, from seven job-board systems including Workday.
  • LinkedIn Jobs Country Filter Scraper: Public LinkedIn job postings by keyword and country: title, company, location, seniority, job type, salary text, description.
  • Multiple Job Boards Scraper: LinkedIn, about 50 company career sites, Remote OK and We Work Remotely jobs in one deduplicated list.
  • Remote Job Board Scraper API: Remote OK and We Work Remotely jobs in one deduplicated list with salary, regions and tags.
  • Wellfound Jobs API & Scraper: Wellfound startup jobs with salary and equity ranges, company stage and size, $0.50 per 1,000.
  • Workday Job Postings Scraper: Jobs from any Workday career site by link or company name, with full descriptions and Canadian province tags.

E-commerce and product data

  • AliExpress Scraper API: AliExpress search results by keyword: price, discount, rating, units sold, ship-from country and sponsored flag.
  • Amazon Best Sellers & Amazon New Releases: Amazon Best Sellers and New Releases top 100 on 10 marketplaces: rank, ASIN, price, rating, rank change.
  • Best Buy Canada Scraper API: Best Buy Canada search results: CAD price, sale savings, rating, reviews and seller, plus optional UPC and specs.
  • Shopify App Store Scraper: Shopify App Store apps with pricing plans, ratings, category ranks and reviews; new-app and new-review watch.
  • Shopify Product Export Scraper: Every public product of any Shopify store with variants, SKUs, prices, barcodes, stock counts and collections.
  • Shopify Best Sellers Tracker: Competitor Shopify stores' best-sellers, new products, price changes, stock-outs and restocks since your last run, plus catalogue summary.

Leads and company data

  • Companies House Scraper: Newly incorporated UK companies from Companies House: SIC codes, region, registered office, directors with roles.
  • Contact Page Scraper: Published company emails, phones, addresses, social pages and team members from a list of company websites.
  • Decision Maker Finder: Founders, CEOs, VPs and department heads from company team pages, with title, seniority and function.
  • Newly Funded Companies Hiring: Companies that just raised money (SEC Form D), with their open roles and business contacts, as a new-only monitor.
  • Google Maps Phone Scraper: Local business lists from Google Maps: phones, websites, ratings, hours, coordinates; optional website emails and socials.
  • Recently Funded Companies API: US companies that just filed an SEC Form D: amount raised, industry, state, executives, confirmed website.
  • Tech Stack API: CMS, e-commerce platform, analytics, ad pixels, chat, CDN and email provider for each domain you enter.
  • Yellow Pages Canada Scraper: YellowPages.ca businesses by search term and city: phone, website, address, postal code, hours and rating.

Ad intelligence

  • Competitor Watch: One report per competitor with only what is new: Meta and TikTok ads, page changes, Shopify products and prices, jobs.
  • Facebook Ad Library Search & API: Facebook and Instagram business ads from the Meta Ad Library: copy, creatives, landing pages, dates, optional EU reach.
  • TikTok Ads Library API: TikTok Ads Library ads for Europe, UK, Switzerland and Turkey with targeting, reach, ad text and landing pages.

Canada and government data

  • Canada Building Permits: Building permits and development applications from 7 Canadian cities: address, type, status, dates, value, applicant, contractor and Toronto planner contact.
  • Government Tenders Scraper: Open tenders from SAM.gov, CanadaBuys and EU TED in one table: buyer, codes, value, deadline, contact and link.
  • USPTO Trademark API: US trademark search and watch from USPTO: mark, owner or number lookups, new filings, owner, attorney, goods.

More data tools

  • Agoda API (Unofficial): Scrape Agoda guest reviews at $0.50 per 1,000 with this unofficial Agoda API, cheaper than the leading tools: Agoda and...
  • Tennis Betting Odds Scraper: Tennis results and upcoming matches with opening and closing odds per bookmaker and implied probabilities.

Recent changes

  • 0.1: First release: screen-size, element and full-page screenshots (full page scrolled for lazy images, as an add-on), cookie-banner and popup hiding, ad blocking, desktop/laptop/tablet/mobile/custom screens, wait-for selector, JPEG, PNG, WebP and PDF, per-URL timeout with one retry, failed URLs never charged, changed flag and only-changed mode, robots.txt obeyed.

The full history is on the Changelog tab.

Tested daily

An automated health check runs this Actor every day on a fixed input and checks that at least 2 screenshots come back with url, screenshot_url, key, format, file_size_bytes, image_sha256 filled in; a failed check alerts the maintainer straight away.

Was this useful?

  • Something went wrong? Open an issue and tell us what you ran: we answer fast and aim to reply within a day.
  • It worked? Leave a review: it takes a minute and helps other people find this tool.