Website Screenshot & PDF: Mobile, Dark Mode, Markdown avatar

Website Screenshot & PDF: Mobile, Dark Mode, Markdown

Pricing

Pay per event

Go to Apify Store
Website Screenshot & PDF: Mobile, Dark Mode, Markdown

Website Screenshot & PDF: Mobile, Dark Mode, Markdown

Website screenshot and PDF capture for supplied public URLs and viewports. Optionally extract Markdown; save files with links and capture metadata in JSON dataset rows.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Grit

Grit

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

2

Monthly active users

18 hours ago

Last modified

Share

Website screenshot scraper returns image or PDF captures of supplied public URLs with capture metadata and stored file links. Web snapshot API output can also include extracted Markdown when returnMarkdown is enabled.

What it does

Supply URLs, output formats, and viewports. The actor stores delivered files in the run key-value store and emits dataset metadata with public_url. Markdown extraction is optional and is stored separately. A truncated image was cut at the configured height.

Input example

{
"urls": [
"https://example.com"
],
"formats": [
"png"
],
"viewports": [
"desktop"
],
"returnMarkdown": true,
"maxItems": 1
}

The example uses fields defined in the actor input schema. Other filters can be set in the Apify input form.

Output fields

Examples below come from the first record in sample_output.json; long strings and arrays are shown as excerpts. Other modes and error rows can have different fields.

FieldType in sampleExample value
urlstring"https://example.com"
final_urlstring"https://example.com/"
statusnumber200
titlestring"Example Domain"
formatstring"png"
viewportstring"desktop"
color_schemestring"light"
widthnumber1440
heightnumber900
pagesnullnull
truncatedbooleanfalse
bytesnumber38162
keystring"example-com-327c3fda-desktop-light.png"
public_urlstring"https://api.apify.com/v2/key-value-stores/EXAMPLEstoreID/records/example-com-327c…
duration_msnumber1421
errornullnull
captured_atstring"2026-10-05T10:52:23+00:00"
markdownstring"# Example Domain\n\nThis domain is for use in documentation examples without need…
markdown_keystring"example-com-327c3fda-desktop-light.md"
markdown_urlstring"https://api.apify.com/v2/key-value-stores/EXAMPLEstoreID/records/example-com-327c…

Output example

A trimmed record copied from sample_output.json:

{
"url": "https://example.com",
"final_url": "https://example.com/",
"status": 200,
"title": "Example Domain",
"format": "png",
"viewport": "desktop",
"color_scheme": "light",
"width": 1440,
"height": 900,
"pages": null,
"truncated": false,
"bytes": 38162,
"key": "example-com-327c3fda-desktop-light.png",
"public_url": "https://api.apify.com/v2/key-value-stores/EXAMPLEstoreID/records/example-com-327c3fda-desktop-light.png",
"duration_ms": 1421,
"error": null,
"captured_at": "2026-10-05T10:52:23+00:00",
"markdown": "# Example Domain\n\nThis domain is for use in documentation examples without needing permission. This is not a service; avoid relying on it for testing and monitoring purposes.\n\nهذا النطاق مُخصص للاستخدام في أمثلة التوثيق دون الحاجة إلى إذن. هذه ليست خدمة، يُرجى تجنب الاعتماد عليها لأغراض الاختبار والمراقبة.\n\n该域名仅用于文档示例,无需获得许可。这并非一项服务,请勿将其用于测试和监控目的。\n\nL’usage de ce domaine est réservé à des exemples ...[truncated in this sample file]",
"markdown_key": "example-com-327c3fda-desktop-light.md",
"markdown_url": "https://api.apify.com/v2/key-value-stores/EXAMPLEstoreID/records/example-com-327c3fda-desktop-light.md"
}

FAQ

Can it capture login-protected or CAPTCHA pages? No. HTTP errors and unreachable pages produce error rows. A site may block datacenter IPs; proxyConfiguration is available for public-page access.

What limits a capture? maxItems limits input URLs. Image height is capped by maxHeight; PDFs paginate. The actor reports truncation in the output row.

What is the pricing model? The proposed pay-per-event model charges $0.003 per delivered snapshot file and $0.001 per delivered markdown extraction. Failed or blocked pages are not charged; the owner sets the proposed values in Apify Console.

How are rate limits and transient failures handled? Timeouts, network errors, HTTP 429, and server errors are retried up to maxRetries with backoff. The default maxRetries is 2.

How fresh is a snapshot? A run captures the page as it appears during navigation; captured_at records that time. Dynamic content, cookie banners, and site responses can change between runs.

Use with AI agents / MCP

After this actor is available to your account, configure it as an actor tool in the Apify MCP server, or start a run through the Apify API with the same input JSON. Give the agent the actor identifier and access through your Apify credentials. Read the completed run’s default dataset through the returned run or dataset reference, check error fields before using records, and keep source URLs with quoted data. Limit the input to the task the agent is answering.

Source and reuse notes

Cookie banners are hidden with CSS where recognized; the actor does not click accept. returnMarkdown extracts readable content and may omit navigation, forms, and hidden text. colorScheme changes appearance only if the site supports the requested scheme.