Skip to the content
For developers

Screenshot API

Send the address of a public web page, get an image or a PDF back. One GET request, from 227 countries.

On this page5 sections
In shortWhat you get.
  • One requestA GET with the page address. The response is the image.
  • Free to start50 credits when you sign up, once, no card.
  • ThenPlans start at €19 a month for 2,000 credits. Credit packs start at €12, paid once, for 1,000 credits.

1Your first request

Put your key in the LOCALSCREENSHOT_API_KEY environment variable, then run this. It saves the picture as shot.png.

Command line
curl "https://api.localscreenshot.com/v1/screenshot?url=https://www.wikipedia.org" \
  -H "Authorization: Bearer $LOCALSCREENSHOT_API_KEY" \
  -o shot.png

# options are query parameters
curl "https://api.localscreenshot.com/v1/screenshot?url=https://www.wikipedia.org&device=iphone_15&full_page=true" \
  -H "Authorization: Bearer $LOCALSCREENSHOT_API_KEY" \
  -o phone.png

Add response=json to get a link to the image and the page details instead of the image itself.

2Address and key

Base addresshttps://api.localscreenshot.com/v1
HeaderAuthorization: Bearer $LOCALSCREENSHOT_API_KEY
KeyCreate a free account, the key is in your dashboard. It never goes in the address.
From a browserCross-origin requests are allowed (CORS). The key still goes in the header.

3Main options

Options are query parameters, or fields of the JSON body with POST. These are the ones people use most. The documentation lists every option.

OptionWhat it does
url stringThe public http or https page to capture.
country stringLoad the page from this country (ISO 3166-1 alpha-2 code, see /v1/countries). The response reports the country actually observed. If it cannot be obtained, the request fails and is not charged. Costs 2 credits instead of 1.
device stringCapture as this device (screen size, pixel density, mobile browser).
full_page booleanCapture the whole scrollable page instead of the visible part.
format stringFile format. pdf saves the whole page as a document; it cannot be combined with selector or max_width.
block_cookie_banners booleanRemoves most cookie banners. A banner the filters do not know stays in the picture.
response stringimage returns the picture itself. json returns its link, the page details and the attestation.

4Endpoints

RequestWhat it does
GET /v1/screenshotTake a screenshot. POST with a JSON body works the same way.
GET /v1/screenshotsList your screenshots, newest first.
GET /v1/screenshots/{id}Read one screenshot.
DELETE /v1/screenshots/{id}Delete one screenshot and its image.
GET /v1/creditsSee the credits you have left.
GET /v1/countriesList the countries. No key needed.
GET /v1/openapi.jsonThe OpenAPI definition. No key needed.

Errors are JSON, with a stable code and a retryable flag. Send an Idempotency-Key header to retry safely: the same key returns the same screenshot and is charged once.

5Credits, limits and prices

  • 50 free credits when you sign up, once, no card. A free account can send 10 requests a minute and run 2 screenshots at a time.
  • A screenshot costs 1 credit, or 2 from a chosen country. A failed screenshot is not charged.
  • Plans start at €19 a month for 2,000 credits. Credit packs start at €12, paid once, for 1,000 credits.
  • 227 countries. The country reported is the one observed when the page was loaded.

Prices are before tax. The full grid is on the Pricing page.