October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PCOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk5 min

GrabzIt Screenshot API Callback URL Setup

GrabzIt callbacks need an absolute, public handler URL. Learn how to pass the callback, retrieve a capture by ID, test delivery, and handle local development.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Set the GrabzIt callback to an absolute URL on a server reachable from the public internet, then use the callback’s id to retrieve the completed capture. A callback cannot reach localhost or 127.0.0.1. For a local workflow without a public handler, use the synchronous SaveTo/save_to method supported by your language library.

What a GrabzIt callback URL does

A callback URL is the address of your server-side handler. GrabzIt calls it after processing a screenshot or HTML conversion. The handler receives callback data as GET parameters; use the capture’s id with the result-retrieval method for your chosen client library. The callback is a later notification, not the screenshot itself. GrabzIt’s REST API documentation describes the callback parameter, while its Node.js and Java callback-handler documentation describe callback values.

Set up a public callback endpoint

1. Create a stable handler route

Make a route such as https://example.com/hooks/grabzit that your server can receive from the internet. It must be an absolute public URL: a relative path, localhost, or 127.0.0.1 will not work. If a newly configured domain has not propagated yet, GrabzIt’s troubleshooting guidance suggests temporarily using the server’s public IP address. See GrabzIt’s callback URL troubleshooting page.

2. Pass the callback when requesting the capture

For the REST API, provide the handler URL in the callback parameter and URL-encode parameter values. Keep the Application Key on your server: GrabzIt warns against making REST API calls from client-side code because that exposes the key. Its REST documentation also describes customid, which is returned with a specified callback URL, and authorizing IP addresses to restrict which servers can access the API. For a client library, use the callback argument and method documented for that language; parameter names and casing vary. The Node.js library, for example, documents asynchronous save(callBackUrl, oncomplete) and a synchronous save_to method. Consult the Node.js technical documentation rather than assuming SDKs use identical signatures.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

3. Process callback data and retrieve the capture

The official Node.js and Java handler documentation lists these callback values: id, filename, message, customId, format, and targeterror. Use id to request the completed result through the relevant library’s result-retrieval method; Node.js documents get_result. Treat message and targeterror as potential error information, and use customId to correlate a callback with your own request when helpful. Validate incoming data and handle failures rather than treating every callback as a successful image.

Choose callback or synchronous saving

Approach When it fits Completion behavior
Asynchronous callback Your application has a public handler endpoint and can accept a later notification. GrabzIt calls the handler after processing; retrieve the result using the capture ID.
Synchronous SaveTo/save_to You do not have a publicly reachable callback handler, including during local development. The documented library method saves synchronously without a callback URL.

The PHP API documentation describes SaveTo for localhost or when a public callback handler is unavailable. Node.js documents save_to as the synchronous, callback-free alternative. These sources distinguish the completion workflows but do not establish a performance advantage for either one.

Display a screenshot in a web page

Do not expect a screenshot to be available in the same step that starts an asynchronous capture. Store a unique correlation value such as customId, let the callback record that the result is ready, and have the page check readiness before displaying the image. GrabzIt’s guidance for this pattern is in Display a screenshot with a callback handler. The page should show a pending state while capture is processing and a useful error state if the callback reports a problem.

Test the handler before relying on it

  1. Make sure a capture already exists in your GrabzIt account.
  2. Open Diagnostics and select an item from the Out column.
  3. Choose “Send to Callback Handler,” enter the handler URL, and optionally provide fields such as a Custom ID.
  4. Send the test and confirm your server receives the request and processes the values as expected.

These are the steps in GrabzIt’s callback-handler test instructions; the documented flow tests an existing capture.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Common callback URL problems

  • “You are trying to use a Callback URL that does not exist!” Check that the URL is absolute, publicly reachable, and points to the actual handler route. Do not use localhost or 127.0.0.1. If a new domain has not propagated, try the public server IP temporarily, as GrabzIt suggests in its troubleshooting guidance.
  • The handler is never reached during local development. A local-only address is not reachable by GrabzIt. Use the library’s synchronous SaveTo/save_to option where documented, or deploy the handler to a public server.
  • The callback arrives but the screenshot is missing. Treat the callback as a notification containing an identifier, not as the image payload. Use id with the result-retrieval method in your library.
  • The page shows no image immediately. Capture generation and callback delivery are asynchronous. Record the request’s correlation ID, check readiness, and display only after the result is ready.
  • Callback fields or method names do not match an example. SDK parameter names differ. Follow the documentation for the language in use; Node.js, for example, documents save(callBackUrl, oncomplete) and save_to.
  • A browser-side integration would expose credentials. Keep the REST request and Application Key server-side; GrabzIt cautions against calling its REST API from client-side code.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Or skip the browser setup

If you need a screenshot endpoint rather than a GrabzIt callback workflow, ScreenshotNeo returns a screenshot from one GET request. This is a different integration pattern from configuring GrabzIt’s callback handler; the example below makes a direct capture request.

ScreenshotNeo API documentation

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

Cookie banners are accepted and removed before the shot, along with supported newsletter popups and chat widgets; each cleanup step can be turned off. Bot checks, blank pages, timeouts, failed loads, and cache hits are not billed, and response headers identify the page verdict and billing status. An MCP server provides screenshot tools for AI agents, and the free plan includes 1,000 shots per month without a card; paid plans start at $5 for 3,000 shots.

Sign up for ScreenshotNeo’s free 1,000 screenshots a month, with no card required.

Frequently Asked Questions

Can GrabzIt send a callback to localhost?

No. The callback host must be publicly reachable; use the documented synchronous library method for a local-only workflow.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Does the callback contain the screenshot file?

The documented callback fields include the capture ID and other metadata. Use the ID with the chosen library’s result-retrieval method.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. Shenzhen desk3 min
    HONOR Expands Beyond Smartphones With Humanoid Robot RevealHONOR said it unveiled its first humanoid robot at MWC 2026 and named shopping assistance, workplace inspections, and supportive companionship as intended uses. Later Robotics D1 claims and a reported…
  2. Cupertino desk5 min
    Apple Unveils AirPods Max 2: The Upgrade That Should Have Happened Years AgoAirPods Max 2 adds H2-powered audio features and Apple claims up to 1.5× more effective ANC, but its design, Smart Case, and 20-hour battery rating are unchanged. Wired lossless audio…
  3. Cupertino desk4 min
    Apple’s OLED Touch MacBooks Are Coming—but the Dynamic Island Is the Real GambleApple has not announced an OLED touchscreen MacBook, but reports point to high-end models arriving in late 2026 or early 2027. The reported Mac Dynamic Island could be useful, but…
Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
PC Slower Than It Used to Be?Free scan - under a minute

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.