Introducing Browser Sandbox - Give your agents a secure, fully managed browser environment Read more →
How can I use Firecrawl to take a screenshot of a webpage instead of Playwright in Python?
Firecrawl's Scrape API supports screenshot as an output format. Pass it in formats and the response includes a URL to a captured image of the fully rendered page, with no Playwright installation, no browser process to manage, and no async setup.
| Factor | Playwright (Python) | Firecrawl Scrape API |
|---|---|---|
| Setup | Install Chromium, configure async browser | pip install firecrawl-py |
| Browser management | Launch, use, close per request | Handled by Firecrawl infrastructure |
| JS rendering | Yes | Yes |
| Full-page screenshot | Manual scroll + stitch or full_page=True | Via actions with full_page: True |
| Output | Buffer saved to disk | URL to hosted image |
Basic screenshot in Python:
from firecrawl import Firecrawl
firecrawl = Firecrawl(api_key="fc-YOUR-API-KEY")
doc = firecrawl.scrape("https://example.com", formats=["screenshot"])
print(doc.screenshot) # URL to the screenshot imageFor a full-page screenshot after page interaction, use the actions array:
doc = firecrawl.scrape(
url="https://example.com",
formats=["markdown"],
actions=[
{"type": "wait", "milliseconds": 1500},
{"type": "screenshot", "full_page": True},
],
)
print(doc.screenshot) # URL to the full-page screenshotUse Firecrawl when you need screenshots as part of a scraping pipeline, want to avoid managing browser infrastructure, or need screenshots alongside extracted content from the same request. For fine-grained browser control (custom viewports, precise interactions, local file access) Playwright is still the right tool.
See the Scrape API docs for the full list of supported formats and action types.
Last updated: Mar 01, 2026
FOOTER
The easiest way to extract
data from the web
data from the web
. .
.. ..+
.:.
.. .. .::
+.. ..: :.
.:..::. .. ..
.--:::. .. ... .:. ..
.. .:+=-::.:. . ...-.::. ..
::.... .:--+::..: ......:+....:. :.. ..
....... ::-=:::: ..:-:-...: .--..:: .........
.. . . . ..::-:-.. .-+-:::.. ...::::. .: ...::.:..
. -... ....: . . .--=+-::. :-=-:.... . .:..:: .:---:::::-::....
..::........::=..... ...:-.. .:-=--+=-:. ..--:..=::.... . .:.. ..:---::::---=:::..:...
..........::::.:::::::-::.-.. ...::--==:. ..-::-+==-:... .-::....... ..--:. ..:=+==.---=-+-:::::::-..
. .....::......:: ::::-::.---=+-:..::-+==++X=-:. ..:-::-=-== ---.. .:.--::.. .:-==::=--X==-----====--::+:::+...
..-....-:..::-::=-=-:-::--===++=-==-----== X+=-:.::-==----+==+XX+=-::.:+--==--::. .:-+X=----+X=-=------===--::-:...:. ....
....::::...:-:-==+++=++==+++XX++==++--+-+==++++=-===+=---:-==+X:XXX+=-:-=-==++=-:. .:-=+=- -=X+X+===+---==--==--:..::...+....+
..:::---.::.---=+==XXXXXXXX+XX++==++===--+===:+X+====+=--::--=+XXXXXXX+==++==+XX+=: ::::--=+++X++X+XXXX+=----==++.+=--::+::::+. ::.=...
.:::-==-------=X+++XXXXXXXXXXX++==++.==-==-:-==+X++==+=-=--=++++X++:X:X+++X+-+X X+=---=-==+=+++XXXXX+XX=+=--=X++XXX==---::-+-::::.:..-..