NewAPI

Capture one element of a page.

The new selector parameter captures a single element, such as a pricing table, a chart or an embedded post, instead of the whole viewport.

Add selector with a CSS selector, and the screenshot is that element alone.

curl -G "https://api.urlshot.io/v1/screenshot" \
  -H "Authorization: Bearer $URLSHOT_API_KEY" \
  --data-urlencode "url=https://example.com" \
  --data-urlencode "selector=body > p" \
  --output element.png
  • The first match is captured, at the element’s own size, even when it is taller than the viewport. device_scale_factor multiplies both sides.
  • Late elements are waited for, up to timeout_ms.
  • Not with full_page. A request with both is rejected with invalid_request and costs nothing.
  • No match costs one credit. If nothing matches, or the match is hidden or empty, the request fails with selector_not_found, because the page was still loaded.

It works on every plan, including Free.

Read the documentation

Try it on your own pages.

Everything in this changelog is live. 100 free screenshots a month, no credit card needed.