Website Screenshot & PDF: Mobile, Dark Mode, Markdown
Pricing
Pay per event
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
2
Monthly active users
18 hours ago
Last modified
Categories
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.
| Field | Type in sample | Example value |
|---|---|---|
url | string | "https://example.com" |
final_url | string | "https://example.com/" |
status | number | 200 |
title | string | "Example Domain" |
format | string | "png" |
viewport | string | "desktop" |
color_scheme | string | "light" |
width | number | 1440 |
height | number | 900 |
pages | null | null |
truncated | boolean | false |
bytes | number | 38162 |
key | string | "example-com-327c3fda-desktop-light.png" |
public_url | string | "https://api.apify.com/v2/key-value-stores/EXAMPLEstoreID/records/example-com-327c… |
duration_ms | number | 1421 |
error | null | null |
captured_at | string | "2026-10-05T10:52:23+00:00" |
markdown | string | "# Example Domain\n\nThis domain is for use in documentation examples without need… |
markdown_key | string | "example-com-327c3fda-desktop-light.md" |
markdown_url | string | "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.