Webpage Image Extractor
Pricing
from $0.02 / 1,000 image records
Webpage Image Extractor
Extract image URLs and metadata from public pages for SEO audits, ecommerce checks, asset migration, and AI image dataset workflows.
Pricing
from $0.02 / 1,000 image records
Rating
0.0
(0)
Developer
Hanna Nosova
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Extract image URLs and metadata from public web pages. Add one page, a list of pages, or a small same-domain crawl and get a clean dataset of image assets with source page, absolute URL, source type, alt text, dimensions, file type, status code, and byte size when available.
Use it for SEO image audits, ecommerce catalog checks, AI dataset collection, visual-asset migration, and brand monitoring workflows where you need normalized image records rather than screenshots.
Who is it for?
- SEO teams auditing missing alt text, broken image URLs, large image files, and image coverage across public pages.
- Ecommerce and marketplace operators checking product/category page image assets.
- Content and migration teams inventorying images before CMS, domain, or design changes.
- AI dataset builders collecting public image URL lists with page context.
- Brand and compliance teams monitoring where public sites expose visual assets.
Example input
{"startUrls": [{ "url": "https://www.wikipedia.org/" }],"maxPages": 3,"maxImages": 50,"crawlSameDomain": false,"includeSrcset": true,"includeCssBackgrounds": false,"checkImageStatus": true,"downloadImages": false,"proxyConfiguration": { "useApifyProxy": false }}
Example output
{"pageUrl": "https://www.wikipedia.org/","imageUrl": "portal/wikipedia.org/assets/img/Wikipedia-logo-v2.png","absoluteImageUrl": "https://www.wikipedia.org/portal/wikipedia.org/assets/img/Wikipedia-logo-v2.png","sourceType": "img","alt": "Wikipedia","title": null,"width": 200,"height": 183,"mimeType": "image/png","fileExtension": "png","bytes": 16384,"statusCode": 200,"discoveredAt": "2026-07-08T09:30:00.000Z"}
What data it exports
The actor saves one dataset row per discovered image URL.
| Field | Description |
|---|---|
pageUrl | Public page where the image URL was discovered. |
imageUrl | Raw image URL as it appeared in the page. |
absoluteImageUrl | Normalized absolute image URL. |
sourceType | Discovery source: img, srcset, meta, or css. |
alt | Image alt text when present. |
title | Image title attribute when present. |
width / height | HTML-declared image dimensions when present. |
mimeType | MIME type from the image response when checked. |
fileExtension | File extension parsed from the image URL. |
bytes | File size in bytes when the server provides it or downloads are enabled. |
statusCode | Image URL HTTP status code when checked. |
downloadedKey | Key-value-store key when downloadImages saves the file. |
discoveredAt | Timestamp when the image record was produced. |
Input settings
| Setting | Type | Default | Description |
|---|---|---|---|
startUrls | array | required | Public webpage URLs or direct image URLs to inspect. |
maxPages | integer | 3 | Maximum pages to fetch across all start URLs. |
maxImages | integer | 200 | Maximum image records to save. |
crawlSameDomain | boolean | false | Follow same-domain links until maxPages is reached. |
includeSrcset | boolean | true | Include responsive image candidates from srcset. |
includeCssBackgrounds | boolean | false | Include URLs from inline CSS and page style blocks. |
checkImageStatus | boolean | true | Collect image status code, MIME type, and size when available. |
downloadImages | boolean | false | Save image files under 15 MB to the run key-value store. |
proxyConfiguration | object | disabled | Optional proxy settings for sites that rate-limit direct traffic. |
Input recipes
Quick image inventory
Use one URL, keep crawlSameDomain off, and leave downloadImages off. This is best for a fast list of image URLs and metadata.
Small website audit
Set crawlSameDomain to true, maxPages to 10-25, and maxImages to a reasonable cap. This checks several pages on the same domain without crawling the entire site.
Build a downloadable image set
Enable downloadImages only when you really need the files. Downloaded files are stored in the run key-value store and referenced by downloadedKey in the dataset.
Pricing
This actor uses pay-per-event pricing:
- Start fee: $0.005 per run.
- Image record: tiered pay-per-result pricing. BRONZE users pay $0.00004 per image record, with lower per-record prices on higher Apify plans.
Keep maxPages and maxImages low for your first run, then scale after reviewing the output.
API usage
Run the actor with cURL:
curl -X POST 'https://api.apify.com/v2/acts/fetch_cat~webpage-image-extractor/runs?token=APIFY_TOKEN' \-H 'Content-Type: application/json' \-d '{"startUrls": [{ "url": "https://www.wikipedia.org/" }],"maxPages": 3,"maxImages": 50}'
Run it with Node.js:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('fetch_cat/webpage-image-extractor').call({startUrls: [{ url: 'https://www.wikipedia.org/' }],maxPages: 3,maxImages: 50,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Run it with Python:
from apify_client import ApifyClientimport osclient = ApifyClient(os.environ['APIFY_TOKEN'])run = client.actor('fetch_cat/webpage-image-extractor').call(run_input={'startUrls': [{ 'url': 'https://www.wikipedia.org/' }],'maxPages': 3,'maxImages': 50,})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items)
After the run finishes, export the default dataset as JSON, CSV, Excel, XML, RSS, or HTML table from Apify Storage.
MCP and agents
Use this actor from MCP-compatible tools with:
https://mcp.apify.com/?tools=fetch_cat/webpage-image-extractor
Add it to Claude Desktop or Claude Code with:
$claude mcp add apify-webpage-images "https://mcp.apify.com/?tools=fetch_cat/webpage-image-extractor"
Example MCP server config:
{"mcpServers": {"apify-webpage-images": {"url": "https://mcp.apify.com/?tools=fetch_cat/webpage-image-extractor"}}}
Example prompts:
- "Extract image URLs and alt text from this public landing page."
- "Check whether this page has broken image URLs and return status codes."
- "Create a small image dataset from these public documentation pages."
This is useful for agents that need to inspect public pages, collect image URLs, or prepare image datasets as part of a larger workflow.
Limits and best practices
- Only scan public pages that you are allowed to access.
- The actor does not bypass login walls, CAPTCHA, paywalls, or private content.
- Some websites block automated requests; use proxies only when needed and allowed.
- Very large images are not saved when
downloadImagesis enabled; files over 15 MB are skipped for download safety. - CSS extraction is optional because CSS can contain icons, tracking pixels, and other assets you may not need.
Legality and responsible use
Use this actor only on public pages you are allowed to access and process. It does not bypass authentication, CAPTCHA, paywalls, robots restrictions, or private content. Review the target website's terms and applicable privacy, copyright, and data-protection rules before downloading or reusing image files.
FAQ
Can it download the actual images?
Yes. Set downloadImages to true. The dataset will include downloadedKey for files saved to the run key-value store.
Can it crawl an entire website?
It can follow same-domain links up to maxPages, but it is designed for bounded audits, not unbounded site mirroring. Increase limits gradually.
Does it support JavaScript-rendered pages?
The first version focuses on public HTML pages. If a site only renders images after browser JavaScript execution, the actor may return fewer images.
Will it extract background images?
Yes, enable includeCssBackgrounds to extract url(...) references from inline styles and page style blocks.
Related actors
- Sitemap URL Extractor for discovering pages to feed into image audits.
- Website Content Crawler Lite for text/content extraction from public pages.
Support
Open an issue on the actor page with the run ID or run URL, your input JSON, expected output, and actual output. This helps reproduce page-specific extraction problems quickly.
Changelog
- 0.1.0 — Initial version: public-page image URL extraction, srcset/meta/CSS discovery, optional status checks, and optional key-value-store downloads.