---
title: "Proxy | ScreenshotAPI Docs"
slug: "/docs/proxy"
description: "Leverage proxy support in ScreenshotAPI to capture screenshots from specific regions or bypass restrictions with ease."
---

# Proxy

We have a free proxy you can use if you need one: http://xo:llksoigsgrewvc@157.230.191.197:3128

Code Example:

```js

const axios = require("axios");

let config = {
	method: "get",
	maxBodyLength: Infinity,
	url: "https://shot.screenshotapi.net/v3/screenshot?token=TOKEN&url=https%3A%2F%2Fgoogle.com&output=image&file_type=png&wait_for_event=load&proxy=http%3A%2F%2Fxo%3Allksoigsgrewvc%40157.230.191.197%3A3128",
	headers: { }
};

axios.request(config).then((response) => {
	console.log(JSON.stringify(response.data));
}.catch((error) => {
	console.log(error);
});
```

```php

<?php
	$client = new http.Client;
	$request = new http.Client.Request;
	$request->setRequestUrl("https://shot.screenshotapi.net/v3/screenshot?token=TOKEN&url=https%3A%2F%2Fgoogle.com&output=image&file_type=png&wait_for_event=load&proxy=http%3A%2F%2Fxo%3Allksoigsgrewvc%40157.230.191.197%3A3128");
	$request->setRequestMethod("GET");
	$request->setOptions(array());

	$client->enqueue($request)->send();
	$response = $client->getResponse();
	echo $response->getBody();
?>
```

```go

package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {
	url := "https://shot.screenshotapi.net/v3/screenshot?token=TOKEN&url=https%3A%2F%2Fgoogle.com&output=image&file_type=png&wait_for_event=load&proxy=http%3A%2F%2Fxo%3Allksoigsgrewvc%40157.230.191.197%3A3128"
	method := "GET"

	client := &http.Client { }
	req, err := http.NewRequest(method, url, nil)

	if err != nil {
		fmt.Println(err)
		return
	}

	res, err := client.Do(req)
	if err != nil {
		fmt.Println(err)
		return
	}

	defer res.Body.Close()
	body, err := io.ReadAll(res.Body)
	if err != nil {
		fmt.Println(err)
		return
	}

	fmt.Println(string(body))
}
```

```java

OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = RequestBody.create(mediaType, "");
Request request = new Request.Builder().url("https://shot.screenshotapi.net/v3/screenshot?token=TOKEN&url=https%3A%2F%2Fgoogle.com&output=image&file_type=png&wait_for_event=load&proxy=http%3A%2F%2Fxo%3Allksoigsgrewvc%40157.230.191.197%3A3128"
	.method("GET", body)
	.build();
Response response = client.newCall(request)
	.execute();
```

```py

import requests

url = "https://shot.screenshotapi.net/v3/screenshot?token=TOKEN&url=https%3A%2F%2Fgoogle.com&output=image&file_type=png&wait_for_event=load&proxy=http%3A%2F%2Fxo%3Allksoigsgrewvc%40157.230.191.197%3A3128"
payload = {}
headers = {}

response = requests.request("GET", url, headers, data=payload)
print(response.text)
```

```ruby

require "uri"
require "net/http"

url = URI("https://shot.screenshotapi.net/v3/screenshot?token=TOKEN&url=https%3A%2F%2Fgoogle.com&output=image&file_type=png&wait_for_event=load&proxy=http%3A%2F%2Fxo%3Allksoigsgrewvc%40157.230.191.197%3A3128")

https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true

request = Net::HTTP::Get.new(url)

response = https.request(request)
puts response.read_body
```

When applying the proxy URL`http://xo:llksoigsgrewvc@157.230.191.197:3128`, it routes the traffic through the specified proxy server, effectively masking the original IP address of the client and using the IP address of the proxy server for accessing the target website.

Video Example:

In the attached video, the IP address of the website`ipgeolocation.io`is shown as`116.202.157.120`. After applying the proxy`http://xo:llksoigsgrewvc@157.230.191.197:3128`, the captured screenshots reflect different IP addresses on each request. This demonstrates that the proxy is rotating IPs successfully during the screenshot process.

![Image](https://screenshotapi.net/_next/image?url=%2Fimages%2Fdocs%2FproxyExample.gif&w=3840&q=75)

## Use Proxies to Bypass CAPTCHAs

Some websites display CAPTCHAs when they detect traffic from datacenter IP addresses or automation tools. To reduce the chances of encountering CAPTCHA challenges during screenshot capture, you can route your requests through a proxy server.

By using a proxy, your requests appear to originate from a different IP address ( potentially a residential or less suspicious IP ) making it less likely for the target site to block or challenge them.

For a more in-depth explanation of how to handle CAPTCHA-protected pages and the role of residential and rotating proxies, refer to our detailed guide on [bypassing CAPTCHAs](https://screenshotapi.net/guide/how-to-handle-captcha-protected-pages-when-taking-screenshots).
