<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	
	xmlns:georss="http://www.georss.org/georss"
	xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
	>

<channel>
	<title>admin &#8211; ProxySP</title>
	<atom:link href="https://proxysp.com/author/admin/feed/" rel="self" type="application/rss+xml" />
	<link>https://proxysp.com</link>
	<description>The Best Proxy Service Provider Reviewed for 2025</description>
	<lastBuildDate>Sun, 18 Feb 2024 04:21:47 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.4.8</generator>

<image>
	<url>https://proxysp.com/wp-content/uploads/2021/01/icon-90x90.jpeg</url>
	<title>admin &#8211; ProxySP</title>
	<link>https://proxysp.com</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">149675634</site>	<item>
		<title>Is Incognito Mode Truly as Private as You Think?</title>
		<link>https://proxysp.com/is-incognito-mode-really-private/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=is-incognito-mode-really-private</link>
					<comments>https://proxysp.com/is-incognito-mode-really-private/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Fri, 07 Apr 2023 11:25:31 +0000</pubDate>
				<category><![CDATA[Privacy & Security]]></category>
		<guid isPermaLink="false">https://www.proxysp.com/?p=11141</guid>

					<description><![CDATA[TL, DR: Incognito mode offers limited privacy while browsing the web but doesn't provide complete security or anonymity. For better privacy, consider using a VPN. Topic &#8230;<p class="read-more"> <a class="ast-button" href="https://proxysp.com/is-incognito-mode-really-private/"> <span class="screen-reader-text">Is Incognito Mode Truly as Private as You Think?</span> Read More &#187;</a></p>]]></description>
										<content:encoded><![CDATA[<p>TL, DR: <strong><em>Incognito mode offers limited privacy while browsing the web but doesn't provide complete security or anonymity. For better privacy, consider using a VPN.</em></strong></p>
<p>Topic Related: #IncognitoMode #OnlinePrivacy #VPN #BrowsingHistory #InternetSecurity</p>
<ul>
<li>🕵️ Incognito mode provides some privacy but isn't completely secure or private.</li>
<li>🌐 Different browsers have different names for incognito mode, but they all have the same purpose.</li>
<li>📛 Incognito mode doesn't save browsing history, autofill credentials, or cookies.</li>
<li>🚫 Your identity, location, IP address, and internet traffic are not hidden in incognito mode.</li>
<li>💻 Incognito mode can be useful for using multiple accounts, shopping for gifts, and booking travel without storing cookies.</li>
<li>🔐 For true privacy and anonymity, use a VPN to encrypt data and mask IP addresses.</li>
<li>⚠️ Web browsers often provide warnings about the limitations of incognito mode.</li>
</ul>
<hr />
<p>You must have heard people recommending the use of incognito mode when you are using a public or shared computer. For the longest time, people have enjoyed a sense of security when they browse in incognito mode. But unfortunately, people think they can browse any website they want in this mode, and the passwords will not be saved, or the website history will not be recorded.</p>
<p>Unfortunately, there’s more to incognito mode than what you have been led to believe. Also, it might not be as private and secure as you think. Therefore, you must learn <a href="https://setapp.com/how-to/delete-incognito-history" target="_blank" rel="noopener"><u>how to delete incognito mode history</u></a>, so the next person using your computer doesn’t get their hands on the sites you visited. Continue scrolling to learn more about the incognito mode.</p>
<h2>What is the Meaning of Incognito Mode?</h2>
<p>Every web browser has a different name for this type of web browsing. For example, Google Chrome calls it Incognito, but Safari and Firefox call it Private Browsing. But they all mean the same thing.</p>
<p>Essentially, incognito mode means you are browsing privately, and it does not save your browsing history. If you log into online websites, the credentials are not saved for autofill purposes. Also, the cookies are not saved.</p>
<p>However, this mode is not completely private because one can view your incognito mode browsing history using DNS cache or third-party programs.</p>
<h2>Why is the Incognito Mode not as Private as you Think?</h2>
<p>Browsing in incognito mode is safer than browsing in normal mode. However, it is not entirely private because it cannot do the following:</p>
<ul>
<li>Your identity is not hidden from websites when you create an account or sign in.</li>
<li>Your location is not hidden in incognito mode. Websites can find your location based on your GPS or IP address.</li>
<li>Your Internet traffic is not hidden from third parties like the government, your ISP, or the network admin at your university or company. These entities can view the log and find out which websites you have visited.</li>
<li>Your IP address will not be masked; the websites you visit can see this. They can use this information to track you.</li>
<li>Incognito mode does not secure your web traffic from hackers and other cyber attacks.</li>
<li>It is possible for tech-savvy individuals to quickly find your incognito mode browsing history if you haven’t deleted it.</li>
</ul>
<p>What private browsing blocks is recording your traffic. Therefore, your browser cannot record your traffic. But this mode doesn’t hide your IP address or encrypt your traffic. As a result, snoopers can easily see and collect your information by tracking your IP address.</p>
<p>Also, web browsers are upfront about this. For example, whenever you open a new incognito window on Chrome, your browser will warn you that your activities might be visible to the websites, school authorities or employers, your ISP, and the government. Microsoft Edge and Firefox offer similar disclaimers as well. But if you are using Safari, you will not get such warnings or disclaimers.</p>
<p>Therefore, do not get your guard down because you are browsing in incognito mode. Your data isn’t safe. If you are sharing your computer with someone else, they might not be able to see what you are doing.</p>
<h2>When is it alright to use Incognito Mode?</h2>
<p>Since the incognito mode is not as private as you think, you may wonder why you use this mode at all. Here are some instances when using incognito mode makes sense.</p>
<ul>
<li>If you need to use two accounts on the same platform simultaneously, you can log into one of the accounts in normal mode and the other in incognito mode. In this mode, you can log into the same platforms without logging out on the normal browser tabs. This function is handy if you want to separate your work and personal profiles.</li>
<li>You can use incognito mode when shopping for gifts. No site data and cookies mean there will be no targeted advertising.</li>
<li>When booking hotel rooms or flight tickets, you can use incognito mode. As this mode doesn’t store cookies, the hotel or airline website will not know that you have checked for the same dates before. This will prevent them from hiking their prices, and you will get better deals.</li>
</ul>
<p>If you truly want to browse privately, use premium VPNs. <a href="https://www.kaspersky.com/resource-center/definitions/what-is-a-vpn" target="_blank" rel="noopener">VPNs encrypt the data</a> sent and received between your device and the server. Also, they help to mask IP addresses and locations. So you can truly surf the web anonymously if you use VPN.</p>
<h2>Conclusion</h2>
<p>Incognito mode doesn’t stop the government, your ISP, your employer, or the websites you visit from tracking your activities. But they won’t be able to tell whether you have visited the website in normal or incognito mode. However, for true anonymity and privacy, use VPN when browsing the web.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://proxysp.com/is-incognito-mode-really-private/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">11141</post-id>	</item>
		<item>
		<title>Dedicated Proxies (By BlazingSEO) : Learn Manuals Before You Buy</title>
		<link>https://proxysp.com/dedicated-proxies-blazingseo/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=dedicated-proxies-blazingseo</link>
					<comments>https://proxysp.com/dedicated-proxies-blazingseo/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
				<category><![CDATA[BlazingSEO Proxies]]></category>
		<guid isPermaLink="false">https://www.proxysp.com/?p=7664</guid>

					<description><![CDATA[Want to learn more about Blazing SEO's dedicated proxies? This article discusses their advantages and how they differ from other types of proxies, so let's reading! &#8230;<p class="read-more"> <a class="ast-button" href="https://proxysp.com/dedicated-proxies-blazingseo/"> <span class="screen-reader-text">Dedicated Proxies (By BlazingSEO) : Learn Manuals Before You Buy</span> Read More &#187;</a></p>]]></description>
										<content:encoded><![CDATA[<blockquote><p>Want to learn more about Blazing SEO's dedicated proxies? This article discusses their advantages and how they differ from other types of proxies, so let's reading!</p></blockquote>
<h2>About BlazingSEO's Dedicated Proxies</h2>
<h3 class="heading">What are Dedicated Proxies?</h3>
<p>Dedicated Proxies are proxies that are only used by one single person. Which is why they are called &#8220;Dedicated&#8221;. They are dedicated to the one person using them.</p>
<h4><strong>Advantages:</strong></h4>
<ul>
<li>A dedicated proxy is a proxy that is used only by you.</li>
<li>It hides your IP(or MAC) address while adding security and protecting your privacy.</li>
<li>Dedicated proxies deliver fully anonymous surfing on the internet. It is important to remember that you leave a digital footprint in the form of your IP address when using the web. This means that almost anyone can see you online, including hackers and spammers. A dedicated proxy server can almost guarantee your IP address will be invisible.</li>
<li>Higher speed since no one else is working with the same proxy.</li>
<li>Ability to bypass filters and firewalls since a proxy server can circumvent these types of blocked websites.</li>
<li>Ability to unblock numerous applications and bypass numerous internet restrictions (i.e. unblock <a href="https://www.proxysp.com/youtube-proxies/" target="_blank" rel="noopener">YouTube</a>, <a href="https://www.proxysp.com/best-facebook-proxy/" target="_blank" rel="noopener">Facebook</a>, <a href="https://www.proxysp.com/twitter-proxies/" target="_blank" rel="noopener">Twitter</a> at work or school where the “IT administrator” has restricted your access to these and similar sites).</li>
<li>Protect privacy for minimal worry about your personal information being exposed or compromised when you make purchases or surf on the web.</li>
<li>Deliver a higher level of security on the internet since a dedicated proxy provides a unique internet address dedicated to only you.</li>
<li>Avoid and block spam successfully.</li>
<li>Get around geographic restrictions (Restricted content based on country).</li>
</ul>
<p>These proxies are best used for account use because the proxy never changes (Unless you would like the proxies to change).</p>
<p>Dedicated can also be used for games as well. People can create a game account through the proxy and play the game using the proxy.</p>
<p>Dedicated is best because only one person is using it. This means faster speeds, and better reliability site wise for the proxy. To compare, if the proxy was shared (Semi-Dedicated/Rotating), the other person using the proxy might've already created an account for a certain site. As result, the other users on the proxy will not be able to use that same proxy on the same site and create another account.</p>
<p>You might ask why you wouldn't be able to use dedicated proxies for sneaker sites. Please read this article the reasoning behind this.</p>
<h4><strong>Typical Uses of Dedicated Proxies:</strong></h4>
<ul>
<li>Social Media</li>
<li>Games</li>
<li>Account Creation/Use</li>
<li>General Browsing</li>
<li>SEO</li>
</ul>
<h4><strong>Locations:</strong></h4>
<ul>
<li>USA</li>
<li>Brazil</li>
<li>Germany</li>
<li>UK</li>
<li>India</li>
<li>Canada</li>
<li>Japan</li>
</ul>
<hr />
<h3>What are Semi-dedicated Proxies?</h3>
<p>Semi-Dedicated Proxies are proxies that are used by up to 3 people (<a href="https://www.proxysp.com/shared-proxy/" target="_blank" rel="noopener">Shared Proxy</a>). This is why they are called &#8220;Semi-Dedicated&#8221;. They are shared by up to 2 other people. However, this allows the proxy the ability to be more affordable. You may not need a proxy entirely dedicated to only you, and this would be a good option if so.</p>
<h4><strong>Advantages:</strong></h4>
<ul>
<li>Inexpensive</li>
<li>Sharing the proxy server allows you to share in the cost of that server</li>
<li>They are useful for the user who requires several proxies but uses each proxy only for a few hours</li>
<li>Proxies can be helpful with some of SEO software that need harvest data from internet (like keyword ranking or page rank).</li>
<li>They can support both an HTTP and SOCKS service</li>
<li>Proxies can also be used with web browsers and other apps that support proxy use</li>
<li>Get around geographic restrictions (Restricted content based on country)</li>
</ul>
<blockquote><p>These proxies are best used for general browsing and they are not recommended for account creation/management on social media sites.</p></blockquote>
<h4><strong>Authorization Types:</strong></h4>
<ul>
<li>IP Authorization &#8211; HTTP (3128), SOCKS (1080)</li>
<li>Username/Password &#8211; (4444)</li>
</ul>
<h4><strong>Locations:</strong></h4>
<ul>
<li>USA</li>
<li>Brazil</li>
<li>Germany</li>
</ul>
<hr />
<h3>What is the Difference Between Dedicated Proxies and Sneaker Proxies?</h3>
<p>What is the difference between Blazing SEO USA Dedicated proxies and their sneaker proxies? A lot &#8212; if you're a sneaker buyer. Dedicated proxies DO allow you to choose your &#8220;location&#8221; after purchasing, however, what most people do not realize is that the location is the GEOLOCATION, not the HOSTED LOCATION of the proxy.</p>
<p>The geolocation is an arbitrary location to appear as if you're from somewhere you're not, but your proxies will be located all around the USA in various datacenters. <a href="https://www.proxysp.com/sneaker-proxies-blazingseo/" target="_blank" rel="noopener">Sneaker proxies</a> allow you to choose the HOSTED LOCATION after purchasing: either LA or NY. This allows you to select the city that is CLOSEST to your server/computer.</p>
<p>Having a proxy server closest to your server is the ideal situation for the fastest speeds possible. We do recommend you to use their sneaker proxies that are specifically purposed and optimized for shoe sites instead.</p>
<hr />
<h2>Dedicated Proxies Vs Rotating Proxies</h2>
<p>BlazingSEO also provide the <a href="https://www.proxysp.com/backconnect-proxies/" target="_blank" rel="noopener">Rotating proxies</a>, To learn the difference between dedicated Proxies and Rotating-proxies, I would suggest you learn this part at first,</p>
<h3 class="heading">What are Rotating Proxies?</h3>
<p>Rotating proxies are proxies that are shared, but the IPs change every set number of minutes to another proxy IP from a larger pool of IPs. This is why they are called &#8220;Rotating&#8221;. They rotate IPs after a set number of minutes (10-120 minutes) to a different IP. These IPs are shared between other users through which can mean slower speeds and potential website blocks.</p>
<p>Blazing SEO rotating proxies are proxies that switch it's public IP address within an interval of 10 minutes between the switch. Once you have successfully purchased the rotating proxy package, you will be given a single IP address with different port numbers like the following</p>
<p>108.46.12.64:1081</p>
<p>108.46.12.64:1082</p>
<p>108.46.12.64:1083</p>
<p>108.46.12.64:1084</p>
<p>108.46.12.64:1085</p>
<p>The proxy IP has different port numbers and will show a different public IP address. When you load the proxy onto Firefox for testing, and when you browse to whatismyipaddress.com, you will not see 108.46.12.64 as your public IP, but rather something like this 106.39.12.61.</p>
<p>If you purchased 10 rotating proxy ports, that will grant you access to a pool of IPs that has 200 unique IPs. If you purchased 100 rotating proxy ports, that will grant you access to 2000 unique IPs in your pool. The pool of IP will remain the same throughout the entire billing cycle.</p>
<p>If you let your rotating proxy subscription expire at the end of the billing cycle, and re-purchase after that, this should grant you access to another pool of IP &#8211; do take note that the IPs are allocated randomly, thus we can't guarantee that all the IPs will be different from your previous pool.</p>
<h4><strong>Locations</strong></h4>
<ul>
<li>USA</li>
<li>Brazil</li>
<li>Germany</li>
</ul>
<div class="icon">
<div class="icon"></div>
</div>
<div>
<p><strong><div class="su-heading su-heading-style-modern-2-orange su-heading-align-center" id="" style="font-size:30px;margin-bottom:20px"><div class="su-heading-inner">FAQs</div></div></strong></p>
<p class="heading"><strong>1. What Limits do You have for Bandwidth and Threads?</strong></p>
<p>NONE! That’s right, Blazing SEO allows unlimited threads and unmetered/unthrottled bandwidth. Most proxy providers cut costs by openly limiting your threads or bandwidth, but a lot of them do it secretly without you knowing. For example, if they cut your bandwidth speed by half just for an hour each day they would cut a significant amount of their costs… and you wouldn’t even know!</p>
<hr />
<p class="heading"><strong>2. Does Blazing SEO has Proxies that Can be Used for Social Media?</strong></p>
<p>Blazing SEO proxies can be used in a variety of ways. Social media account management is one of the biggest uses for their proxies. We highly recommend using Blazing SEO dedicated proxies. Their dedicated proxies are only used by a single user and are best used for social media. Where as semi-dedicated and rotating proxies are shared among 3 total users.</p>
<p>We highly recommend using 1 proxy per account. Anything more than that will increase the chances of getting blocked/banned. You can check out Blazing SEO proxy subscriptions on Blazing SEO website <a href="https://www.proxysp.com/redirect/blazingseollc" target="_blank" rel="nofollow noopener">here</a>.</p>
<hr />
<p class="heading"><strong>3. Can I Use My Proxies on Multiple Computers?</strong></p>
<p>Blazing SEO allows multiple computer access for Blazing SEO proxies – kindly ensure to Authorize<span dir="ltr"> the IP address of the computer that wants access to the proxies via your proxy dashboard.</span></p>
<div class="su-youtube su-u-responsive-media-yes"><iframe width="600" height="400" src="https://www.youtube.com/embed/Q-NSzU1GDp8?" frameborder="0" allowfullscreen allow="autoplay; encrypted-media; picture-in-picture" title=""></iframe></div>
<hr />
<p><strong>4. How Fast Are Blazing SEO Proxies?</strong></p>
<p>All Blazing SEO proxies are on 1 Gbps DEDICATED network lines. Unlike most other providers, they do not oversell their proxies and ensure all speeds test to the full 1 Gbps.</p>
<hr />
<h4 id="references" class="ftwp-heading">References,</h4>
<ul>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000256598-what-are-dedicated-proxies-" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000256598-what-are-dedicated-proxies-</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000256622-what-are-semi-dedicated-proxies-" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000256622-what-are-semi-dedicated-proxies-</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000256675-what-is-the-difference-between-dedicated-proxies-and-sneaker-proxies-" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000256675-what-is-the-difference-between-dedicated-proxies-and-sneaker-proxies-</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000262796-what-limits-do-you-have-for-bandwidth-and-threads-" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000262796-what-limits-do-you-have-for-bandwidth-and-threads-</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000256633-do-you-have-proxies-that-can-be-used-for-social-media-" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000256633-do-you-have-proxies-that-can-be-used-for-social-media-</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000262805-can-i-use-my-proxies-on-multiple-computers-" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000262805-can-i-use-my-proxies-on-multiple-computers-</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000262797-how-fast-are-your-proxies-" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000262797-how-fast-are-your-proxies-</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000256631-what-are-rotating-proxies-" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000256631-what-are-rotating-proxies-</a></li>
</ul>
<p>&nbsp;</p>
</div>
<hr />
<blockquote><p><strong>Disclaimer</strong>: This part of the content is mainly from the merchant. If the merchant does not want it to be displayed on my website, please <a href="https://www.proxysp.com/contact-us/">contact us</a> to delete your content.</p></blockquote>
]]></content:encoded>
					
					<wfw:commentRss>https://proxysp.com/dedicated-proxies-blazingseo/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7664</post-id>	</item>
		<item>
		<title>How to use IPv4 Proxies API (By BlazingSEO) : Learn Manuals Before You Buy</title>
		<link>https://proxysp.com/how-to-ipv4-proxies-api/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=how-to-ipv4-proxies-api</link>
					<comments>https://proxysp.com/how-to-ipv4-proxies-api/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
				<category><![CDATA[BlazingSEO Proxies]]></category>
		<guid isPermaLink="false">https://www.proxysp.com/?p=8893</guid>

					<description><![CDATA[Here is a guide to IPv4 proxies API Settings, We're using the sample of BlazingSEO's IPv4 proxies. API Key: mZQjSDSDSD-SAMPALE Welcome to the Blazing proxy API page! &#8230;<p class="read-more"> <a class="ast-button" href="https://proxysp.com/how-to-ipv4-proxies-api/"> <span class="screen-reader-text">How to use IPv4 Proxies API (By BlazingSEO) : Learn Manuals Before You Buy</span> Read More &#187;</a></p>]]></description>
										<content:encoded><![CDATA[<blockquote><p>Here is a guide to IPv4 proxies API Settings, We're using the sample of BlazingSEO's IPv4 proxies.</p></blockquote>
<h2><a href="https://www.proxysp.com/redirect/blazingseollc/" target="_blank" rel="nofollow noopener"><img fetchpriority="high" decoding="async" class="aligncenter wp-image-8894 size-large" src="https://www.proxysp.com/wp-content/uploads/2021/10/IPv4-proxies-price-1024x497.png" alt="ipv4 proxies price plan" width="1024" height="497" srcset="https://proxysp.com/wp-content/uploads/2021/10/IPv4-proxies-price-1024x497.png 1024w, https://proxysp.com/wp-content/uploads/2021/10/IPv4-proxies-price-300x146.png 300w, https://proxysp.com/wp-content/uploads/2021/10/IPv4-proxies-price-768x373.png 768w, https://proxysp.com/wp-content/uploads/2021/10/IPv4-proxies-price.png 1224w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></h2>
<h2 class="desc-title-blk">API Key: <strong>mZQjSDSDSD-SAMPALE</strong></h2>
<p>Welcome to the Blazing proxy API page! The following guidelines provide the information you need to get started using your API to automate proxy management.</p>
<p>You will need your unique API key (<strong>mZQjSDSDSD-SAMPALE</strong>) any time you use the API. Treat this like you would any password, because it is unique to you and allows access to your proxy product details. It is worth noting that it does not enable access to any of your personal or billing information.</p>
<p>The following sections provide instructions to setup and use your API to view and manage your inventory:</p>
<hr />
<h2 class="desc-title-blk">Setup</h2>
<p><a href="https://www.proxysp.com/redirect/blazingseollc/" target="_blank" rel="nofollow noopener"><img decoding="async" class="aligncenter wp-image-8895 size-large" src="https://www.proxysp.com/wp-content/uploads/2021/10/API-Access-1024x585.png" alt="API Access" width="1024" height="585" srcset="https://proxysp.com/wp-content/uploads/2021/10/API-Access-1024x585.png 1024w, https://proxysp.com/wp-content/uploads/2021/10/API-Access-300x171.png 300w, https://proxysp.com/wp-content/uploads/2021/10/API-Access-768x438.png 768w, https://proxysp.com/wp-content/uploads/2021/10/API-Access.png 1121w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></p>
<p>The API will only work if you have set up authorization using either IP Auth or User/Password, so before using it be sure that your IPs are authorized. You can find instructions to do so by <a href="https://www.proxysp.com/how-to-use-blazingseo-proxies/" target="_blank" rel="noopener">clicking here.</a></p>
<p>Every request to the Customer Blazing Proxies API should contain an email and API key. If a user does not pass the email and API key or it is invalid &#8211; the API will respond with status 401 (Unauthorized).</p>
<hr />
<h2 class="desc-title-blk">Authorization type</h2>
<h3>Get your current authorization type:</h3>
<pre><code>https://blazingseollc.com/proxy/dashboard/api/auth-type/privateproxyreviews@gmail.com/mZQjUfW3</code></pre>
<h3>Change authorization type:</h3>
<pre><code>https://blazingseollc.com/proxy/dashboard/api/auth-type/privateproxyreviews@gmail.com/mZQjUfW3/authType</code></pre>
<h3>Change proxy authorization configuration with allowed types:</h3>
<ul>
<li>{authType} &#8211; authorization type to set, possible values &#8211; [&#8216;PW', &#8216;IP']</li>
<li>{ipAuthType} (query parameter) &#8211; can be specified if authType = IP, possible values &#8211; [&#8216;HTTP', &#8216;SOCKS']</li>
</ul>
<hr />
<h2 class="desc-title-blk">View Whitelisted Authorized Addresses</h2>
<p>Returns IPs that are authorized on your account to access proxies. It could take 10-30 minutes after an authorization request for the newly authorized IPs to show in this listing.</p>
<pre><code>https://blazingseollc.com/proxy/dashboard/api/export/ips/privateproxyreviews@gmail.com/mZQjUfW3</code></pre>
<hr />
<h2 class="desc-title-blk">List All Proxy IPs in Your Account</h2>
<p>Every time you call the API URL you will be given the newest list of <strong>authorized</strong> proxies in your account.</p>
<h3 class="desc-subtitle-blk">Export Proxy IPs to a CSV file</h3>
<pre><code>https://blazingseollc.com/proxy/dashboard/api/export/4/all/privateproxyreviews@gmail.com/mZQjUfW3/list.csv</code></pre>
<ul>
<li>additionalValues &#8211; You can specify this parameter to display additional values in the list (region,country,category)</li>
</ul>
<pre><code>https://blazingseollc.com/proxy/dashboard/api/export/4/all/privateproxyreviews@gmail.com/mZQjUfW3/list.csv?additionalValues=region,country</code></pre>
<hr />
<h3 class="desc-subtitle-blk">Get Proxy IPs by Country or Category</h3>
<pre><code>https://blazingseollc.com/proxy/dashboard/api/export/4/COUNTRY-CATEGORY/privateproxyreviews@gmail.com/mZQjUfW3/list.csv</code></pre>
<h3 class="desc-subtitle-blk">Get list of Proxy IPs of certain package</h3>
<ul>
<li>{COUNTRY} &#8211; package country in country code (us/de/br/fr/ca etc)</li>
<li>{CATEGORY} &#8211; package category (static/semi-3/rotate/sneaker/block/shopify/static-res)</li>
</ul>
<hr />
<h2 class="desc-title-blk">Adding and Removing IPs</h2>
<h3 class="desc-subtitle-blk">Add new IP</h3>
<pre><code>https://blazingseollc.com/proxy/dashboard/api/ips/add/privateproxyreviews@gmail.com/mZQjUfW3/IPTOADD</code></pre>
<ul>
<li>{IPTOADD} &#8211; IP address which should be enabled for proxy authorization (Note that it may take 10-30 minutes after the submission before your IP is ready for use).</li>
<li>{IPTOADD1,IPTOADD2,&#8230;,IPTOADD20} &#8211; You can add multiple IP addresses (separated by commas) for proxy authorization.</li>
</ul>
<h3 class="desc-subtitle-blk">Delete / Remove existing IP</h3>
<pre><code>https://blazingseollc.com/proxy/dashboard/api/ips/delete/privateproxyreviews@gmail.com/mZQjUfW3/IPTODELETE</code></pre>
<ul>
<li>{IPTODELETE} &#8211; previously added proxy authorization IP which you now want to remove from your account. Once this is submitted, the IP will no longer be authorized after 10-30 minutes.</li>
</ul>
<hr />
<h2 class="desc-title-blk">Replacing Proxy IPs</h2>
<h3 class="desc-subtitle-blk">Get available replacements</h3>
<pre><code>https://blazingseollc.com/proxy/dashboard/api/available-replacements/privateproxyreviews@gmail.com/mZQjUfW3</code></pre>
<h3 class="desc-subtitle-blk">Replace a Single Proxy IP</h3>
<p>Replaces single Proxy IP, and returns # of available replacements for Proxy IPs in the same package type.</p>
<pre><code>https://blazingseollc.com/proxy/dashboard/api/replace-ip/privateproxyreviews@gmail.com/mZQjUfW3/IP_Single</code></pre>
<ul>
<li>{IP} &#8211; Proxy IP to replace (will subsequently reduce the replacements amount)</li>
</ul>
<h3 class="desc-subtitle-blk">Replace multiple Proxy IPs</h3>
<p>Replaces multiple IPs at the same time. The list of ips must be comma-separated and provided as query parameter &#8216;replace';<br />
This also returns a list of successfully flagged (IPs to be replaced by cron job) IPs, and # of available replacements (similar to &#8216;Get Available Replacements' API method).</p>
<pre><code>https://blazingseollc.com/proxy/dashboard/api/replace-multiple-ips/privateproxyreviews@gmail.com/mZQjUfW3?replace=IP1,IP2,IPn</code></pre>
<hr />
<h3 class="desc-title-blk">Third-party Tool Setup: GSA SER</h3>
<p>To setup GSA SER to automatically grab your proxies at a certain interval, follow the instructions below. This is useful for semi-dedicated and dedicated users who request proxies to be changed every 30 days, or if a proxy dies by chance — GSA will automatically grab the new proxies for you 🙂</p>
<ol>
<li style="list-style-type: none;">
<ol>
<li>Open up Proxy Settings tab</li>
<li>Click on Add/Edit Proxy</li>
<li>Right click the list on the left and select ‘Check None’</li>
<li>Click the Add button</li>
<li>Add your API URL (above) and select the option to ‘Add as private proxy type’</li>
<li>Go back to the main Proxy settings page and click on the Options tab</li>
<li>Set ‘Automatically search for new proxies every’ — to 120 minutes</li>
<li>Done!</li>
</ol>
</li>
</ol>
<hr />
<h2 style="text-align: center;"><strong>Rotation Options</strong></h2>
<div class="panel-body">
<div class="alert alert-info">Rotation Options are only valid for Semi-Dedicated or <a href="https://www.proxysp.com/dedicated-proxies-blazingseo/">Dedicated Plans</a>.</div>
<ul>
<li class="alert alert-info"><label for="rotate_ever">Sometimes proxies may go down for a few seconds when we are making server optimizations (to make your proxies faster) and because we automatically replace any proxies that go down you would receive new proxies assigned to your ports. If you DO NOT want new proxies assigned if we detect any of them to go down, check this box. This option is suited for users that use our proxies for social media and do not want a new IP.</label></li>
<li>Check this box if you want your static proxies rotated every 30 days. This option is not suited for people that use our proxies for social media and wish to keep their IPs for as long as possible.</li>
</ul>
<hr />
<p>From,</p>
<ul>
<li><a href="https://blazingseollc.com/proxy/dashboard/settings" target="_blank" rel="nofollow noopener">https://billing.blazingseollc.com/hosting/affiliates.php</a></li>
</ul>
</div>
<hr />
<blockquote><p><strong>Disclaimer</strong>: This part of the content is mainly from the merchant. If the merchant does not want it to be displayed on my website, please <a href="https://www.proxysp.com/contact-us/">contact us</a> to delete your content.</p></blockquote>
]]></content:encoded>
					
					<wfw:commentRss>https://proxysp.com/how-to-ipv4-proxies-api/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">8893</post-id>	</item>
		<item>
		<title>BlazingSEO Proxies Location Issues: Learn Official Manuals Before You Buy</title>
		<link>https://proxysp.com/blazingseo-proxies-location-issues/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=blazingseo-proxies-location-issues</link>
					<comments>https://proxysp.com/blazingseo-proxies-location-issues/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
				<category><![CDATA[BlazingSEO Proxies]]></category>
		<guid isPermaLink="false">https://www.proxysp.com/?p=7751</guid>

					<description><![CDATA[Want to know which locations the BlazingSEO proxy supports? This article will give you a detailed introduction. What Locations Do You Offer for Proxies? (Country &#8211; &#8230;<p class="read-more"> <a class="ast-button" href="https://proxysp.com/blazingseo-proxies-location-issues/"> <span class="screen-reader-text">BlazingSEO Proxies Location Issues: Learn Official Manuals Before You Buy</span> Read More &#187;</a></p>]]></description>
										<content:encoded><![CDATA[<blockquote><p>Want to know which locations the BlazingSEO proxy supports? This article will give you a detailed introduction.</p></blockquote>
<h2 class="heading">What Locations Do You Offer for Proxies? (Country &#8211; City)</h2>
<p dir="ltr" data-renderer-start-pos="3831">The following countries and cities are available through our Blazing SEO proxies as of May 2021.  We continue to expand our locations.  If you have a specific request that you do not see on this list, you can <a href="sales@blazingseo.com" target="_blank" rel="nofollow noopener">email</a> our address and speak to a member of our sales team.</p>
<ul>
<li dir="ltr" data-renderer-start-pos="3831">United States (17):  Los Angeles, Chicago, San Francisco, Dallas, New York City, Secaucus, Denver, Atlanta, San Jose, Omaha, Des Moines, Salem, Seattle, Buffalo, Anchorage, Miami, Phoenix.</li>
<li dir="ltr" data-renderer-start-pos="4023">Argentina, Buenos Aires</li>
<li dir="ltr" data-renderer-start-pos="4050">Australia (2):  Sydney, Melbourne</li>
<li dir="ltr" data-renderer-start-pos="4087">Belgium, Brussels</li>
<li dir="ltr" data-renderer-start-pos="4108">Brazil, Sao Paulo</li>
<li dir="ltr" data-renderer-start-pos="4129">Canada, Toronto</li>
<li dir="ltr" data-renderer-start-pos="4148">Colombia, Bogota</li>
<li dir="ltr" data-renderer-start-pos="4168">Egypt, Cairo</li>
<li dir="ltr" data-renderer-start-pos="4184">France (3): Paris, Marseille, Lyon</li>
<li dir="ltr" data-renderer-start-pos="4222">Germany (2):  Frankfurt, Berlin</li>
<li dir="ltr" data-renderer-start-pos="4257">India, Mumbai</li>
<li dir="ltr" data-renderer-start-pos="4274">Indonesia, Jakarta</li>
<li dir="ltr" data-renderer-start-pos="4296">Italy, Rome</li>
<li dir="ltr" data-renderer-start-pos="4311">Japan, Tokyo</li>
<li dir="ltr" data-renderer-start-pos="4327">Mexico, Mexico City</li>
<li dir="ltr" data-renderer-start-pos="4350">Netherlands, Amsterdam</li>
<li dir="ltr" data-renderer-start-pos="4376">Pakistan, Islamabad</li>
<li dir="ltr" data-renderer-start-pos="4399">Philippines, Manila</li>
<li dir="ltr" data-renderer-start-pos="4422">Poland, Warsaw</li>
<li dir="ltr" data-renderer-start-pos="4440">Saudi Arabia, Riyadh</li>
<li dir="ltr" data-renderer-start-pos="4464">Seychelles, Victoria</li>
<li dir="ltr" data-renderer-start-pos="4488">South Africa, Cape Town</li>
<li dir="ltr" data-renderer-start-pos="4515">South Korea, Seoul</li>
<li dir="ltr" data-renderer-start-pos="4537">Spain, Madrid</li>
<li dir="ltr" data-renderer-start-pos="4554">Taiwan, Taipei</li>
<li dir="ltr" data-renderer-start-pos="4572">Thailand, Bangkok</li>
<li dir="ltr" data-renderer-start-pos="4592">United Kingdom, London</li>
<li dir="ltr" data-renderer-start-pos="4618">Vietnam, Hanoi</li>
</ul>
<hr />
<div class="icon">
<div class="icon">
<h2 class="heading">Why is My Proxy Not Showing the Proper Location Information?</h2>
<p>This can be a little confusing, so it is important to define what is meant by the location of a proxy.  There are two types of locations we work with:</p>
<ul>
<li><strong>Geolocation:</strong> This is the &#8216;virtual' location of the proxy address. IP addresses can be publicly declared in locations that are physically different from where the server happens to sit. When an IP is geolocated, the change can take several weeks to propagate through all the public databases (more on this below). Geolocation is more important for proxies than physical location.</li>
<li><strong>Physical Location:</strong> This is the &#8216;actual' location of the server on which a proxy resides, typically in a data center. This may or may not always be the same as the geolocation, but of the two, is the lesser of importance for how proxies are viewed.</li>
</ul>
<p>So why are there times when you look up the location of a proxy, and find that the proxy is showing in a different one from what you expected? This is likely because the sites that <a href="https://www.proxysp.com/how-to-find-someones-ip-address/" target="_blank" rel="noopener">track IP locations</a> simply haven’t updated the location yet. The process can take anywhere from 1 to 3 weeks, sometimes faster and sometimes slower. Yes, we wish we had more control and insights on this too!</p>
<p>Sites like <a href="http://whoer.net/" target="_blank" rel="nofollow noopener">whoer</a>, <a href="http://maxmind.com/" target="_blank" rel="nofollow noopener">MaxMind</a>, <a href="https://freegeoip.net/" target="_blank" rel="nofollow noopener">FreeGeoIP</a>, and <a href="http://iplocation.net/" target="_blank" rel="nofollow noopener">IPLocation</a> use third party databases that supply geolocations for IPs. However, these third parties and these databases have to get their locations from the top-level IP owner. For IPs in the USA, this is ARIN.</p>
<h3><strong>What is ARIN?</strong></h3>
<p>According to <a href="https://en.wikipedia.org/wiki/American_Registry_for_Internet_Numbers" target="_blank" rel="nofollow noopener">Wikipedia</a>, &#8220;ARIN manages the distribution of Internet number resources, including <a href="https://en.wikipedia.org/wiki/IPv4" target="_blank" rel="nofollow noopener">IPv4</a> and <a href="https://en.wikipedia.org/wiki/IPv6" target="_blank" rel="nofollow noopener">IPv6</a> address space&#8221;. This essentially means they regulate and organize most/all IPv4 address registrations in the USA and Canada, therefore they are what everyone considers the most accurate representation of IPs (which includes location!).</p>
<p>ARIN is one of five <a href="https://en.wikipedia.org/wiki/Regional_Internet_registry" target="_blank" rel="nofollow noopener">regional internet registries</a> in the world, each of which manages the allocation and registration of IP addresses for different areas. While most of our proxies here at Blazing are correlated with ARIN, we do work with the others as well. Here is a listing of all the registries:</p>
<ul>
<li><a href="https://en.wikipedia.org/wiki/AFRINIC" target="_blank" rel="nofollow noopener">African Network Information Center</a> (<strong>AFRINIC</strong>) serves Africa</li>
<li><a href="https://en.wikipedia.org/wiki/American_Registry_for_Internet_Numbers" target="_blank" rel="nofollow noopener">American Registry for Internet Numbers</a> (<strong>ARIN</strong>) serves Antarctica, Canada, parts of the Caribbean, and the United States</li>
<li><a href="https://en.wikipedia.org/wiki/Asia-Pacific_Network_Information_Centre" target="_blank" rel="nofollow noopener">Asia-Pacific Network Information Centre</a> (<strong>APNIC</strong>) serves East Asia, Oceania, South Asia, and Southeast Asia</li>
<li><a href="https://en.wikipedia.org/wiki/RIPE_NCC" target="_blank" rel="nofollow noopener">Réseaux IP Européens Network Coordination Centre</a> (<strong>RIPE NCC</strong>) serves Europe, Central Asia, Russia, and West Asia</li>
<li><a href="https://en.wikipedia.org/wiki/Latin_America_and_Caribbean_Network_Information_Centre" target="_blank" rel="nofollow noopener">Latin America and Caribbean Network Information Centre</a> (<strong>LACNIC</strong>) serves most of the Caribbean and all of Latin America</li>
</ul>
<hr />
<h2 class="heading">How do I Change the Location of My Proxies?</h2>
<p>If you are needing to change the location of your proxies you may do so in your dashboard by following this guide:</p>
<p><strong>DISCLAIMER</strong>: This <strong>will use</strong> your one proxy replacement per proxy per month.</p>
<p>1. Login to your <a href="http://blazingseollc.com/proxy/dashboard/" target="_blank" rel="nofollow noopener"><strong>Dashboard</strong></a></p>
<p>2. On the <strong>left side</strong> of your dashboard click <strong>Location Preferences</strong></p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8069" src="https://www.proxysp.com/wp-content/uploads/2021/09/change-the-location-of-blazingseo-proxies1.jpg" alt="change the location of blazingseo proxies1" width="208" height="219" /></p>
<p>3. Select the locations you want</p>
<p>4. Then click the <strong>Proxy Replacement</strong> tab</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8070" src="https://www.proxysp.com/wp-content/uploads/2021/09/change-the-location-of-blazingseo-proxies2.jpg" alt="change the location of blazingseo proxies2" width="219" height="68" /></p>
<p>5. Either <strong>manually</strong> click &#8216;Replace', next to each new proxy you want replaced (also giving it the new location) <strong>OR</strong> you can just click the &#8216;Export' button on your proxy dashboard and then copy and paste the entire list in</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-8071 " src="https://www.proxysp.com/wp-content/uploads/2021/09/change-the-location-of-blazingseo-proxies3.jpg" alt="change the location of blazingseo proxies3" width="619" height="256" srcset="https://proxysp.com/wp-content/uploads/2021/09/change-the-location-of-blazingseo-proxies3.jpg 667w, https://proxysp.com/wp-content/uploads/2021/09/change-the-location-of-blazingseo-proxies3-300x124.jpg 300w" sizes="(max-width: 619px) 100vw, 619px" /></p>
</div>
</div>
<div class="image-container">
<hr />
<h2 class="heading">Why Does the Location of My Proxy Not Match What the Dashboard Shows?</h2>
</div>
<p><span dir="ltr">If you put ANY of your IP addresses you have from us at the top right of this </span><a href="http://whois.arin.net/ui/" target="_blank" rel="nofollow noopener">PAGE</a><span dir="ltr"> you will find that your IP address is in fact in the correct location. Since ARIN owns IP addresses, they govern this location and it is up to third parties, such as MaxMind, to honor this governance – which unfortunately is not the case.</span></p>
<div class="icon">
<div class="icon">
<hr />
</div>
</div>
<div>
<h4 id="references" class="ftwp-heading">References,</h4>
<ul>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000263650-what-locations-do-you-offer-for-proxies-country-city" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000263650-what-locations-do-you-offer-for-proxies-country-city</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000256606-why-is-my-proxy-not-showing-the-proper-location-information" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000256606-why-is-my-proxy-not-showing-the-proper-location-information</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000256612-how-do-i-change-the-location-of-my-proxies" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000256612-how-do-i-change-the-location-of-my-proxies</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000262803-why-does-the-location-of-my-proxy-not-match-what-the-dashboard-shows-" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000262803-why-does-the-location-of-my-proxy-not-match-what-the-dashboard-shows-</a></li>
</ul>
<hr />
</div>
<blockquote><p><strong>Disclaimer</strong>: This part of the content is mainly from the merchant. If the merchant does not want it to be displayed on my website, please <a href="https://www.proxysp.com/contact-us/">contact us</a> to delete your content.</p></blockquote>
]]></content:encoded>
					
					<wfw:commentRss>https://proxysp.com/blazingseo-proxies-location-issues/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7751</post-id>	</item>
		<item>
		<title>Sneaker Proxies (By BlazingSEO) : Learn Manuals Before You Buy</title>
		<link>https://proxysp.com/sneaker-proxies-blazingseo/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=sneaker-proxies-blazingseo</link>
					<comments>https://proxysp.com/sneaker-proxies-blazingseo/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
				<category><![CDATA[BlazingSEO Proxies]]></category>
		<guid isPermaLink="false">https://www.proxysp.com/?p=7736</guid>

					<description><![CDATA[How much do you know about Blazing SEO's sneaker prxoies? Before you purchase, please read this detailed manuals! What Are Sneaker Proxies? A sneaker proxy is &#8230;<p class="read-more"> <a class="ast-button" href="https://proxysp.com/sneaker-proxies-blazingseo/"> <span class="screen-reader-text">Sneaker Proxies (By BlazingSEO) : Learn Manuals Before You Buy</span> Read More &#187;</a></p>]]></description>
										<content:encoded><![CDATA[<blockquote><p>How much do you know about Blazing SEO's sneaker prxoies? Before you purchase, please read this detailed manuals!</p></blockquote>
<h2 class="heading">What Are Sneaker Proxies?</h2>
<p>A sneaker proxy is a dedicated proxy that allows for customers who are looking to purchase a limited shoe to be able to do so through the sneaker sites.</p>
<p>Typically users will purchase as many <a href="https://www.proxysp.com/best-sneaker-proxies/" target="_blank" rel="noopener">sneaker proxies</a> as their budget allows, a VPS, and a bot. However, these 3 components are not necessarily required. In theory, they could try using their home computer and try going to the shoe site normally purchase. Their chances might not be as great though, because they would only be using one IP (their home IP).</p>
<p>For the best chance at success, users need multiple sneaker proxies, and a sneaker server, which we provide. The server is in the same datacenter as the website server and proxies, allowing for the absolute fastest connection to the footsites. Giving the best chance to cop sneakers. Also, the more proxies you have, the less chance that the footsite will block all the proxies, and in a result, you have a much greater chance of getting the shoes you want.</p>
<h3><strong>Advantages:</strong></h3>
<ul>
<li>The proxy is only used by you (not shared).</li>
<li>Can be used with shoe servers for fastest possible speeds</li>
<li>In same datacenters as shoe site servers.</li>
<li>Higher speed since no one else is working with the same proxy.</li>
<li>Ability to bypass filters and firewalls since a private proxy server can circumvent these types of blocked websites.</li>
<li>Protect privacy for minimal worry about your personal information being exposed or compromised when you make purchases or surf on the web.</li>
<li>Deliver a higher level of security on the internet since a private proxy provides a unique internet address dedicated to only you.</li>
</ul>
<p>These proxies are best used for account use because the proxy never changes (Unless you would like the proxies to change).</p>
<h3><strong>Locations:</strong></h3>
<p>USA</p>
<hr />
<h2 class="heading">What Is the Difference Between Dedicated Proxies and Sneaker Proxies?</h2>
<p>What is the difference between our USA Dedicated proxies and our sneaker proxies? A lot &#8212; if you're a sneaker buyer.</p>
<p>Dedicated proxies DO allow you to choose your &#8220;location&#8221; after purchasing, however, what most people do not realize is that the location is the GEOLOCATION, not the HOSTED LOCATION of the proxy. The geolocation is an arbitrary location to appear as if you're from somewhere you're not, but your proxies will be located all around the USA in various datacenters.</p>
<p>Sneaker proxies allow you to choose the HOSTED LOCATION after purchasing: either LA or NY. This allows you to select the city that is CLOSEST to your server/computer. Having a proxy server closest to your server is the ideal situation for the fastest speeds possible.</p>
<hr />
<div class="icon">
<div class="icon">
<h2 class="heading">How Many Tasks Can I Run on a Blazing Server?</h2>
<p>If you are using one of our servers then you might want to know how many tasks you can run on your server.</p>
<p>We recommend following the guide below.</p>
<p><strong>RAM/CORES</strong></p>
<p>2GB/2Core = 15 task</p>
<p>4GB/4Core = 25 task</p>
<p>6GB/6Core = 50 task</p>
<p>8GB/8Core = 70 task</p>
<p>10GB/10Core = 85 task</p>
<p>14GB/14Core = 100 task</p>
<p>18GB /18Core = 130 task</p>
<p>24GB/24Core = 160 task</p>
<ul>
<li><em>Running more tasks than recommended could cause the server to freeze, slow down, and the <a href="https://www.proxysp.com/best-sneaker-bot/" target="_blank" rel="noopener">bots</a> will not run properly.</em></li>
</ul>
<hr />
<h2 class="heading">What Are the Proxy Speeds for Sneaker Purchases?</h2>
<p>A lot of questions have come up this week about our proxy speeds. The answer I've typed out 100 times has not changed from customer to customer, so I am writing here to explain why your speeds in your software do not reflect our proxy speeds, but rather your server speeds (and if you're on a home computer, then you're in for some slowwww speeds&#8230;)</p>
<p>In any connection to a website through a proxy, the networking process goes as followed:</p>
<p>server (or home computer)  -&gt;  proxy server  -&gt;  website  -&gt;  proxy server  -&gt;  server</p>
<p>This gets your data sent to the website, and awaits the reply from the website.</p>
<p>Now imagine you having a server that is located in Florida, or even worse, a home computer that has 50 Mbps speed (most home internet does). If you're connecting from Florida, to a proxy server located in LA, then have to wait for that reply back after the website returns the data to the proxy server &#8212; you're looking at TWO cross-country (3000+ miles each way) trips to get the connection closed.</p>
<p>In no near future will you be able to have 100ms or fewer speeds when you're connecting to another server 3000 miles away.</p>
<p>This is why I discredit ANY speed tests anyone performs on our proxies because it is solely dependent on their server's speed (it must match our proxy speeds which are 1 Gbps), and their server's locations. <strong>The ideal situation for sneaker buying is having a server located in the same datacenter as the proxies, which we offer at <a href="http://shoeservers.com/" target="_blank" rel="noopener">http://shoeservers.com/</a>.</strong> This makes the distance from server to proxy, and back, almost 0, which only leaves the latency to/from the website.</p>
<hr />
<h2 class="heading">How do I Prevent My IP from Being Banned?</h2>
<p>There are some websites that have higher site security than most sites. Especially sneaker sites. It is very important that you use proxies that support whatever site you attempt to access. Proxies will allow you to navigate your way around site security much better while hiding your real IP.</p>
<p>You can check out our proxy packages here <a href="https://blazingseollc.com/proxy/purchase/" rel="noreferrer noopener" target="_blank">https://blazingseollc.com/proxy/purchase/</a> Please keep in mind that none of our dedicated, semi-dedicated, and rotating proxies do not support any sneaker sites.</p>
<hr />
<h2 class="heading">Why Is My AIO Proxy Tester Showing that a Connection Timed out?</h2>
<p>When the AIO proxy tester is used to test it shows a timeout. This is <strong>NOT TESTING CORRECTLY</strong><strong>.</strong>  The AIO proxy tester is testing our proxies in a way that is <strong>incompatible with our proxies</strong> and shows a timeout error.</p>
<p>Essentially, the AIO proxy tester performs testing in a way that is incompatible with our proxies so we ask that you <strong>run the test below</strong> to verify they are working properly.</p>
<p><strong>HOW TO RUN A VALID TEST IN AIO WITH OUR PROXIES</strong></p>
<p>Follow these instructions to <strong>run a valid test</strong> to show our proxies working in AIO.</p>
<p>To test our proxies properly you must <strong>load the proxies into AIO and create a task</strong>. Please <strong>do not use</strong> the builtin proxy tester. Pick a sneaker site (example: Footlocker) and create a task to cart some shoes using our proxies. Simply start the task so that you can see the AIO bot working with the proxies to access sneaker sites.</p>
<ol>
<li>Create a <strong>simple task</strong> to access a site like Footlocker as a Guest and use the only criteria as <strong>size 10</strong></li>
<li>Start the task so that you can <strong>see the AIO bot working</strong> with the proxies to access sneaker sites</li>
</ol>
<p>You may also manually test the proxies in the browser to the websites by following these videos:</p>
<p>Test manually in<strong> Firefox</strong>:</p>
<div class="su-youtube su-u-responsive-media-yes"><iframe loading="lazy" width="600" height="400" src="https://www.youtube.com/embed/xLFvR2TDzGo?" frameborder="0" allowfullscreen allow="autoplay; encrypted-media; picture-in-picture" title=""></iframe></div>
<p>Test manually in <strong>Chrome</strong>:</p>
<div class="su-youtube su-u-responsive-media-yes"><iframe loading="lazy" width="600" height="400" src="https://www.youtube.com/embed/HQIqu85KE4Y?" frameborder="0" allowfullscreen allow="autoplay; encrypted-media; picture-in-picture" title=""></iframe></div>
<p>If you continue to have issues please open a support ticket so that we can assist further.</p>
<hr />
<h2 class="heading">Which Proxies Work for Shoe or Foot sites?</h2>
<p>Our dedicated/semi-dedicated/rotating proxies DO NOT support shoe sites/foot sites, as it is not supported. If you do use dedicated/semi-dedicated/rotating proxies to access foot sites, most likely you will see a blank screen or a looping loading/connecting screen that is blank, which indicates that it is most likely blocked by the foot site.</p>
<p>On the other hand, our special dedicated SHOE PROXIES are special proxies that are specifically purposed and optimized for shoe sites instead. Only shoe proxies will provide you access to foot sites.</p>
<hr />
</div>
</div>
<div>
<h4 id="references" class="ftwp-heading">References,</h4>
</div>
<ul>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000256618-what-are-sneaker-proxies" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000256618-what-are-sneaker-proxies</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000256675-what-is-the-difference-between-dedicated-proxies-and-sneaker-proxies" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000256675-what-is-the-difference-between-dedicated-proxies-and-sneaker-proxies</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000256676-how-many-tasks-can-i-run-on-a-blazing-server" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000256676-how-many-tasks-can-i-run-on-a-blazing-server</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000256677-what-are-the-proxy-speeds-for-sneaker-purchases" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000256677-what-are-the-proxy-speeds-for-sneaker-purchases</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000256678-how-do-i-prevent-my-ip-from-being-banned-" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000256678-how-do-i-prevent-my-ip-from-being-banned-</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000256635-why-is-my-aio-proxy-tester-showing-that-a-connection-timed-out" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000256635-why-is-my-aio-proxy-tester-showing-that-a-connection-timed-out</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000263274-which-proxies-work-for-shoe-or-foot-sites-" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000263274-which-proxies-work-for-shoe-or-foot-sites-</a></li>
</ul>
<hr />
<blockquote><p><strong>Disclaimer</strong>: This part of the content is mainly from the merchant. If the merchant does not want it to be displayed on my website, please <a href="https://www.proxysp.com/contact-us/">contact us</a> to delete your content.</p></blockquote>
]]></content:encoded>
					
					<wfw:commentRss>https://proxysp.com/sneaker-proxies-blazingseo/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7736</post-id>	</item>
		<item>
		<title>BlazingSEO Account &#038; Billing Issues: Learn Manuals Before You Buy</title>
		<link>https://proxysp.com/blazingseo-account-billing-issues/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=blazingseo-account-billing-issues</link>
					<comments>https://proxysp.com/blazingseo-account-billing-issues/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
				<category><![CDATA[BlazingSEO Proxies]]></category>
		<guid isPermaLink="false">https://www.proxysp.com/?p=7709</guid>

					<description><![CDATA[If you have decided to purchase the Blaze SEO proxy, please check out the purchasing process and user manual. BlazingSEO Purchase Are There Any Discount Codes &#8230;<p class="read-more"> <a class="ast-button" href="https://proxysp.com/blazingseo-account-billing-issues/"> <span class="screen-reader-text">BlazingSEO Account &#038; Billing Issues: Learn Manuals Before You Buy</span> Read More &#187;</a></p>]]></description>
										<content:encoded><![CDATA[<blockquote><p>If you have decided to purchase the Blaze SEO proxy, please check out the purchasing process and user manual.</p></blockquote>
<h2>BlazingSEO Purchase</h2>
<h3 class="heading">Are There Any Discount Codes Available?</h3>
<p>We have the code<strong> BHW</strong> for 5% recurring on our proxies and <strong>5OFF </strong>for a 5 % recurring discount on our servers.</p>
<hr />
<h3 class="heading">What do I do If I Do Not Receive A Verification Code?</h3>
<p>If you are not receiving your verification code after signing up or after signing in from a new device, please contact our support team by <a href="support@blazingseollc.com" target="_blank" rel="nofollow noopener">email</a>.</p>
<hr />
<h3 class="heading">Why Are My Proxies Are Not Assigning?</h3>
<p>There may not be some locations available at this time. We highly recommend assigning your proxies to the &#8220;<strong>Mixed</strong>&#8221; location preference in your dashboard <a href="https://blazingseollc.com/proxy/dashboard/locations" target="_blank" rel="nofollow noopener">here</a>. Once the proxies are assigned to the respective &#8220;Mixed&#8221; location setting then the proxies will be provided to you. If for some reason they are not provided to you after selecting the &#8220;Mixed&#8221; location after 10 minutes please let us know right away.</p>
<hr />
<h3 class="heading">Why Are My Proxies Not Showing in My Dashboard or Are Blank?</h3>
<p>If you have purchased proxies, and find that there are blank areas where proxies should be in your proxy dashboard, then this means that you have selected a location that we may not have in stock currently.</p>
<p>In this case, you have a few options:</p>
<ol>
<li>You may wait up to 48+ hours, and we may receive more stock in, but it is not guaranteed.</li>
<li><strong>Recommended</strong> &#8211;  Change your proxy locations to <strong>Mixed</strong> under the Location Preferences tab in the proxy dashboard <a href="https://blazingseollc.com/proxy/dashboard/locations" target="_blank" rel="nofollow noopener">here</a>.</li>
</ol>
<ul>
<li>You should receive the proxy in about 10 minutes after changing the location to mixed, and saving.</li>
<li>Note: <em>Setting to Mixed location will provide better subnet diversity, which is the best thing to have when connecting to websites. You will spread across more ISPs, ASNs, and A+B+C class subnets.  </em></li>
</ul>
<hr />
<h3 class="heading">How Do I Purchase More Replacements?</h3>
<p>We currently offer one free proxy replacement, per proxy, per 30 days. So if one of your proxies is not working to a site you using the proxies on, then you may use one of your replacements.</p>
<p>If you have used all your replacements, then you will receive more than 30 days from the day that you used the replacements. So if you used the replacements 15 days into your 30 day billing period, then you will receive the new replacements 15 days into your next 30 day billing period.</p>
<p>If you would not like to wait for this, you are able to purchase additional replacements. Currently, you will need to speak with our support team and they will be able to assist you in completing this process at the link.</p>
<p>We will be implementing a client friendly way of doing this soon.</p>
<hr />
<h2>BlazingSEO Account</h2>
<h3 class="heading">What do I do After I Complete the Purchase Process?</h3>
<p>After you have completed the purchase, to access your proxies, follow the instructions below:</p>
<p>1. Please login your account <a href="https://billing.blazingseollc.com/hosting/clientarea.php" target="_blank" rel="nofollow noopener">here</a>. You may also follow the below video guide on how to access your client area too</p>
<div class="su-youtube su-u-responsive-media-yes"><iframe loading="lazy" width="600" height="400" src="https://www.youtube.com/embed/XJoHmvKvfNM?" frameborder="0" allowfullscreen allow="autoplay; encrypted-media; picture-in-picture" title=""></iframe></div>
<p>2.  After logging in, you may access your proxies <a href="http://blazingseollc.com/proxy/dashboard/" target="_blank" rel="nofollow noopener">here</a>. You may also use the Shortcuts link found on the bottom left corner of, &#8220;<strong>Log In To Proxy Dashboard</strong>&#8220;, to login to your proxy dashboard as well.</p>
<p>If this is your first time logging in, you will need to assign your proxy's location in, and after saving your assigned proxy's locations, your proxies will appear on your proxy dashboard.</p>
<p>Make sure you authorize your computer's IP address prior to usage, so that your proxies will grant usage access to the IP that you authorize. You may follow this video guide on how to do just that: How to authorize your IP address for proxies:</p>
<div class="su-youtube su-u-responsive-media-yes"><iframe loading="lazy" width="600" height="400" src="https://www.youtube.com/embed/SxRB6Pq_esI?" frameborder="0" allowfullscreen allow="autoplay; encrypted-media; picture-in-picture" title=""></iframe></div>
<hr />
<h3 class="heading">Can You Tell Me How to Login to My Dashboard and Manage My Account?</h3>
<p>This article highlights <strong>Login </strong>Areas, and<strong> Account Managemen</strong>t locations for your account.</p>
<p><strong>Login Option 1 &#8211; <a href="https://billing.blazingseollc.com/hosting/clientarea.php" target="_blank" rel="nofollow noopener"><em>Control Panel</em></a></strong><em> </em></p>
<p>Proxy Dashboard Login (found under Shortcuts&gt;&#8221;Log In to Proxy Dashboard&#8221;)</p>
<ul>
<li><span dir="ltr"><em><a dir="ltr" href="https://billing.blazingseollc.com/hosting/clientarea.php?action=services" target="_blank" rel="nofollow noopener">To Manage Your Services</a></em>, </span></li>
<li><em><a href="https://billing.blazingseollc.com/hosting/clientarea.php?action=invoices" target="_blank" rel="nofollow noopener">Pay / Download Invoices</a></em><em>, </em></li>
<li><em><a href="https://billing.blazingseollc.com/hosting/clientarea.php?action=changepw" target="_blank" rel="nofollow noopener">Change Account Password</a></em></li>
<li><em><a href="https://billing.blazingseollc.com/hosting/clientarea.php?action=details" target="_blank" rel="nofollow noopener">Update Billing Information / Address</a></em></li>
</ul>
<p>Please login using your registered email address and the password you've set during registration. If you have forgotten your password, please use &#8220;<a href="https://billing.blazingseollc.com/hosting/pwreset.php" target="_blank" rel="nofollow noopener"><em>Forgot Password?</em></a>&#8221; to reset your password.</p>
<hr />
<p><strong>Login Option 2 &#8211; <a href="http://blazingseollc.com/proxy/dashboard/" target="_blank" rel="nofollow noopener"><em>Proxy Dashboard</em></a></strong><em> </em></p>
<p>To View and Administer Your Proxies, Authorize Your IP Addresses, Set Authorization Type (IP Authorization or Username/Password Authorization),</p>
<ul>
<li><span dir="ltr"><em><a dir="ltr" href="https://blazingseollc.com/proxy/checkout/upgrade" target="_blank" rel="nofollow noopener">Upgrade A Proxy Subscription</a></em></span></li>
<li><em><a href="https://blazingseollc.com/proxy/checkout/buy" target="_blank" rel="nofollow noopener">Purchase A New Proxy Subscription</a></em></li>
<li><span dir="ltr"><em><a href="http://blazingseollc.com/proxy/dashboard/replace" target="_blank" rel="noopener">Replace Proxies</a>, <a href="http://blazingseollc.com/proxy/dashboard/locations" target="_blank" rel="nofollow noopener">Proxy Location Settings</a> </em></span></li>
<li><span dir="ltr"><a href="http://blazingseollc.com/proxy/dashboard/settings" target="_blank" rel="nofollow noopener"><em>Proxy Settings</em></a></span></li>
</ul>
<p>Please login using your registered email address and the password you've set during registration.</p>
<hr />
<h3 class="heading">How do I Reset or Change My Password?</h3>
<p>If you would like to change your account password, you may do so at <a href="https://billing.blazingseollc.com/hosting/clientarea.php?action=changepw" target="_blank" rel="nofollow noopener">this link</a>.</p>
<hr />
<h3 class="heading">How do I Remove a Cancellation Request?</h3>
<p>If you have accidentally requested cancellation for your respective subscription you can remove it through your client area. Please follow the steps below on how to remove your cancellation request.</p>
<p>1. Login to your client area</p>
<p style="font-size: 16px; font-style: normal; font-weight: 400;"><img loading="lazy" decoding="async" class="aligncenter wp-image-8055" src="https://www.proxysp.com/wp-content/uploads/2021/09/remove-a-cancellation-request1.jpg" alt="remove a cancellation request1" width="464" height="279" srcset="https://proxysp.com/wp-content/uploads/2021/09/remove-a-cancellation-request1.jpg 512w, https://proxysp.com/wp-content/uploads/2021/09/remove-a-cancellation-request1-300x180.jpg 300w" sizes="(max-width: 464px) 100vw, 464px" /></p>
<p>&nbsp;</p>
<p>2. Then proceed to your activ<span style="font-size: 16px;">e service(s) that you request a cancellation for</span></p>
<p>&nbsp;</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8056" src="https://www.proxysp.com/wp-content/uploads/2021/09/remove-a-cancellation-request2.jpg" alt="remove a cancellation request2" width="478" height="164" srcset="https://proxysp.com/wp-content/uploads/2021/09/remove-a-cancellation-request2.jpg 478w, https://proxysp.com/wp-content/uploads/2021/09/remove-a-cancellation-request2-300x103.jpg 300w" sizes="(max-width: 478px) 100vw, 478px" /></p>
<p>3. From there you will select &#8220;Continue billing&#8221;</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-8057" src="https://www.proxysp.com/wp-content/uploads/2021/09/remove-a-cancellation-request3.jpg" alt="remove a cancellation request3" width="303" height="437" srcset="https://proxysp.com/wp-content/uploads/2021/09/remove-a-cancellation-request3.jpg 353w, https://proxysp.com/wp-content/uploads/2021/09/remove-a-cancellation-request3-208x300.jpg 208w" sizes="(max-width: 303px) 100vw, 303px" /></p>
<p>4. Next select &#8220;Ok&#8221; after this window shows</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-8058" src="https://www.proxysp.com/wp-content/uploads/2021/09/remove-a-cancellation-request4.jpg" alt="remove a cancellation request4" width="506" height="212" srcset="https://proxysp.com/wp-content/uploads/2021/09/remove-a-cancellation-request4.jpg 669w, https://proxysp.com/wp-content/uploads/2021/09/remove-a-cancellation-request4-300x126.jpg 300w" sizes="(max-width: 506px) 100vw, 506px" /></p>
<hr />
<h2 data-wpview-marker="https%3A%2F%2Fportal.blazingseollc.com%2Fen%2Fsupport%2Fsolutions%2Farticles%2F64000256665-what-do-i-do-after-i-complete-the-purchase-process-%3Cbr%3Ehttps%3A%2F%2Fportal.blazingseollc.com%2Fen%2Fsupport%2Fsolutions%2Farticles%2F64000256605-can-you-tell-me-how-to-login-to-my-dashboard-and-manage-my-account-%3Cbr%3Ehttps%3A%2F%2Fportal.blazingseollc.com%2Fen%2Fsupport%2Fsolutions%2Farticles%2F64000256664-how-do-i-reset-or-change-my-password-%3Cbr%3Ehttps%3A%2F%2Fportal.blazingseollc.com%2Fen%2Fsupport%2Fsolutions%2Farticles%2F64000256662-how-do-i-remove-a-cancellation-request-">BlazingSEO Refund & Cancel</h2>
<h3 class="heading">Does Blazing SEO Process Refunds?</h3>
<p>Blazing SEO does not guarantee refunds for lack of usage or dissatisfaction with the Services. The refund policies can also be referred to in their <a href="https://rayobyte.com/tos-and-aup/" target="_blank" rel="nofollow noopener">TOS and AUP</a>.</p>
<p><strong>Trial Refunds</strong></p>
<p><span dir="ltr">We offer a 2 day trial for our products so that you are able to test our proxies for your specific use-case prior to purchasing. If you find that the proxies do not work for you purpose, you can <a href="support@blazingseo.com" target="_blank" rel="nofollow noopener">contact</a> and request a refund.</span></p>
<p><span dir="ltr">Once you pass the two-day trial period you can continue to use them and they will automatically renew monthly until you cancel. If you believe you are entitled to a refund due to a special circumstance, you can submit a refund request but we do not guarantee refunds to any individual.</span></p>
<p><strong>3/6/12 month Refunds</strong></p>
<p>If you have purchased a 3/6/12 month service with us, then please contact our support for details on refunds.</p>
<hr />
<h3 class="heading">How Do I Cancel a Proxy Trial?</h3>
<p>If you would like to cancel your proxy trial service, and not renew, you will need to request a refund and your service will be cancelled at that time. We do offer two day trials and we encourage you to use those two days to fully test the proxies for your use case.  Refunds can be processed if you notify us within the first two days of sign up.  If you decide that particular type of proxy may not meet your needs but there is another type you'd like to purchase, our support team can work with you to determine the best type of proxy to recommend based on your use case.  If you have questions, please <a href="support@blazingseo.com" target="_blank" rel="nofollow noopener">email</a>.</p>
<hr />
<h3 class="heading">How Do I Cancel My Service?</h3>
<p>Video on how to cancel:</p>
<div class="su-youtube su-u-responsive-media-yes"><iframe loading="lazy" width="600" height="400" src="https://www.youtube.com/embed/PsScsw9_lnw?" frameborder="0" allowfullscreen allow="autoplay; encrypted-media; picture-in-picture" title=""></iframe></div>
<p>Text instructions:</p>
<p>1. Access your Client Area.</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-8059" src="https://www.proxysp.com/wp-content/uploads/2021/09/cancel-my-service1.jpg" alt="cancel my service1" width="394" height="237" srcset="https://proxysp.com/wp-content/uploads/2021/09/cancel-my-service1.jpg 505w, https://proxysp.com/wp-content/uploads/2021/09/cancel-my-service1-300x181.jpg 300w" sizes="(max-width: 394px) 100vw, 394px" /></p>
<p>2. You will then select the active service you want to cancel.</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-8060" src="https://www.proxysp.com/wp-content/uploads/2021/09/cancel-my-service2.jpg" alt="cancel my service2" width="597" height="376" srcset="https://proxysp.com/wp-content/uploads/2021/09/cancel-my-service2.jpg 794w, https://proxysp.com/wp-content/uploads/2021/09/cancel-my-service2-300x189.jpg 300w, https://proxysp.com/wp-content/uploads/2021/09/cancel-my-service2-768x484.jpg 768w" sizes="(max-width: 597px) 100vw, 597px" /></p>
<p>3. Select &#8216;Request Cancellation'.</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-8061" src="https://www.proxysp.com/wp-content/uploads/2021/09/cancel-my-service3.jpg" alt="cancel my service3" width="616" height="319" srcset="https://proxysp.com/wp-content/uploads/2021/09/cancel-my-service3.jpg 966w, https://proxysp.com/wp-content/uploads/2021/09/cancel-my-service3-300x155.jpg 300w, https://proxysp.com/wp-content/uploads/2021/09/cancel-my-service3-768x398.jpg 768w" sizes="(max-width: 616px) 100vw, 616px" /></p>
<p>4. Enter a reason for the cancellation, then click the final Cancellation button.</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-8062" src="https://www.proxysp.com/wp-content/uploads/2021/09/cancel-my-service4.jpg" alt="cancel my service4" width="662" height="341" srcset="https://proxysp.com/wp-content/uploads/2021/09/cancel-my-service4.jpg 971w, https://proxysp.com/wp-content/uploads/2021/09/cancel-my-service4-300x154.jpg 300w, https://proxysp.com/wp-content/uploads/2021/09/cancel-my-service4-768x395.jpg 768w" sizes="(max-width: 662px) 100vw, 662px" /></p>
<p>This cancellation request will ensure that your service is cancelled at the end of the 30 day period of the service, and that you will not be charged again for the service.</p>
<p><em>*Please double check and make sure all of your payment subscription are cancelled through PayPal. You may cancel your recurring subscription payment profile in your PayPal account by following this guide <a href="https://www.paypal.com/li/smarthelp/article/how-do-i-cancel-a-recurring-payment,-subscription,-or-automatic-billing-agreement-i-have-with-a-merchant-faq1067" target="_blank" rel="noopener">here.</a></em></p>
<p><em>Please make sure your subscription is properly cancelled in PayPal, in order to prevent PayPal from automatically sending payment on your behalf for renewal.</em></p>
<hr />
<div>
<h4 id="references" class="ftwp-heading">References,</h4>
</div>
<ul>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000256658-are-there-any-discount-codes-available" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000256658-are-there-any-discount-codes-available</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000256674-what-do-i-do-if-i-do-not-receive-a-verification-code" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000256674-what-do-i-do-if-i-do-not-receive-a-verification-code</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000256634-why-are-my-proxies-are-not-assigning" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000256634-why-are-my-proxies-are-not-assigning</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000256616-why-are-my-proxies-not-showing-in-my-dashboard-or-are-blank" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000256616-why-are-my-proxies-not-showing-in-my-dashboard-or-are-blank</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000256619-how-do-i-purchase-more-replacements-" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000256619-how-do-i-purchase-more-replacements-</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000256665-what-do-i-do-after-i-complete-the-purchase-process" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000256665-what-do-i-do-after-i-complete-the-purchase-process</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000256605-can-you-tell-me-how-to-login-to-my-dashboard-and-manage-my-account" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000256605-can-you-tell-me-how-to-login-to-my-dashboard-and-manage-my-account</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000256664-how-do-i-reset-or-change-my-password" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000256664-how-do-i-reset-or-change-my-password</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000256662-how-do-i-remove-a-cancellation-request-" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000256662-how-do-i-remove-a-cancellation-request-</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000256660-does-blazing-seo-process-refunds" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000256660-does-blazing-seo-process-refunds</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000256670-how-do-i-cancel-a-proxy-trial" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000256670-how-do-i-cancel-a-proxy-trial</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000256659-how-do-i-cancel-my-service-" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000256659-how-do-i-cancel-my-service-</a></li>
</ul>
<hr />
<blockquote><p><strong>Disclaimer</strong>: This part of the content is mainly from the merchant. If the merchant does not want it to be displayed on my website, please <a href="https://www.proxysp.com/contact-us/">contact us</a> to delete your content.</p></blockquote>
]]></content:encoded>
					
					<wfw:commentRss>https://proxysp.com/blazingseo-account-billing-issues/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7709</post-id>	</item>
		<item>
		<title>IPv6 Proxies (By BlazingSEO) : Learn Manuals Before You Buy</title>
		<link>https://proxysp.com/ipv6-proxies-blazingseo/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ipv6-proxies-blazingseo</link>
					<comments>https://proxysp.com/ipv6-proxies-blazingseo/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
				<category><![CDATA[BlazingSEO Proxies]]></category>
		<guid isPermaLink="false">https://www.proxysp.com/?p=7671</guid>

					<description><![CDATA[Can you believeBlazing SEO provides IPv6 Proxies? Through our article you will know if it's worth having their IPv6 Proxies. What Are IPv6 Proxies? IPv6 Proxies &#8230;<p class="read-more"> <a class="ast-button" href="https://proxysp.com/ipv6-proxies-blazingseo/"> <span class="screen-reader-text">IPv6 Proxies (By BlazingSEO) : Learn Manuals Before You Buy</span> Read More &#187;</a></p>]]></description>
										<content:encoded><![CDATA[<blockquote><p>Can you believeBlazing SEO provides IPv6 Proxies? Through our article you will know if it's worth having their IPv6 Proxies.</p></blockquote>
<h2 class="heading">What Are IPv6 Proxies?</h2>
<p>IPv6 Proxies are proxies that are similar to our <a href="https://www.proxysp.com/dedicated-proxies-blazingseo/" target="_blank" rel="noopener">Dedicated proxies</a> in the sense that they are only used by one single person. However, the Dedicated proxies are in IPv4 format, and the IPv6 are in a different format (explained below).</p>
<p>IPv4 has been the standard IP address used for most device's public IP addresses and proxies. All of our proxies are in IPv4 format. Example &#8211; 192.117.63.126 However, IPv4 addresses are actually running out entirely across the internet as more and more devices are introduced into the market and IPv6 will be the next step once the IPv4 runs out.</p>
<p>IPv6 looks VERY different from IPv4. You'll know its an IPv6 just by glancing. You can see that IPv6 is much longer and more complicated. As well as being separated by a colon &#8220;:&#8221;. However, IPv4 and IPv6 work in a very similar way when being used as a proxy.<br />
Example &#8211; 2001:0db8:85a3:0000:0000:8a2e:0370:7334</p>
<p>IPv6 support is available on many major sites, and because IPv6 is very new, many of the proxies can be cleaner than our IPv4, making it a better option.</p>
<h3><strong>Advantages:</strong></h3>
<ul>
<li>A private proxy is a proxy that is used only by you.</li>
<li>It hides your IP(or MAC) address while adding security and protecting your privacy.</li>
<li><a href="https://www.proxysp.com/private-proxies/" target="_blank" rel="noopener">Private proxies</a> deliver fully anonymous surfing on the internet. It is important to remember that you leave a digital footprint in the form of your IP address when using the web. This means that almost anyone can see you online, including hackers and spammers. A private proxy server can almost guarantee your IP address will be invisible.</li>
<li>Higher speed since no one else is working with the same proxy.</li>
<li>Ability to bypass filters and firewalls since a private proxy server can circumvent these types of blocked websites.</li>
<li>Ability to unblock numerous applications and bypass numerous internet restrictions (i.e. <a href="https://www.proxysp.com/youtube-proxies/" target="_blank" rel="noopener">unblock YouTube</a>, <a href="https://www.proxysp.com/best-facebook-proxy/" target="_blank" rel="noopener">Facebook</a>, <a href="https://www.proxysp.com/best-facebook-proxy/" target="_blank" rel="noopener">Twitter</a> at work or school where the “IT administrator” has restricted your access to these and similar sites).</li>
<li>Cleaner than IPv4</li>
<li>Protect privacy for minimal worry about your personal information being exposed or compromised when you make purchases or surf on the web.</li>
<li>Deliver a higher level of security on internet since a private proxy provides a unique internet address dedicated to only you.</li>
<li>Avoid and block spam successfully.</li>
<li>Get around geographic restrictions (Restricted content based on country).</li>
</ul>
<p>These proxies are best used for account use because the proxy never changes (Unless you would like the proxies to change).</p>
<p>IPv6 is best because only one person is using it. This means faster speeds, and better reliability site wise for the proxy. To compare, if the proxy was<a href="https://www.proxysp.com/shared-proxy/" target="_blank" rel="noopener"> shared</a> (Semi-Dedicated/Rotating), the other person using the proxy might've already created an account for a certain site. As result, the other users on the proxy will not be able to use that same proxy on the same site and create another account.</p>
<h3><strong>Typical Uses of IPv6 Proxies:</strong></h3>
<ul>
<li>Social Media</li>
<li>Games</li>
<li>Account Creation/Use</li>
<li>General Browsing</li>
<li>SEO</li>
</ul>
<h3><strong>Locations:</strong></h3>
<ul>
<li>USA</li>
</ul>
<div class="icon">
<div class="icon">
<hr />
<h2 class="heading">How Does Your Authorization Scheme Work for IPv6 Proxies?</h2>
<p>In short, you are provided with IPv6 addresses upon purchase. Each of the IPv6 addresses will have its own unique username: password combination for authorization. Note: the password will be the same for all IPs, only the username is unique.</p>
<p>Your connections are then tunneled through a static IPv4 IP address used in your browser configuration. For more information, check out the graphic below:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-7876" src="https://www.proxysp.com/wp-content/uploads/2021/09/IPv6-proxies-authorization-receive.jpg" alt="IPv6 proxies authorization-receive" width="597" height="387" srcset="https://proxysp.com/wp-content/uploads/2021/09/IPv6-proxies-authorization-receive.jpg 597w, https://proxysp.com/wp-content/uploads/2021/09/IPv6-proxies-authorization-receive-300x194.jpg 300w" sizes="(max-width: 597px) 100vw, 597px" /></p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-7877" src="https://www.proxysp.com/wp-content/uploads/2021/09/IPv6-proxies-authorization-setting.jpg" alt="IPv6 proxies authorization-setting" width="585" height="522" srcset="https://proxysp.com/wp-content/uploads/2021/09/IPv6-proxies-authorization-setting.jpg 585w, https://proxysp.com/wp-content/uploads/2021/09/IPv6-proxies-authorization-setting-300x268.jpg 300w" sizes="(max-width: 585px) 100vw, 585px" /></p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-7878" src="https://www.proxysp.com/wp-content/uploads/2021/09/IPv6-proxies-authorization-input.jpg" alt="IPv6 proxies authorization-input" width="489" height="529" srcset="https://proxysp.com/wp-content/uploads/2021/09/IPv6-proxies-authorization-input.jpg 489w, https://proxysp.com/wp-content/uploads/2021/09/IPv6-proxies-authorization-input-277x300.jpg 277w" sizes="(max-width: 489px) 100vw, 489px" /></p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-7879" src="https://www.proxysp.com/wp-content/uploads/2021/09/IPv6-proxies-authorization-enter.jpg" alt="IPv6 proxies authorization-enter" width="581" height="243" srcset="https://proxysp.com/wp-content/uploads/2021/09/IPv6-proxies-authorization-enter.jpg 581w, https://proxysp.com/wp-content/uploads/2021/09/IPv6-proxies-authorization-enter-300x125.jpg 300w" sizes="(max-width: 581px) 100vw, 581px" /></p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-7880" src="https://www.proxysp.com/wp-content/uploads/2021/09/IPv6-proxies-authorization-verify.jpg" alt="IPv6 proxies authorization-verify" width="589" height="105" srcset="https://proxysp.com/wp-content/uploads/2021/09/IPv6-proxies-authorization-verify.jpg 589w, https://proxysp.com/wp-content/uploads/2021/09/IPv6-proxies-authorization-verify-300x53.jpg 300w" sizes="(max-width: 589px) 100vw, 589px" /></p>
<hr />
<h2 class="heading">What Additional Information Can Blazing SEO Provide about Their IPv6 Proxy Offering?</h2>
<p dir="ltr"><span dir="ltr">With an IPv6 proxy, you can easily manage social media, scrape the web for valuable data, and more!</span></p>
<h3 dir="ltr">Quality Virgin IPv6 Proxy</h3>
<p dir="ltr">Our high quality IPs are clean and ready to use. Vetted by new clients, each IP is linked to our ASN (a full /32). Each /64 subnet you purchase includes a single static IP. With sizes ranging from 4.2 billion /64 subnets, 16.6 million /56 subnets, and 65,000 /48 subnets, you’ll be fully equipped to tackle the digital world. Plus, we’re growing, and soon we’ll be diversifying our pool with 12.6 billion /64 addresses and 3 different /32 subnets.</p>
<h3 dir="ltr">Unbeatable Price</h3>
<p dir="ltr"><span dir="ltr">With 4 billion /64 level IPv6 proxies, finding what you need is easier than ever. IPv4 pricing has nothing on the cost-effective IPv6 proxy, rated at $0.20/ip/month. A full wallet and massive stock of IP addresses? Sweet victory.   </span></p>
<h3 dir="ltr">Diverse Use Cases</h3>
<p dir="ltr">Switch from project to project with ease thanks to our various use-cases. Need proxies on the /64 level? We have you covered. From search engines to social media, IPv6 proxies will establish you as a digital trailblazer. As a bonus, we offer username: password authentication. Upon purchase, you’ll receive a unique username and password combination for each IP in your account.</p>
<h3 dir="ltr">Dedicated IPv6 Through And Through</h3>
<p dir="ltr"><span dir="ltr">Downtime is wasted time. With an uptime rate of 99%, our IPv6 proxies run with efficiency and effectiveness. In addition, our IPv6 proxies offer total control over performance, speeds, and how a subnet is perceived by a website. Double selling subnets? Not on our watch. </span></p>
</div>
</div>
<div>
<p><strong><div class="su-heading su-heading-style-modern-2-orange su-heading-align-center" id="" style="font-size:30px;margin-bottom:20px"><div class="su-heading-inner">FAQs</div></div></strong></p>
<ul>
<li class="heading"><strong>What sites will IPv6 IPs work for?</strong></li>
</ul>
<p>To help answer this question, here is a<a href="https://ipv6-test.com/validate.php" target="_blank" rel="nofollow noopener"> link</a> that helps check if a site is IPv6 compatible. All you need to do is enter the website URL and the site will tell you whether or not that URL has an IPv6 server able to receive traffic. In addition to this site, there is also a<a href="https://www.6connect.com/ipv6/ipv6-progress-report-top-sites-2019/" target="_blank" rel="nofollow noopener"> list of top sites</a> that are IPv6 compatible.</p>
<hr />
<ul>
<li class="heading"><strong>How many locations does Blazing SEO offer for IPv6 proxies?</strong></li>
</ul>
<p>As of right now, only Los Angeles, but as their subnet network grows, so too will their list of locations!</p>
<hr />
<ul>
<li class="heading"><strong>What are Blazing SEO IPv6 proxy's bandwidth limits?</strong></li>
</ul>
<p>Like Blazing SEO IPv4 offering, They offer unlimited bandwidth on their IPv6 proxies. This is subject to abnormal usage (e.g. &#8211; 1000 TB per month).</p>
<hr />
<ul>
<li class="heading"><strong>Does Blazing SEO have rotating IPv6 proxies?</strong></li>
</ul>
<p>Currently, Blazing SEO does not have a rotating system in place for their IPv6 proxies. Instead of a rotating system, they are able to offer thousands of IPs at a low cost. It’s for this reason that you’re able to buy more dedicated IPv6 proxies at a cheaper rate than rotating IPv4 IPs.</p>
<hr />
<ul>
<li class="heading"><strong>Do Blazing SEO offer replacements on IPv6 proxies?</strong></li>
</ul>
<p>Replacements are available upon request. There are some restrictions, so please reach out to Blazing SEO support team at <span dir="ltr">support@blazingseo.com</span><span dir="ltr"> with any questions regarding replacements. </span></p>
<hr />
<ul>
<li class="heading"><strong>Where can I find additional information about IPv6 proxies?</strong></li>
</ul>
<p>If you’re asking the question, “do I need IPv6 for proxies?” There is an abundance of information available on the subject. Do a little digging on your own or check out websites like<a href="https://www.ripe.net/about-us/press-centre/understanding-ip-addressing" target="_blank" rel="nofollow noopener"> RIPE</a>, which provide handy charts about IP addressing. Between the internet, our expert knowledge, and support staff that’s available 24/7, your questions will be answered.</p>
<hr />
<h4 id="references" class="ftwp-heading">References,</h4>
</div>
<ul>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000256608-what-are-ipv6-proxies" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000256608-what-are-ipv6-proxies</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000262778-what-sites-will-ipv6-ips-work-for-" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000262778-what-sites-will-ipv6-ips-work-for-</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000262779-how-many-locations-do-you-offer-for-ipv6-proxies-" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000262779-how-many-locations-do-you-offer-for-ipv6-proxies-</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000262776-how-does-your-authorization-scheme-work-for-ipv6-proxies-" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000262776-how-does-your-authorization-scheme-work-for-ipv6-proxies-</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000262777-what-are-your-bandwidth-limits-" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000262777-what-are-your-bandwidth-limits-</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000262780-do-you-have-rotating-ipv6-proxies-" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000262780-do-you-have-rotating-ipv6-proxies-</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000262781-do-you-offer-replacements-on-ipv6-proxies-" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000262781-do-you-offer-replacements-on-ipv6-proxies-</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000262782-where-can-i-find-additional-information-about-ipv6-proxies" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000262782-where-can-i-find-additional-information-about-ipv6-proxies</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000262787-what-additional-information-can-you-provide-about-blazing-seo-s-ipv6-proxy-offering-" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000262787-what-additional-information-can-you-provide-about-blazing-seo-s-ipv6-proxy-offering-</a></li>
</ul>
<hr />
<blockquote><p><strong>Disclaimer</strong>: This part of the content is mainly from the merchant. If the merchant does not want it to be displayed on my website, please <a href="https://www.proxysp.com/contact-us/">contact us</a> to delete your content.</p></blockquote>
]]></content:encoded>
					
					<wfw:commentRss>https://proxysp.com/ipv6-proxies-blazingseo/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7671</post-id>	</item>
		<item>
		<title>How to Use BlazingSEO Proxies? Learn Official Manuals Before You Buy</title>
		<link>https://proxysp.com/how-to-use-blazingseo-proxies/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=how-to-use-blazingseo-proxies</link>
					<comments>https://proxysp.com/how-to-use-blazingseo-proxies/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
				<category><![CDATA[BlazingSEO Proxies]]></category>
		<guid isPermaLink="false">https://www.proxysp.com/?p=7670</guid>

					<description><![CDATA[This is the using manuals of BlazingSEO Proxies that you must not miss！Includind how to use their dashboard, test the proxy on the browser, and so &#8230;<p class="read-more"> <a class="ast-button" href="https://proxysp.com/how-to-use-blazingseo-proxies/"> <span class="screen-reader-text">How to Use BlazingSEO Proxies? Learn Official Manuals Before You Buy</span> Read More &#187;</a></p>]]></description>
										<content:encoded><![CDATA[<blockquote><p>This is the using manuals of BlazingSEO Proxies that you must not miss！Includind how to use their dashboard, test the proxy on the browser, and so on&#8230;</p></blockquote>
<p>&nbsp;</p>
<h2>How to Use BlazingSEO Proxies</h2>
<h3 class="heading">How do I Use Proxies?</h3>
<p>You may use proxies on a web browser or through a software that supports proxy usage.</p>
<p><strong>How to Use Proxy on Firefox:</strong></p>
<div class="su-youtube su-u-responsive-media-yes"><iframe loading="lazy" width="600" height="400" src="https://www.youtube.com/embed/bTipqNk11SQ?" frameborder="0" allowfullscreen allow="autoplay; encrypted-media; picture-in-picture" title=""></iframe></div>
<p><strong>How to Use Proxy on Chrome: </strong></p>
<div class="su-youtube su-u-responsive-media-yes"><iframe loading="lazy" width="600" height="400" src="https://www.youtube.com/embed/0mzVhOCOHZ8?" frameborder="0" allowfullscreen allow="autoplay; encrypted-media; picture-in-picture" title=""></iframe></div>
<h3 class="heading">How do I Authorize My Proxies?</h3>
<p>It is important to understand that authorization for the proxies is required to prevent non-authorized users from being able to use the proxies. It keeps the proxies secure to you. That is why the proxies will not work if you do not authorize correctly.</p>
<p>There are a few different types of authorization options we provide depending on your use case. Please find the authorization type you need below for instructions.</p>
<p><strong>IP Authorization: </strong></p>
<ul>
<li>IP Authorization uses the port <strong>3128</strong> with the proxies.</li>
</ul>
<p>1. Login to Proxy Dashboard</p>
<p>2. To find your PC/Device's IP, open a web browser</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8008" src="https://www.proxysp.com/wp-content/uploads/2021/09/Blazing-SEO-IP-Authorization-1.jpg" alt="Blazing SEO IP Authorization" width="384" height="414" srcset="https://proxysp.com/wp-content/uploads/2021/09/Blazing-SEO-IP-Authorization-1.jpg 384w, https://proxysp.com/wp-content/uploads/2021/09/Blazing-SEO-IP-Authorization-1-278x300.jpg 278w" sizes="(max-width: 384px) 100vw, 384px" /></p>
<p>3. Go to Proxy Dashboard, and select &#8216;Via IP', &#8216;HTTP', then enter your IP into the blank box in the screenshot on &#8216;2.'. Then click &#8216;Add IP'.</p>
<p>4. <strong>The proxies will not work for 30 minutes until your IP is fully authorized in the system.</strong> The IP will be added to the system after 30 minutes, and then you will be able to use the proxies.</p>
<p>5. Complete! You may then use the proxies as needed.</p>
<ul>
<li>Video on how to use proxies in browser:</li>
</ul>
<div class="su-youtube su-u-responsive-media-yes"><iframe loading="lazy" width="600" height="400" src="https://www.youtube.com/embed/XO-Qj_jgdKM?" frameborder="0" allowfullscreen allow="autoplay; encrypted-media; picture-in-picture" title=""></iframe></div>
<hr />
<p><strong>Username/Password Authorization: </strong></p>
<ul>
<li>Username/Password Authorization uses the port <strong>4444</strong> with the proxies.</li>
</ul>
<p>1. Login to Proxy Dashboard</p>
<p>2. Go to Proxy Dashboard, and select &#8216;Username/Password'</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8009" src="https://www.proxysp.com/wp-content/uploads/2021/09/Blazing-SEO-Username-Password-Authorization.jpg" alt="Blazing SEO Username Password Authorization" width="417" height="413" srcset="https://proxysp.com/wp-content/uploads/2021/09/Blazing-SEO-Username-Password-Authorization.jpg 417w, https://proxysp.com/wp-content/uploads/2021/09/Blazing-SEO-Username-Password-Authorization-300x297.jpg 300w, https://proxysp.com/wp-content/uploads/2021/09/Blazing-SEO-Username-Password-Authorization-150x150.jpg 150w" sizes="(max-width: 417px) 100vw, 417px" /></p>
<p>3. <strong>The proxies will not work for 30 minutes until the system changes the </strong><strong>authorization</strong><strong> type</strong>. The authorization type will be adjusted in the system after 30 minutes, and then you will be able to use the proxies.</p>
<p>4. Complete! You may then use the proxies as needed.</p>
<ul>
<li>Video on how to use proxies in browser:</li>
</ul>
<div class="su-youtube su-u-responsive-media-yes"><iframe loading="lazy" width="600" height="400" src="https://www.youtube.com/embed/0mzVhOCOHZ8?" frameborder="0" allowfullscreen allow="autoplay; encrypted-media; picture-in-picture" title=""></iframe></div>
<hr />
<p><strong>SOCKS Authorization:</strong></p>
<ul>
<li>SOCKS<em> Authorization uses the port <strong>1080</strong> with the proxies.</em><em> </em></li>
</ul>
<p>1. Login to Proxy Dashboard</p>
<p>2. To find your PC/Device's IP, open a web browser</p>
<p>3. Go to Proxy Dashboard, and select &#8216;Via IP', SOCKS', then enter your IP into the blank box in the screenshot on &#8216;3.'. Then click &#8216;Add IP':</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8010" src="https://www.proxysp.com/wp-content/uploads/2021/09/Blazing-SEO-SOCKS-Authorization.jpg" alt="Blazing SEO SOCKS Authorization" width="382" height="452" srcset="https://proxysp.com/wp-content/uploads/2021/09/Blazing-SEO-SOCKS-Authorization.jpg 382w, https://proxysp.com/wp-content/uploads/2021/09/Blazing-SEO-SOCKS-Authorization-254x300.jpg 254w" sizes="(max-width: 382px) 100vw, 382px" /></p>
<article id="article-body" class="article-body">4. <strong>The proxies will not work for 30 minutes until your IP is fully authorized in the system</strong>. The IP will be added to the system after 30 minutes, and then you will be able to use the proxies.5. Complete! You may then use the proxies as needed.</p>
<ul>
<li>Video on how to use proxies in browser:</li>
</ul>
<div class="su-youtube su-u-responsive-media-yes"><iframe loading="lazy" width="600" height="400" src="https://www.youtube.com/embed/3V33wirMxik?" frameborder="0" allowfullscreen allow="autoplay; encrypted-media; picture-in-picture" title=""></iframe></div>
<span dir="ltr"><em><strong>Note:</strong> At times, port (3128/4444) may be blocked by an ISP or by local security settings. In such cases use port 80 for IP authorization and port 8000 for username/password authorization.</em><br />
</span></p>
<hr />
</article>
<h3 class="heading">How do I Use and Test My Proxies in a Browser?</h3>
<blockquote><p>Before testing proxies in a browser, you'll want to make sure they are authorized in your dashboard. You may either use IP authorization method or username/password authorization method for this purpose.</p></blockquote>
<h4><strong>Testing with a Chrome</strong> Browser</h4>
<p>1. Open Chrome, and click on the ellipsis (3 dots) in the upper right corner of your browser and choose &#8216;Settings'</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-8011 size-full" src="https://www.proxysp.com/wp-content/uploads/2021/09/Testing-with-a-Chrome-Browser1.jpg" alt="Testing with a Chrome Browser1" width="215" height="373" srcset="https://proxysp.com/wp-content/uploads/2021/09/Testing-with-a-Chrome-Browser1.jpg 215w, https://proxysp.com/wp-content/uploads/2021/09/Testing-with-a-Chrome-Browser1-173x300.jpg 173w" sizes="(max-width: 215px) 100vw, 215px" /></p>
<p>2. Scroll to bottom of Settings page, and select &#8216;Advanced'<br />
<img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8012" src="https://www.proxysp.com/wp-content/uploads/2021/09/Testing-with-a-Chrome-Browser2.jpg" alt="Testing with a Chrome Browser2" width="446" height="548" srcset="https://proxysp.com/wp-content/uploads/2021/09/Testing-with-a-Chrome-Browser2.jpg 446w, https://proxysp.com/wp-content/uploads/2021/09/Testing-with-a-Chrome-Browser2-244x300.jpg 244w" sizes="(max-width: 446px) 100vw, 446px" /></p>
<p>3. Scroll to bottom of Advanced section, and select &#8216;Open your computer's proxy settings'</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8013" src="https://www.proxysp.com/wp-content/uploads/2021/09/Testing-with-a-Chrome-Browser3.jpg" alt="Testing with a Chrome Browser3" width="620" height="171" srcset="https://proxysp.com/wp-content/uploads/2021/09/Testing-with-a-Chrome-Browser3.jpg 620w, https://proxysp.com/wp-content/uploads/2021/09/Testing-with-a-Chrome-Browser3-300x83.jpg 300w" sizes="(max-width: 620px) 100vw, 620px" /></p>
<p>4. Select the &#8216;Use a proxy server' option, then fill in your IP address and Port as shown</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8014" src="https://www.proxysp.com/wp-content/uploads/2021/09/Testing-with-a-Chrome-Browser4.jpg" alt="Testing with a Chrome Browser4" width="458" height="455" srcset="https://proxysp.com/wp-content/uploads/2021/09/Testing-with-a-Chrome-Browser4.jpg 458w, https://proxysp.com/wp-content/uploads/2021/09/Testing-with-a-Chrome-Browser4-300x298.jpg 300w, https://proxysp.com/wp-content/uploads/2021/09/Testing-with-a-Chrome-Browser4-150x150.jpg 150w" sizes="(max-width: 458px) 100vw, 458px" /></p>
<p>5. To confirm that your proxy is loaded into the browser, go to google and type &#8216;my ip'. Your browser should now show the proxy IP address instead of your regular one &#8211; nice work!</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8015" src="https://www.proxysp.com/wp-content/uploads/2021/09/Testing-with-a-Chrome-Browser5.jpg" alt="Testing with a Chrome Browser5" width="636" height="281" srcset="https://proxysp.com/wp-content/uploads/2021/09/Testing-with-a-Chrome-Browser5.jpg 636w, https://proxysp.com/wp-content/uploads/2021/09/Testing-with-a-Chrome-Browser5-300x133.jpg 300w" sizes="(max-width: 636px) 100vw, 636px" /></p>
<p>6. If your proxy IP shows up in google, you can then try loading any website just as you normally would when browsing from your computer. Voila!</p>
<ul>
<li>To remove proxy, just reverse the steps above.</li>
</ul>
<hr />
<h4>Testing with a Firefox Browser</h4>
<p>1. Open Firefox, and click on the hamburger icon (aka 3-bar menu) in the upper right corner and select &#8216;Options'</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8016" src="https://www.proxysp.com/wp-content/uploads/2021/09/Testing-with-a-Firefox-Browser1.jpg" alt="Testing with a Firefox Browser1" width="289" height="521" srcset="https://proxysp.com/wp-content/uploads/2021/09/Testing-with-a-Firefox-Browser1.jpg 289w, https://proxysp.com/wp-content/uploads/2021/09/Testing-with-a-Firefox-Browser1-166x300.jpg 166w" sizes="(max-width: 289px) 100vw, 289px" /></p>
<p>2. Scroll to bottom of Options page, and select &#8216;Settings'</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8017" src="https://www.proxysp.com/wp-content/uploads/2021/09/Testing-with-a-Firefox-Browser2.jpg" alt="Testing with a Firefox Browser2" width="622" height="120" srcset="https://proxysp.com/wp-content/uploads/2021/09/Testing-with-a-Firefox-Browser2.jpg 622w, https://proxysp.com/wp-content/uploads/2021/09/Testing-with-a-Firefox-Browser2-300x58.jpg 300w" sizes="(max-width: 622px) 100vw, 622px" /></p>
<p>3. Select the &#8216;Manual proxy configuration bubble' and set the values in the HTTP field &#8211; be sure to check the box as shown so it applies to FTP and HTTPS as well!</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8018" src="https://www.proxysp.com/wp-content/uploads/2021/09/Testing-with-a-Firefox-Browser3.jpg" alt="Testing with a Firefox Browser3" width="622" height="414" srcset="https://proxysp.com/wp-content/uploads/2021/09/Testing-with-a-Firefox-Browser3.jpg 622w, https://proxysp.com/wp-content/uploads/2021/09/Testing-with-a-Firefox-Browser3-300x200.jpg 300w" sizes="(max-width: 622px) 100vw, 622px" /></p>
<p>4. To confirm that your proxy is loaded into the browser, go to google and type &#8216;my ip'. Your browser should now show the proxy IP address instead of your regular one &#8211; nice work!</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8019" src="https://www.proxysp.com/wp-content/uploads/2021/09/Testing-with-a-Firefox-Browser4.jpg" alt="Testing with a Firefox Browser4" width="632" height="280" srcset="https://proxysp.com/wp-content/uploads/2021/09/Testing-with-a-Firefox-Browser4.jpg 632w, https://proxysp.com/wp-content/uploads/2021/09/Testing-with-a-Firefox-Browser4-300x133.jpg 300w" sizes="(max-width: 632px) 100vw, 632px" /></p>
<p>5. If your proxy IP shows up in google, you can then try loading any website just as you normally would when browsing from your computer. Voila!</p>
<ul>
<li>To remove proxy, simply reverse the steps above.</li>
</ul>
<hr />
<h3 class="heading">How can I Get a Diverse Subnet for My Proxies?</h3>
<p>Our system is automatically set to provide you with a diverse subnet for your proxy’s IP. If you still find the proxy IPs to be lacking in diversity, you may proceed to replace the proxy’s IP via your proxy DASHBOARD accordingly. Kindly login to your proxy dashboard and browse to the “Proxy Replacements” tab and replace the IP that you find unsuitable. You can also follow this video guide HERE on how to replace your proxies.</p>
<p>DISCLAIMER: Each replacement will use a single proxy replacement credit. If you purchased 10 proxies, you are entitled to 10 proxy replacements per billing cycle. The replacement credit will be replenished on the next billing cycle. Kindly use the replacements cautiously, as we are unable to replenish the credit manually.</p>
<hr />
<h3 class="heading">How do I Test Proxies?</h3>
<p>To test the proxies, you may simply follow this video guide:</p>
<div class="su-youtube su-u-responsive-media-yes"><iframe loading="lazy" width="600" height="400" src="https://www.youtube.com/embed/tPKxrtBP5lU?" frameborder="0" allowfullscreen allow="autoplay; encrypted-media; picture-in-picture" title=""></iframe></div>
<hr />
<h2>How to Use Proxy Dashboard</h2>
<h3 class="heading">How do I Replace Proxies?</h3>
<p>At Blazing SEO, we know that sometimes, you need new proxies. Therefore we offer free replacements to all of our customers for all of our proxies. We offer one free proxy replacement per month, per proxy in your package. For example, if you have 20 proxies, you are entitled to 20 free replacements each month. Your replacement balance is replenished 30 days from the date of replacement respectively.</p>
<p><strong>If you need to replace your proxies, please follow the steps below:</strong></p>
<p>1. Log in to the Blazing SEO proxy dashboard.</p>
<p>2. On the dashboard home screen, select &#8220;IPv4 Proxies&#8221; to drop down the menu. Then select the &#8220;Proxy Replacements&#8221; option.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8020" src="https://www.proxysp.com/wp-content/uploads/2021/09/replace-proxies1.jpg" alt="replace proxies1" width="485" height="529" srcset="https://proxysp.com/wp-content/uploads/2021/09/replace-proxies1.jpg 485w, https://proxysp.com/wp-content/uploads/2021/09/replace-proxies1-275x300.jpg 275w" sizes="(max-width: 485px) 100vw, 485px" /></p>
<p>3. Once you are on the proxy replacements page, you have two options to replace your proxies:</p>
<ul>
<li><strong>Option 1 (Individual):</strong> You can select individual proxies from your list. Simply select the &#8220;Replace&#8221; button to replace that proxy with a new proxy.</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8021" src="https://www.proxysp.com/wp-content/uploads/2021/09/replace-proxies2.jpg" alt="replace proxies2" width="571" height="96" srcset="https://proxysp.com/wp-content/uploads/2021/09/replace-proxies2.jpg 571w, https://proxysp.com/wp-content/uploads/2021/09/replace-proxies2-300x50.jpg 300w" sizes="(max-width: 571px) 100vw, 571px" /></p>
<ul>
<li><strong>Option 2 (Multiple):</strong> You can manually enter the IPs you want to replace in the box shown below. This allows you to replace multiple proxies at the same time. Input the IPs you want to replace and then press &#8220;Submit&#8221;.</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8022" src="https://www.proxysp.com/wp-content/uploads/2021/09/replace-proxies3.jpg" alt="replace proxies3" width="570" height="273" srcset="https://proxysp.com/wp-content/uploads/2021/09/replace-proxies3.jpg 570w, https://proxysp.com/wp-content/uploads/2021/09/replace-proxies3-300x144.jpg 300w" sizes="(max-width: 570px) 100vw, 570px" /></p>
<p>4. Once you have processed the request, our system will provide you with a new IP in your dashboard. Please note that this replacement process can take up to 10 minutes before the new proxy is delivered.</p>
<hr />
<h3 class="heading">How do I Cancel Proxies?</h3>
<p>Before cancelling your proxies, please refer to this article for information on <a href="https://www.proxysp.com/blazingseo-proxies-troubleshooting/" target="_blank" rel="noopener">troubleshooting proxies</a>. We are happy to work with you on any issues you are facing with your proxies whether it is issued with functionality or perhaps financial costs.</p>
<p>If you are certain you would like to cancel your proxies, there are two methods available for you to do so. Please see the methods listed below:</p>
<hr />
<p><strong>Cancelling Through The Proxy Dashboard:</strong></p>
<p>1. Login to your proxy dashboard.</p>
<p>2. Select &#8220;Upgrade Your Plan&#8221; under &#8220;Manage Plan&#8221;:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8024" src="https://www.proxysp.com/wp-content/uploads/2021/09/Cancelling-Through-The-Proxy-Dashboard1.jpg" alt="Cancelling Through The Proxy Dashboard1" width="625" height="419" srcset="https://proxysp.com/wp-content/uploads/2021/09/Cancelling-Through-The-Proxy-Dashboard1.jpg 625w, https://proxysp.com/wp-content/uploads/2021/09/Cancelling-Through-The-Proxy-Dashboard1-300x201.jpg 300w" sizes="(max-width: 625px) 100vw, 625px" /></p>
<p>3. Click on the red Cancel button:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8025" src="https://www.proxysp.com/wp-content/uploads/2021/09/Cancelling-Through-The-Proxy-Dashboard2.jpg" alt="Cancelling Through The Proxy Dashboard2" width="577" height="158" srcset="https://proxysp.com/wp-content/uploads/2021/09/Cancelling-Through-The-Proxy-Dashboard2.jpg 577w, https://proxysp.com/wp-content/uploads/2021/09/Cancelling-Through-The-Proxy-Dashboard2-300x82.jpg 300w" sizes="(max-width: 577px) 100vw, 577px" /></p>
<p>4. A warning will pop up. You will then enter your cancellation reason, then click &#8216;Yes, please cancel my proxies':</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8026" src="https://www.proxysp.com/wp-content/uploads/2021/09/Cancelling-Through-The-Proxy-Dashboard3.jpg" alt="Cancelling Through The Proxy Dashboard3" width="414" height="461" srcset="https://proxysp.com/wp-content/uploads/2021/09/Cancelling-Through-The-Proxy-Dashboard3.jpg 414w, https://proxysp.com/wp-content/uploads/2021/09/Cancelling-Through-The-Proxy-Dashboard3-269x300.jpg 269w" sizes="(max-width: 414px) 100vw, 414px" /></p>
<hr />
<p><strong>Cancelling Through The Client Area:</strong></p>
<p>1. The client area can be accessed through the link <a href="https://billing.blazingseollc.com/hosting/clientarea.php" target="_blank" rel="nofollow noopener">here</a>.</p>
<p>2. You will then click &#8216;Services':</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8027" src="https://www.proxysp.com/wp-content/uploads/2021/09/Cancelling-Through-The-Client-Area1.jpg" alt="Cancelling Through The Client Area1" width="589" height="339" srcset="https://proxysp.com/wp-content/uploads/2021/09/Cancelling-Through-The-Client-Area1.jpg 589w, https://proxysp.com/wp-content/uploads/2021/09/Cancelling-Through-The-Client-Area1-300x173.jpg 300w" sizes="(max-width: 589px) 100vw, 589px" /></p>
<p>3. You will then find the active service you are looking to cancel:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8028" src="https://www.proxysp.com/wp-content/uploads/2021/09/Cancelling-Through-The-Client-Area3.jpg" alt="V" width="623" height="420" srcset="https://proxysp.com/wp-content/uploads/2021/09/Cancelling-Through-The-Client-Area3.jpg 623w, https://proxysp.com/wp-content/uploads/2021/09/Cancelling-Through-The-Client-Area3-300x202.jpg 300w" sizes="(max-width: 623px) 100vw, 623px" /></p>
<p>4. You can then click &#8216;Request Cancellation' here:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8029" src="https://www.proxysp.com/wp-content/uploads/2021/09/Cancelling-Through-The-Client-Area3-1.jpg" alt="Cancelling Through The Client Area3" width="623" height="420" srcset="https://proxysp.com/wp-content/uploads/2021/09/Cancelling-Through-The-Client-Area3-1.jpg 623w, https://proxysp.com/wp-content/uploads/2021/09/Cancelling-Through-The-Client-Area3-1-300x202.jpg 300w" sizes="(max-width: 623px) 100vw, 623px" /></p>
<p>5. On the next page, you will enter your cancellation reason, then click &#8216;Request Cancellation':</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8030" src="https://www.proxysp.com/wp-content/uploads/2021/09/Cancelling-Through-The-Client-Area4.jpg" alt="Cancelling Through The Client Area4" width="628" height="337" srcset="https://proxysp.com/wp-content/uploads/2021/09/Cancelling-Through-The-Client-Area4.jpg 628w, https://proxysp.com/wp-content/uploads/2021/09/Cancelling-Through-The-Client-Area4-300x161.jpg 300w" sizes="(max-width: 628px) 100vw, 628px" /></p>
<hr />
<h3 class="heading">How do I Upgrade My Proxies?</h3>
<p>If you would like to upgrade your proxies, please follow the steps below:</p>
<p>1. Login to your Proxy dashboard</p>
<p>2. Select &#8220;Upgrade Your Plan&#8221; under &#8220;Manage Plan&#8221;:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8031" src="https://www.proxysp.com/wp-content/uploads/2021/09/upgrade-Blazing-SEO-proxies1.jpg" alt="upgrade Blazing SEO proxies1" width="621" height="435" srcset="https://proxysp.com/wp-content/uploads/2021/09/upgrade-Blazing-SEO-proxies1.jpg 621w, https://proxysp.com/wp-content/uploads/2021/09/upgrade-Blazing-SEO-proxies1-300x210.jpg 300w" sizes="(max-width: 621px) 100vw, 621px" /></p>
<p>3. If you wish to upgrade to a 15 proxies package, from 10, please enter the &#8220;New Amount&#8221; as 15 for the package that you want to upgrade, click on the upgrade button to proceed:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8032" src="https://www.proxysp.com/wp-content/uploads/2021/09/upgrade-Blazing-SEO-proxies2.jpg" alt="upgrade Blazing SEO proxies2" width="447" height="135" srcset="https://proxysp.com/wp-content/uploads/2021/09/upgrade-Blazing-SEO-proxies2.jpg 447w, https://proxysp.com/wp-content/uploads/2021/09/upgrade-Blazing-SEO-proxies2-300x91.jpg 300w" sizes="(max-width: 447px) 100vw, 447px" /></p>
<p>4. An upgrade invoice will be generated. You would need to pay the invoice to activate the upgraded proxies:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8033" src="https://www.proxysp.com/wp-content/uploads/2021/09/upgrade-Blazing-SEO-proxies3.jpg" alt="upgrade Blazing SEO proxies3" width="349" height="431" srcset="https://proxysp.com/wp-content/uploads/2021/09/upgrade-Blazing-SEO-proxies3.jpg 349w, https://proxysp.com/wp-content/uploads/2021/09/upgrade-Blazing-SEO-proxies3-243x300.jpg 243w" sizes="(max-width: 349px) 100vw, 349px" /></p>
<p>5. Once the invoice is paid, the proxies will automatically be added to your account and you will be able to select locations!</p>
<hr />
<h3 class="heading">How do I Downgrade My Proxies?</h3>
<p>If you would like to downgrade your proxies, please follow the steps below:</p>
<p>1. Login to your Proxy dashboard</p>
<p>2. Select &#8220;Upgrade Your Plan&#8221; under &#8220;Manage Plan&#8221;</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8034" src="https://www.proxysp.com/wp-content/uploads/2021/09/downgrade-Blazing-SEO-proxies1.jpg" alt="downgrade Blazing SEO proxies1" width="611" height="403" srcset="https://proxysp.com/wp-content/uploads/2021/09/downgrade-Blazing-SEO-proxies1.jpg 611w, https://proxysp.com/wp-content/uploads/2021/09/downgrade-Blazing-SEO-proxies1-300x198.jpg 300w" sizes="(max-width: 611px) 100vw, 611px" /></p>
<p>3. To reduce the number of proxies in your account, enter the<strong> new number</strong> you want going forward.  For example, if you currently have 20 proxies and wish to downgrade to a new total of 15 in your proxy package, enter the number '15' in the field shown below. Then click on &#8216;<strong>Downgrade</strong>&#8216; to proceed.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8035" src="https://www.proxysp.com/wp-content/uploads/2021/09/downgrade-Blazing-SEO-proxies2.jpg" alt="downgrade Blazing SEO proxies2" width="609" height="131" srcset="https://proxysp.com/wp-content/uploads/2021/09/downgrade-Blazing-SEO-proxies2.jpg 609w, https://proxysp.com/wp-content/uploads/2021/09/downgrade-Blazing-SEO-proxies2-300x65.jpg 300w" sizes="(max-width: 609px) 100vw, 609px" /></p>
<p>4. Now you can optionally specify which IPs you would like to keep, if some are working better than others</p>
<ul>
<li>Enter the list of IPs as directed. This should include the IP only, and should not include the port number.</li>
<li>NOTE: If you leave this field blank, then IPs will be randomly selected for removal from your account.</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-8036" src="https://www.proxysp.com/wp-content/uploads/2021/09/downgrade-Blazing-SEO-proxies3.jpg" alt="downgrade Blazing SEO proxies3" width="542" height="392" srcset="https://proxysp.com/wp-content/uploads/2021/09/downgrade-Blazing-SEO-proxies3.jpg 566w, https://proxysp.com/wp-content/uploads/2021/09/downgrade-Blazing-SEO-proxies3-300x217.jpg 300w" sizes="(max-width: 542px) 100vw, 542px" /></p>
<p>5. Click &#8216;<strong>Downgrade</strong>&#8216; and you are all set!  A credit will be added to your account to prorate for the remainder of the billing period.</p>
<p>Please note that proxies will be downgraded at the end of the billing cycle and can be used till then.</p>
<hr />
<h2 class="heading">Why Are My Proxies Not Working on Some Sites?</h2>
<p data-identifyelement="476"><span data-identifyelement="477">Does your proxy work on some sites, but does <strong data-identifyelement="478">not</strong> work on others?</span></p>
<p data-identifyelement="479"><span data-identifyelement="480">Did your proxy work in the past, but now it does not work?</span></p>
<p data-identifyelement="486"><span data-identifyelement="487">If you answered &#8216;Yes' to either of the above questions, then it is likely that your proxies are banned (or &#8216;blocked') on the website you are using them on. In this part, we will talk about <em data-identifyelement="489">why</em> this happens, as well as <em data-identifyelement="490">what</em> you can do about it.</span></p>
<p data-identifyelement="491"><span data-identifyelement="492">If you answered &#8216;No' to both of the above questions, then please visit our article about why your proxies might not be providing connectivity to any sites. You can read about it <a href="https://www.proxysp.com/blazingseo-proxies-troubleshooting/#why-are-my-proxies-not-working" target="_blank" rel="noopener">here</a>. </span></p>
<hr />
<h3 data-identifyelement="499"><span data-identifyelement="500"><strong>Why did I Get Banned?</strong></span></h3>
<p data-identifyelement="502"><span data-identifyelement="503">There are a number of reasons as to why a proxy can get banned, some of which are predictable and obvious, while other reasons are only theoretical guesses. Here are a few reasons:</span></p>
<p data-identifyelement="509"><strong>1. You are using your proxies too fast</strong></p>
<p data-identifyelement="516"><span data-identifyelement="517">One of the main reasons for getting banned on a website is that you have your software configured to run too fast at a particular website. Websites will not tolerate significant, parallel, connections as it may cause harm to their services. Imagine a scenario where a website allowed a single IP address to connect to it at [1 million times] per <strong data-identifyelement="519">second &#8211; </strong>wow! It's clear that they would place a ban, or block, on this IP address so that it cannot connect to their website anymore.</span></p>
<p data-identifyelement="520"><span data-identifyelement="521">What is the appropriate speed that you can connect to the site you are using the proxies on? Unfortunately, that's a hard question to answer, but what we recommend is that people run their own experiments to find that rate:</span></p>
<ol data-identifyelement="523">
<li data-identifyelement="524"><span data-identifyelement="525">Set your software to run at a slow speed that will not cause a ban (ex: 1 request per hour)</span></li>
<li data-identifyelement="527"><span data-identifyelement="528">If you do not receive a ban at that rate, then increase it higher (ex: 2 requests per hour)</span></li>
<li data-identifyelement="530"><span data-identifyelement="531">Repeat this until you receive a ban, and then set your rate at the previous rate before</span></li>
</ol>
<hr />
<p data-identifyelement="533"><span data-identifyelement="534"> </span><strong>2. You are running at a slow rate and some of your proxies work, but others do not</strong></p>
<p data-identifyelement="543"><span data-identifyelement="544">The next question we frequently receive is customers asking why <em data-identifyelement="546">some</em> of their proxies work, and why some of their proxies are banned. This is an unfortunate side effect of how IPv4 address schema works and why it impacts proxies.</span></p>
<p data-identifyelement="547"><span data-identifyelement="548">There are two terms used frequently in the proxy business:</span></p>
<ol data-identifyelement="550">
<li data-identifyelement="551"><span data-identifyelement="552">Subnets (A, B, C subnets &#8211; <a href="https://www.tutorialspoint.com/ipv4/ipv4_subnetting.htm" target="_blank" rel="nofollow noopener" data-identifyelement="554">read here for more info</a>)</span></li>
<li data-identifyelement="555"><span data-identifyelement="556">ISPs (or ASNs). Example:  Verizon is an ISP;  <a href="https://whois.arin.net/rest/org/SL-1146/nets" target="_blank" rel="nofollow noopener" data-identifyelement="558">Sprious is an ISP</a>; etc</span></li>
</ol>
<p data-identifyelement="563"><span data-identifyelement="564">Why do subnets and ISPs (Internet Service Providers) matter in the terms of proxies? It's because it makes it easier for the website you are using the proxy on to see that you are sharing the same ISP or subnet as other proxy customers of ours that are also using the proxies for the same use case.</span></p>
<p data-identifyelement="570"><span data-identifyelement="571">Given that the proxy industry is driven largely by certain niches (Scraping, social media marketing, and others), it's very common that many customers are using proxies for the same use case as yours. Therefore, when this happens, your proxy speeds can negatively impact each other <strong data-identifyelement="573">because you share the same subnet or ISP as another customer using the same use case</strong>.</span></p>
<p data-identifyelement="578"><span data-identifyelement="579">What can you do about this? Please read on!</span></p>
<hr />
<h3 data-identifyelement="584"><span data-identifyelement="585"><strong>What Can I do About My Proxies Being Banned?</strong></span></h3>
<p data-identifyelement="591"><span data-identifyelement="592">In this section we will cover various options you have to be more successful with your proxies with Blazing SEO:</span></p>
<p><span data-identifyelement="596">1. From day one, Blazing SEO made it a top priority that our customers could have the freedom to <strong data-identifyelement="598">automatically</strong> replace their proxies if any of them were not working for any reason.</span></p>
<p><span data-identifyelement="600">2. If you run out of replacements, please contact us and our support team will assist you with restoring the replacements.</span></p>
<p><span data-identifyelement="604">3. Slow your proxy speed down:  As discussed in the previous section, sometimes it just requires you to slow down your rates a little in order to achieve maximum throughput.</span></p>
<p><span data-identifyelement="607">4. Contact us &#8211; <em>seriously</em>!</span></p>
<ul>
<li><span data-identifyelement="612">If pricing is a problem at the rates you are running your proxies now, please contact us and we can discuss custom pricing that will make you the most profitable.</span></li>
<li><span data-identifyelement="615">There are a number of strategies we can offer you (at no additional cost) that will give your account better proxies. This includes only giving you IPs from certain ISPs/ASNs and only IPs from certain subnets that appear to work better for your use case.</span></li>
<li><span data-identifyelement="619">The reason that certain IPs on certain ISPs or subnets work better than others is that some ISPs that we partner with are on &#8220;blacklists&#8221; for certain use cases. By configuring your account to receive IPs from ISPs/subnets that work for you, you will inherently avoid getting IPs from the &#8220;blacklisted&#8221; ISPs/subnets</span></li>
</ul>
<div class="hs-callout-type-tip" data-hs-callout-type="tip" data-identifyelement="621">
<p data-identifyelement="622"><span data-identifyelement="623">Did you know:  Blazing SEO has IPs spread across:</span></p>
<p><span data-identifyelement="627">1. 7 different ISPs/ASNs</span></p>
<p><span data-identifyelement="630">2. Thousands of unique C-class subnets. Just look at one of our partner's <a href="https://whois.arin.net/rest/org/SL-1146/nets" target="_blank" rel="nofollow noopener" data-identifyelement="632">IP diversity here</a>.</span></p>
</div>
<div class="su-heading su-heading-style-modern-2-orange su-heading-align-center" id="" style="font-size:30px;margin-bottom:20px"><div class="su-heading-inner">FAQs</div></div>
<p class="heading"><strong>1. How can I switch between proxies in my browser?</strong></p>
<p>We recommend using the FoxyProxy Add-on for <a href="https://chrome.google.com/webstore/detail/foxyproxy-standard/gcknhkkoolaabfmlnjonogaaifnjlfnp?hl=en" target="_blank" rel="nofollow noopener">Chrome</a> or <a href="https://addons.mozilla.org/en-US/firefox/addon/foxyproxy-standard/" target="_blank" rel="nofollow noopener">Firefox</a> to easily switch between proxies in your browser.</p>
<p class="heading"><strong>2. What happens if I use a dynamic changing personal IP?<a class="solution-print--icon print--remove" title="Print this Article"> </a></strong></p>
<p>If you have an IP address that is dynamic (changing), then you will be unable to authorize your proxies via IP authorization in the proxy dashboard. You will need to instead use Username/Password authorization.<br />
However, it is not currently possible to use Username/Password with our Rotating Proxies, only IP authorization. So if you have a dynamic IP, then rotating proxies will not work for you.</p>
<p class="heading"><strong>3. How do I know if I set up my proxies correctly?</strong></p>
<p>Many users report that their proxies are &#8220;not working&#8221;, but in actuality, it is a server or user error that is the cause of it.  If you see the proxy IP at whatismyipaddress.com then you know you have set it up correctly.</p>
<p><strong>4. When should I replace a proxy in my account?</strong></p>
<p>In rare occasions, the proxy may go offline due to unforeseen circumstances. If you urgently need to use all the available proxies in your account, you may replace the proxy that isn’t working through your proxy DASHBOARD and you can also follow this video guide for reference below. Also, if you find a particular IP address to be unsuitable to your usage, you may also replace the respective IP via your proxy dashboard.</p>
<div class="su-youtube su-u-responsive-media-yes"><iframe loading="lazy" width="600" height="400" src="https://www.youtube.com/embed/oxL8OAxPeRQ?" frameborder="0" allowfullscreen allow="autoplay; encrypted-media; picture-in-picture" title=""></iframe></div>
<div class="icon">
<div class="icon">
<hr />
</div>
</div>
<div>
<h4 id="references" class="ftwp-heading">References,</h4>
<ul>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000262800-how-do-i-use-proxies-" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000262800-how-do-i-use-proxies-</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000256632-how-do-i-authorize-my-proxies" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000256632-how-do-i-authorize-my-proxies</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000256617-how-do-i-use-and-test-my-proxies-in-a-browser" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000256617-how-do-i-use-and-test-my-proxies-in-a-browser</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000256637-how-can-i-switch-between-proxies-in-my-browser" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000256637-how-can-i-switch-between-proxies-in-my-browser</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000263277-how-can-i-get-a-diverse-subnet-for-my-proxies" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000263277-how-can-i-get-a-diverse-subnet-for-my-proxies</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000262801-how-do-i-test-proxies-" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000262801-how-do-i-test-proxies-</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000256599-how-do-i-replace-proxies-" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000256599-how-do-i-replace-proxies-</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000256601-how-do-i-cancel-proxies-" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000256601-how-do-i-cancel-proxies-</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000256602-how-do-i-upgrade-my-proxies-" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000256602-how-do-i-upgrade-my-proxies-</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000256600-how-do-i-downgrade-my-proxies" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000256600-how-do-i-downgrade-my-proxies</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000256620-what-happens-if-i-use-a-dynamic-changing-personal-ip" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000256620-what-happens-if-i-use-a-dynamic-changing-personal-ip</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000256627-why-are-my-proxies-not-working-on-some-sites" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000256627-why-are-my-proxies-not-working-on-some-sites</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000256629-how-do-i-know-if-i-set-up-my-proxies-correctly" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000256629-how-do-i-know-if-i-set-up-my-proxies-correctly</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000262804-when-should-i-replace-a-proxy-in-my-account-" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000262804-when-should-i-replace-a-proxy-in-my-account-</a></li>
</ul>
<hr />
</div>
<blockquote><p><strong>Disclaimer</strong>: This part of the content is mainly from the merchant. If the merchant does not want it to be displayed on my website, please <a href="https://www.proxysp.com/contact-us/">contact us</a> to delete your content.</p></blockquote>
]]></content:encoded>
					
					<wfw:commentRss>https://proxysp.com/how-to-use-blazingseo-proxies/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7670</post-id>	</item>
		<item>
		<title>How to Use Socks Protocol with BlazingSEO Proxies? Learn Manuals</title>
		<link>https://proxysp.com/socks-protocol-blazingseo/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=socks-protocol-blazingseo</link>
					<comments>https://proxysp.com/socks-protocol-blazingseo/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
				<category><![CDATA[BlazingSEO Proxies]]></category>
		<guid isPermaLink="false">https://www.proxysp.com/?p=7669</guid>

					<description><![CDATA[We know BlazingSEO provides SOCKS protocol, but do you know how to use it correctly? This article will be a complete guide for you. Do Your &#8230;<p class="read-more"> <a class="ast-button" href="https://proxysp.com/socks-protocol-blazingseo/"> <span class="screen-reader-text">How to Use Socks Protocol with BlazingSEO Proxies? Learn Manuals</span> Read More &#187;</a></p>]]></description>
										<content:encoded><![CDATA[<blockquote><p>We know BlazingSEO provides SOCKS protocol, but do you know how to use it correctly? This article will be a complete guide for you.</p></blockquote>
<h2 class="heading">Do Your Proxies Work with SOCKS Protocol?</h2>
<p dir="ltr"><span dir="ltr">Our dedicated and semi-dedicated proxies support <a href="https://www.proxysp.com/socks-proxy/" target="_blank" rel="noopener">SOCKS</a>. You will need to change the proxy’s port to 1080 for SOCKS connectivity. You may also find the following video guides on how to use SOCKS protocol with blazing proxies in your browsers(Chrome, Firefox)</span>.</p>
<p dir="ltr"><span dir="ltr">You can only use IP authorization along with SOCKS. </span><span dir="ltr">Unfortunately, username/password authorization method is not available for SOCKS for our proxies.</span></p>
<hr />
<h2 class="heading">How do I Use SOCKS Protocol?</h2>
<p>Dedicated and semi-dedicated proxies support SOCKS protocol.</p>
<p>For some websites and use-cases, you may need to switch from HTTP/HTTPS and instead use SOCKS protocol. We offer SOCKS protocol to assist with these specific use-cases. When using SOCKS, you are only able to use IP authorization as we currently do not offer username/password for SOCKS protocol.</p>
<p>1. Login to your proxy dashboard.</p>
<p>2. On the right side of the proxy dashboard home page,  select &#8220;Via IP&#8221; under Authorization Type and then select SOCKS.</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-7935 size-full" src="https://www.proxysp.com/wp-content/uploads/2021/09/Blazing-SEO-IP-Authorization.jpg" alt="Blazing SEO IP Authorization" width="463" height="216" srcset="https://proxysp.com/wp-content/uploads/2021/09/Blazing-SEO-IP-Authorization.jpg 463w, https://proxysp.com/wp-content/uploads/2021/09/Blazing-SEO-IP-Authorization-300x140.jpg 300w" sizes="(max-width: 463px) 100vw, 463px" /></p>
<p>3. If you have not already authorized your IP, please proceed to authorize your IP.  f you do not know how to authorize your IP you may simply follow this video guide <a href="https://www.youtube.com/watch?v=Q-NSzU1GDp8" target="_blank" rel="nofollow noopener">here</a>.</p>
<p>You may also find the following video guides on how to use SOCKS protocol with Blazing SEO proxies in your browser.</p>
<p><strong>Chrome</strong></p>
<div class="su-youtube su-u-responsive-media-yes"><iframe loading="lazy" width="600" height="400" src="https://www.youtube.com/embed/rzByA56VpeY?" frameborder="0" allowfullscreen allow="autoplay; encrypted-media; picture-in-picture" title=""></iframe></div>
<p><strong>Firefox</strong></p>
<div class="su-youtube su-u-responsive-media-yes"><iframe loading="lazy" width="600" height="400" src="https://www.youtube.com/embed/3V33wirMxik?" frameborder="0" allowfullscreen allow="autoplay; encrypted-media; picture-in-picture" title=""></iframe></div>
<div class="icon">
<div class="icon">
<hr />
</div>
</div>
<div>
<h4 id="references" class="ftwp-heading">References,</h4>
</div>
<ul>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000263275-do-your-proxies-work-with-socks-protocol" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000263275-do-your-proxies-work-with-socks-protocol</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000256630-how-do-i-use-socks-protocol-" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000256630-how-do-i-use-socks-protocol-</a></li>
</ul>
<hr />
<blockquote><p><strong>Disclaimer</strong>: This part of the content is mainly from the merchant. If the merchant does not want it to be displayed on my website, please <a href="https://www.proxysp.com/contact-us/">contact us</a> to delete your content.</p></blockquote>
]]></content:encoded>
					
					<wfw:commentRss>https://proxysp.com/socks-protocol-blazingseo/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7669</post-id>	</item>
		<item>
		<title>Proxy Pilot (By BlazingSEO) : Learn Manuals Before You Buy</title>
		<link>https://proxysp.com/proxy-pilot/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=proxy-pilot</link>
					<comments>https://proxysp.com/proxy-pilot/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
				<category><![CDATA[BlazingSEO Proxies]]></category>
		<guid isPermaLink="false">https://www.proxysp.com/?p=7668</guid>

					<description><![CDATA[Do you know what Proxy Pilot does and how it works? By learning this article, you will master the above knowledge and know-how to troubleshoot Proxy &#8230;<p class="read-more"> <a class="ast-button" href="https://proxysp.com/proxy-pilot/"> <span class="screen-reader-text">Proxy Pilot (By BlazingSEO) : Learn Manuals Before You Buy</span> Read More &#187;</a></p>]]></description>
										<content:encoded><![CDATA[<blockquote><p>Do you know what Proxy Pilot does and how it works? By learning this article, you will master the above knowledge and know-how to troubleshoot Proxy Pilot.</p></blockquote>
<h2 class="heading">What Is Proxy Pilot?</h2>
<h3 id="Description" dir="ltr" data-identifyelement="495"><span data-identifyelement="496">Description</span></h3>
<p dir="ltr" data-identifyelement="497"><span data-identifyelement="498">Proxy Pilot is a software that completely manages your proxy lists intelligently. This means you can build your system to be more flexible by using this “microservice” that handles a significant workload that is otherwise put into your main code base.</span></p>
<hr />
<h3 id="Features" dir="ltr" data-identifyelement="501"><span data-identifyelement="502">Features</span></h3>
<p>The list of current features are:</p>
<ul>
<li>Specific cooldowns between each proxy attempt</li>
<li>Specific cooldown after a ban is detected</li>
<li>Ban detection (the certificate you install on your server allows us to decrypt your traffic as a man-in-the-middle attack and read the resulting HTML for ban messages), specific per each site</li>
<li>Optimal proxy usage (round-robin at first, and then once various cooldown timers are started, it will use the proxies that are most cooled-down)</li>
<li>Automatically downloads your proxy list from a proxy API endpoint</li>
<li>Geo-targeting, if you use multiple countries in your proxy list</li>
<li>Advanced statistics powered by ELK (see below)</li>
</ul>
<hr />
<h3 id="Powered-by-ELK" dir="ltr" data-identifyelement="534"><span data-identifyelement="535">Powered by ELK</span></h3>
<p dir="ltr" data-identifyelement="536"><span data-identifyelement="537">The </span><a href="https://www.elastic.co/what-is/elk-stack" target="_blank" rel="nofollow noopener" data-identifyelement="538"><span data-identifyelement="539">ELK stack</span></a><span data-identifyelement="540"> is one that has grown massively in popularity over the past few years… and Proxy Pilot is powered by it! See the amazing statistics that you will have at your fingertips through Kibana’s amazing visualizations:</span></p>
<p dir="ltr" data-identifyelement="536"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-7900" src="https://www.proxysp.com/wp-content/uploads/2021/09/Powered-by-ELK1.jpg" alt="Powered by ELK1" width="615" height="451" srcset="https://proxysp.com/wp-content/uploads/2021/09/Powered-by-ELK1.jpg 615w, https://proxysp.com/wp-content/uploads/2021/09/Powered-by-ELK1-300x220.jpg 300w" sizes="(max-width: 615px) 100vw, 615px" /></p>
<p dir="ltr" data-identifyelement="536"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8000" src="https://www.proxysp.com/wp-content/uploads/2021/09/Powered-by-ELK11.jpg" alt="Powered by ELK11" width="614" height="338" srcset="https://proxysp.com/wp-content/uploads/2021/09/Powered-by-ELK11.jpg 614w, https://proxysp.com/wp-content/uploads/2021/09/Powered-by-ELK11-300x165.jpg 300w" sizes="(max-width: 614px) 100vw, 614px" /></p>
<hr />
<div class="icon">
<div class="icon">
<h3 id="what-it-is-and-is-not" dir="ltr" data-identifyelement="555"><span dir="ltr" data-identifyelement="556">What It Is, and Is Not</span></h3>
<p dir="ltr" data-identifyelement="557"><span dir="ltr" data-identifyelement="558">One confusion we get from interested users of Proxy Pilot is what does Proxy Pilot do, and not do. Here is our <a href="#general-troubleshooting-for-proxy-pilot">General Troubleshooting</a>.</span></p>
<p dir="ltr" data-identifyelement="557"><span dir="ltr" data-identifyelement="558">Therefore, it's important to make the distinction between how Proxy Pilot can <em dir="ltr">help</em> you, versus its inability to prevent many common anti-scraping technologies when you use your own software.</span></p>
<p dir="ltr" data-identifyelement="561"><span data-identifyelement="562">What it does:</span></p>
<ul data-identifyelement="563">
<li dir="ltr" data-identifyelement="564">
<p dir="ltr" data-identifyelement="565"><span data-identifyelement="566">All listed features above</span></p>
</li>
<li dir="ltr" data-identifyelement="567">
<p dir="ltr" data-identifyelement="568"><span data-identifyelement="569">Allows you to separate proxy code from your main code base and into a separate microservice</span></p>
</li>
<li dir="ltr" data-identifyelement="570">
<p dir="ltr" data-identifyelement="571"><span dir="ltr" data-identifyelement="572">100% open-sourced (coming Q4 2021)</span></p>
</li>
</ul>
<p dir="ltr" data-identifyelement="577"><span data-identifyelement="578">What it does </span><span data-identifyelement="579">not</span><span data-identifyelement="580"> do:</span></p>
<ul data-identifyelement="581">
<li dir="ltr" data-identifyelement="582">
<p dir="ltr" data-identifyelement="583"><span data-identifyelement="584">It does not guarantee 100% success rate if your proxy pools and settings are not appropriate.</span></p>
</li>
<li dir="ltr" data-identifyelement="582">
<p dir="ltr" data-identifyelement="583"><span style="font-size: 16px;">Example:  if you want to scrape 1m requests/hour to domain.com, and only input 10 proxies into your proxy pool, you will most likely receive a ban on the target website. When this happens, all 10 of your proxies would go into a “ban cooldown”, and Proxy Pilot will return a ‘No Proxies’ error message.</span></p>
</li>
<li dir="ltr" data-identifyelement="582">
<p dir="ltr" data-identifyelement="583"><span dir="ltr" style="font-size: 16px;" data-identifyelement="594">Proxy Pilot does not “charge per successful scrape”. If you’d like to offload </span><span style="font-size: 16px;" data-identifyelement="595">all</span><span style="font-size: 16px;" data-identifyelement="596"> portions of scraping to us then we recommend you consider our </span><a style="font-size: 16px; background-color: #ffffff;" href="http://scrapingrobot.com/api" data-identifyelement="597" target="_blank" rel="noopener"><span data-identifyelement="598">Scraping Robot API</span></a><span dir="ltr" style="font-size: 16px;" data-identifyelement="599">. Our Scraping Robot API handles all browser management, proxy management, and ensures 100% success back to your software. Proxy Pilot is only a proxy manager, which is highly dependent on the proxies you provide it. If you provide low quality proxy IP addresses, or configure your software incorrectly, then you will get low quality results.</span></p>
</li>
<li dir="ltr" data-identifyelement="582">
<p dir="ltr" data-identifyelement="583"><span dir="ltr" data-identifyelement="605">Proxy Pilot does not provide you free proxies or access to a specific proxy pool. You must provide it with the proxies you wish to use. Again, if you do not want to purchase proxies or manage them at all, then our Scraping Robot API would be recommended. </span></p>
</li>
</ul>
<hr />
<h2 class="heading">Proxy Pilot Setup Instructions</h2>
<h3 id="Technical-Setup-Explanation---How-Does-It-Work?" dir="ltr">Technical Setup Explanation &#8211; How Does It Work?</h3>
<p>If you haven’t read What Is Proxy Pilot? we recommend reading the business overview article first.</p>
<p>This article outlines the technical details on how to implement Proxy Pilot. First, let’s define how it works:</p>
<p dir="ltr"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-7902" src="https://www.proxysp.com/wp-content/uploads/2021/09/Technical-Setup-Explanation.jpg" alt="Technical Setup Explanation" width="629" height="389" srcset="https://proxysp.com/wp-content/uploads/2021/09/Technical-Setup-Explanation.jpg 629w, https://proxysp.com/wp-content/uploads/2021/09/Technical-Setup-Explanation-300x186.jpg 300w" sizes="(max-width: 629px) 100vw, 629px" /></p>
<p dir="ltr"><strong>Key components:</strong></p>
<ol>
<li dir="ltr">
<p dir="ltr">Install a custom certificate in your software. For most software, this is 1-2 lines of code to do this.</p>
<p>Once installed, this allows us to emulate what a man-in-the-middle-attack does, which decrypts your HTTPS traffic so we can read the HTML. Once we are able to read the full HTML of your requests, we can detect bans and do the appropriate retries.</li>
<li dir="ltr">
<p dir="ltr">You connect to a central Proxy Pilot server (self-hosted or managed hosting).</p>
<p>We will provide you a single proxy IP (ip: port with IP authorization, or ip:port:user: pass for user: pass authorization). You will send all requests to this single proxy gateway and from there the Proxy Pilot system will take over and forward your request to the appropriate proxy.</li>
<li dir="ltr">
<p dir="ltr">Your actual proxy list</p>
<p>As mentioned in What Is Proxy Pilot? you must provide your own proxies to the system. These proxies are the ones that Proxy Pilot forwards your requests to.</li>
</ol>
<hr />
<h3 id="Programming-Language-Implementations" dir="ltr">Programming Language Implementations</h3>
<p dir="ltr">Please see the following links for the programming language of your choice to implement Proxy Pilot into. For most languages, it requires less than 2 lines of code to install the custom certificate, and from that point on you will use the proxy gateway the same way you use a normal proxy.</p>
<p dir="ltr">See setup instructions for the following languages:</p>
<hr />
<h4 dir="ltr"><strong>1. Node.js (Requests)</strong></h4>
<div data-identifyelement="482">
<h5 data-identifyelement="485"><strong><span dir="ltr" data-identifyelement="486">Prerequisites</span></strong></h5>
</div>
<p dir="ltr" data-identifyelement="504"><span dir="ltr" data-identifyelement="505">You should have the following installed:</span></p>
<ul data-identifyelement="506">
<li dir="ltr" data-identifyelement="507">
<p dir="ltr" data-identifyelement="508"><span data-identifyelement="509">Latest Node.js version</span></p>
</li>
<li dir="ltr" data-identifyelement="510">
<p dir="ltr" data-identifyelement="511"><span dir="ltr" data-identifyelement="512">Requests library:</span><br />
<a href="https://www.npmjs.com/package/request" target="_blank" rel="nofollow noopener">https://www.npmjs.com/package/request</a></p>
</li>
</ul>
<h5 dir="ltr" data-identifyelement="533"><strong><span dir="ltr" data-identifyelement="534">Example code</span></strong></h5>
<p dir="ltr" data-identifyelement="537"><strong>Required lines to use Proxy Pilot:</strong></p>
<ul>
<li dir="ltr">rejectUnauthorized: false
<ul>
<li dir="ltr">rejectUnauthorized: false &#8220;ignores&#8221; the certificate warnings</li>
</ul>
</li>
<li dir="ltr">(OPTIONAL) &#8211; If you wish to have a secure connection between your server and our server, you can install our certificate and use it in Node.js. For most users, this is not necessary and you can simply &#8220;Ignore&#8221; the certificate errors. You can <a dir="ltr" href="https://drive.google.com/file/d/1_GTicu0qgdVQZVwzPyBGzH_lv0k_Sonh/view" target="_blank" rel="nofollow noopener">download the certificate here</a>.
<ul>
<li dir="ltr" data-identifyelement="540">// const cert = fs.readFileSync(path.resolve(__dirname, &#8216;./public/ca.pem'));</li>
<li dir="ltr" data-identifyelement="541">// ca: cert</li>
<li dir="ltr" data-identifyelement="542">// tunnel: true,</li>
<li dir="ltr" data-identifyelement="543">(OPTIONAL &#8211; don't use if you are not geo-targetting)
<ul data-identifyelement="544">
<li dir="ltr" data-identifyelement="545">// proxyHeaderWhiteList: [&#8216;X-Sprious-Region'],<br data-identifyelement="546" />headers: {<br data-identifyelement="547" />// &#8216;X-ProxyPilot-Region': &#8216;GB',</li>
</ul>
</li>
</ul>
</li>
</ul>
<div>
<pre class="line-numbers language-javascript" contenteditable="false" data-code-brush="JavaScript"><code class=" language-javascript"><span class="token keyword">const</span> fs <span class="token operator">=</span> <span class="token function">require</span><span class="token punctuation">(</span><span class="token string">'fs'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">const</span> path <span class="token operator">=</span> <span class="token function">require</span><span class="token punctuation">(</span><span class="token string">'path'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>

<span class="token comment" spellcheck="true">/* Note: please replace the ./public/ca.pem with a local path to the ca.pem file on your server and simply remove lines with X-ProxyPilot-Region if you don’t need to use geo-targeting feature*/</span>

<span class="token comment" spellcheck="true">// const cert = fs.readFileSync(path.resolve(__dirname, './public/ca.pem'));</span>
<span class="token keyword">const</span> request <span class="token operator">=</span> <span class="token function">require</span><span class="token punctuation">(</span><span class="token string">'request'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function">request</span><span class="token punctuation">(</span>
    <span class="token punctuation">{</span>
        url<span class="token punctuation">:</span> <span class="token string">'https://www.amazon.com/dp/B07HNW68ZC/'</span><span class="token punctuation">,</span>
        proxy<span class="token punctuation">:</span> <span class="token string">'http://PROXY_LOGIN:PROXY_PASS@PROXY_IP:PROXY_PORT'</span><span class="token punctuation">,</span>
        <span class="token comment" spellcheck="true">// ca: cert,</span>
        <span class="token comment" spellcheck="true">// tunnel: true,</span>
        followAllRedirects<span class="token punctuation">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span>
        timeout<span class="token punctuation">:</span> <span class="token number">60000</span><span class="token punctuation">,</span>
        method<span class="token punctuation">:</span> <span class="token string">"GET"</span><span class="token punctuation">,</span>
        rejectUnauthorized<span class="token punctuation">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span>
        gzip<span class="token punctuation">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span>
        <span class="token comment" spellcheck="true">// proxyHeaderWhiteList: ['X-Sprious-Region'],</span>
        headers<span class="token punctuation">:</span> <span class="token punctuation">{</span>
            <span class="token comment" spellcheck="true">// 'X-ProxyPilot-Region': 'GB',</span>
            <span class="token string">'User-Agent'</span><span class="token punctuation">:</span> <span class="token string">'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36'</span><span class="token punctuation">,</span>
        <span class="token punctuation">}</span>
    <span class="token punctuation">}</span><span class="token punctuation">,</span>
    <span class="token punctuation">(</span>err<span class="token punctuation">,</span> response<span class="token punctuation">,</span> body<span class="token punctuation">)</span> <span class="token operator">=</span><span class="token operator">&gt;</span> <span class="token punctuation">{</span>
        console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>err<span class="token punctuation">,</span> body<span class="token punctuation">)</span><span class="token punctuation">;</span>
    <span class="token punctuation">}</span>
<span class="token punctuation">)</span><span class="token punctuation">;</span></code></pre>
</div>
<hr />
<h4 dir="ltr"><strong>2. Node.js with Puppeteer</strong></h4>
<h5 data-identifyelement="485"><strong><span dir="ltr" data-identifyelement="486">Prerequisites</span></strong></h5>
</div>
<div class="icon">
<p><span style="font-size: 16px;">You should have the following installed:</span></p>
<ul>
<li dir="ltr">
<p dir="ltr">Latest Node.js version</p>
</li>
<li dir="ltr">
<p dir="ltr"><span dir="ltr">Latest <a href="https://www.npmjs.com/package/puppeteer" target="_blank" rel="nofollow noopener">Puppeteer</a></span></p>
</li>
<li dir="ltr"><span dir="ltr">(Optional recommendation) <a href="https://github.com/berstend/puppeteer-extra/tree/master/packages/puppeteer-extra-plugin-stealth" target="_blank" rel="nofollow noopener">Puppeteer Stealth</a></span></li>
</ul>
<h5>Example code</h5>
<p dir="ltr"><strong dir="ltr">Required lines to use Proxy Pilot:</strong></p>
<ul>
<li dir="ltr">const browser = await puppeteer.launch({<br />
args: [&#8216;&#8211;no-sandbox', &#8216;&#8211;disable-setuid-sandbox', &#8216;&#8211;proxy-server=' + anonymizeProxy, <strong>&#8216;&#8211;ignore-certificate-errors'</strong>],<br />
});</p>
<ul>
<li dir="ltr">By ignoring the certificate on your server you do not need to install the certificate.</li>
</ul>
</li>
</ul>
<div>
<div>
<div class="prism-show-language">
<div class="prism-show-language-label">JavaScript</div>
</div>
<pre class="line-numbers language-javascript" contenteditable="false" data-code-brush="JavaScript"><code class=" language-javascript"><span class="token keyword">const</span> puppeteer <span class="token operator">=</span> <span class="token function">require</span><span class="token punctuation">(</span><span class="token string">'puppeteer'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">const</span> proxyChain <span class="token operator">=</span> <span class="token function">require</span><span class="token punctuation">(</span><span class="token string">'proxy-chain'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>

<span class="token punctuation">(</span><span class="token keyword">async</span> <span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">=</span><span class="token operator">&gt;</span> <span class="token punctuation">{</span>
    <span class="token keyword">const</span> anonymizeProxy <span class="token operator">=</span> <span class="token keyword">await</span> proxyChain<span class="token punctuation">.</span><span class="token function">anonymizeProxy</span><span class="token punctuation">(</span><span class="token string">'http://PROXY_LOGIN:PROXY_PASS@PROXY_IP:PROXY_PORT'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>

    <span class="token keyword">const</span> browser <span class="token operator">=</span> <span class="token keyword">await</span> puppeteer<span class="token punctuation">.</span><span class="token function">launch</span><span class="token punctuation">(</span><span class="token punctuation">{</span>
        args<span class="token punctuation">:</span> <span class="token punctuation">[</span><span class="token string">'--no-sandbox'</span><span class="token punctuation">,</span> <span class="token string">'--disable-setuid-sandbox'</span><span class="token punctuation">,</span> <span class="token string">'--proxy-server='</span> <span class="token operator">+</span> anonymizeProxy<span class="token punctuation">,</span> <span class="token string">'--ignore-certificate-errors'</span><span class="token punctuation">]</span><span class="token punctuation">,</span>
    <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
    <span class="token keyword">const</span> page <span class="token operator">=</span> <span class="token keyword">await</span> browser<span class="token punctuation">.</span><span class="token function">newPage</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
    <span class="token keyword">await</span> page<span class="token punctuation">.</span><span class="token function">goto</span><span class="token punctuation">(</span><span class="token string">'https://www.amazon.com/p/dp/B08GL2XTV6'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>

    <span class="token keyword">let</span> pageTitle <span class="token operator">=</span> <span class="token keyword">await</span> page<span class="token punctuation">.</span><span class="token function">title</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
    <span class="token keyword">let</span> element <span class="token operator">=</span> <span class="token keyword">await</span> page<span class="token punctuation">.</span><span class="token function">$</span><span class="token punctuation">(</span><span class="token string">"#priceblock_ourprice"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
    <span class="token keyword">let</span> price <span class="token operator">=</span> <span class="token keyword">await</span> <span class="token punctuation">(</span><span class="token keyword">await</span> element<span class="token punctuation">.</span><span class="token function">getProperty</span><span class="token punctuation">(</span><span class="token string">'textContent'</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">jsonValue</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span><span class="token punctuation">;</span>

    console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>price <span class="token operator">+</span> <span class="token string">' - '</span> <span class="token operator">+</span> pageTitle<span class="token punctuation">)</span><span class="token punctuation">;</span>
    <span class="token comment" spellcheck="true">// should be '$199.00 - LOVESHACKFANCY Women's Antonella Dress, Brilliant Blue, 4 at Amazon Women’s Clothing store'</span>

    <span class="token keyword">await</span> browser<span class="token punctuation">.</span><span class="token function">close</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
    <span class="token keyword">await</span> proxyChain<span class="token punctuation">.</span><span class="token function">closeAnonymizedProxy</span><span class="token punctuation">(</span>anonymizeProxy<span class="token punctuation">,</span> <span class="token boolean">true</span><span class="token punctuation">)</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span></code></pre>
</div>
</div>
<div data-identifyelement="550">
<hr />
</div>
<h4 dir="ltr"><strong>3. Curl</strong></h4>
<div data-identifyelement="482">
<h5 data-identifyelement="485"><span dir="ltr" data-identifyelement="486">Prerequisites</span></h5>
</div>
<p dir="ltr" data-identifyelement="495"><span data-identifyelement="496">You should have the following installed:</span></p>
<ul data-identifyelement="497">
<li dir="ltr" data-identifyelement="498">
<p dir="ltr" data-identifyelement="499"><span dir="ltr" data-identifyelement="500">You should be able to run curl on your machine<br data-identifyelement="501" /></span></p>
</li>
</ul>
<h5 dir="ltr" data-identifyelement="513"><span data-identifyelement="514">Example code</span></h5>
<p dir="ltr" data-identifyelement="517"><strong dir="ltr" data-identifyelement="518">Required lines to use Proxy Pilot:</strong></p>
<ul data-identifyelement="519">
<li dir="ltr" data-identifyelement="520">-k &#8211;compressed \
<ul data-identifyelement="521">
<li dir="ltr" data-identifyelement="522">By using the &#8220;-k&#8221; parameter in curl, it will IGNORE the custom certificate requirement to use Proxy Pilot.</li>
</ul>
</li>
<li dir="ltr" data-identifyelement="523">(OPTIONAL) If you want to use the geo-targeting feature, please pass:
<ul data-identifyelement="524">
<li dir="ltr" data-identifyelement="525">&#8211;proxy-header &#8216;X-Sprious-Region: US' \</li>
</ul>
</li>
</ul>
<div data-identifyelement="528">
<div data-identifyelement="529">
<pre class="line-numbers language-generic" contenteditable="false" data-code-brush="Generic Language" data-identifyelement="530"><code class=" Language language-generic">curl -s 'https://www.amazon.com/dp/B07HNW68ZC/' \<br data-identifyelement="531" />     -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36' \<br data-identifyelement="532" />     -k --compressed \<br data-identifyelement="533" />     -x 'PROXY_LOGIN:PROXY_PASS@PROXY_IP:PROXY_PORT'</code></pre>
</div>
</div>
<hr />
<h4 dir="ltr"><strong>4. Python (Requests)</strong></h4>
<div>
<h5><span dir="ltr">Prerequisites</span></h5>
</div>
<p dir="ltr">You should have the following installed:</p>
<ul>
<li dir="ltr">
<p dir="ltr"><span dir="ltr">Latest Python</span></p>
</li>
<li dir="ltr">
<p dir="ltr"><span dir="ltr">Requests library:<br />
</span><a dir="ltr" href="https://docs.python-requests.org/en/latest/" target="_blank" rel="noopener"> https://docs.python-requests.org/en/latest/</a></p>
</li>
</ul>
<h5 dir="ltr">Example code</h5>
<p dir="ltr"><strong dir="ltr">Required lines to use Proxy Pilot:</strong></p>
<ul>
<li dir="ltr">r = requests.get(url, headers=headers, proxies=proxies, <strong>verify=False</strong>)
<ul>
<li dir="ltr">verify=False &#8220;ignores&#8221; the certificate warnings</li>
</ul>
</li>
<li dir="ltr">(OPTIONAL)  # r = requests.get(url, headers=headers, proxies=proxies, verify='./public/ca.pem&#8221;)
<ul>
<li dir="ltr">If you wish to have a secure connection between your server and our server, you can install our certificate and use it in Python. For most users, this is not necessary and you can simply &#8220;Ignore&#8221; the certificate errors. You can <a href="https://drive.google.com/file/d/1_GTicu0qgdVQZVwzPyBGzH_lv0k_Sonh/view" target="_blank" rel="noopener noreferrer">download the certificate here.</a></li>
</ul>
</li>
</ul>
<div></div>
<div>
<pre class="line-numbers language-python" contenteditable="false" data-code-brush="Python"><code class=" language-python">import requests

url = "https://www.amazon.com/dp/B07HNW68ZC/"
proxies = {
    "https": f"http://PROXY_LOGIN:PROXY_PASS@PROXY_IP:PROXY_PORT/",
    "http": f"http://PROXY_LOGIN:PROXY_PASS@PROXY_IP:PROXY_PORT/"
}
headers = {
    'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36',
    'content-encoding': 'gzip'
}

# r = requests.get(url, headers=headers, proxies=proxies, verify='./public/ca.pem'')
r = requests.get(url, headers=headers, proxies=proxies, verify=False)

print(f"Response Body: {r.text}\n"
    "Request Headers:"
    f"{r.request.headers}\n\n"
    f"Response Time: {r.elapsed.total_seconds()}\n"
    f"Response Code: {r.status_code}\n"
    f"Response Headers: {r.headers}\n\n"
    f"Response Cookies: {r.cookies.items()}\n\n"
    f"Requesting {url}\n"
)</code></pre>
</div>
<hr />
<h4 dir="ltr"><strong><span dir="ltr">5. Firefox Browser</span></strong></h4>
<div>
<h5><span dir="ltr">Prerequisites</span></h5>
</div>
<p dir="ltr">You should have the following installed:</p>
<ul>
<li dir="ltr">
<p dir="ltr"><span dir="ltr">Latest Firefox version<br />
</span></p>
</li>
</ul>
<p dir="ltr"><span dir="ltr">You should download the custom certificate:</span></p>
<ul>
<li dir="ltr"><span dir="ltr"><a href="https://drive.google.com/file/d/1_GTicu0qgdVQZVwzPyBGzH_lv0k_Sonh/view" target="_blank" rel="nofollow noopener">https://drive.google.com/file/d/1_GTicu0qgdVQZVwzPyBGzH_lv0k_Sonh/view</a><br />
</span></li>
</ul>
<h5 dir="ltr"><span dir="ltr">How to use Proxy Pilot in Firefox<br />
</span></h5>
<p dir="ltr"><strong dir="ltr"><span dir="ltr">NOTE OF CAUTION: </span></strong>By following the instructions below you are essentially allowing our server to read the pages that you visit. This is dangerous if you intend to use your browser for normal activity like using your bank account. Please only proceed if you intend to use our certificate with your proxy activities such as web scraping &#8211; DO NOT use it for personal use!</p>
<p><span dir="ltr">In Firefox you can import your certificate by following these steps:</span></p>
<ol>
<li dir="ltr">
<p dir="ltr"><span dir="ltr">Settings → Privacy & Security → &#8220;View certificates&#8221; → &#8220;import&#8221;</span></p>
</li>
<li dir="ltr">
<p dir="ltr"><span dir="ltr">Select the CA.pem file that you saved earlier</span></p>
</li>
<li dir="ltr">
<p dir="ltr">check the checkbox &#8220;Trust this to identify websites&#8221; → &#8216;OK'</p>
</li>
<li dir="ltr">
<p dir="ltr">Click ‘OK'</p>
</li>
</ol>
<p>Then you need to specify your browser to use the PM proxy server:</p>
<ol>
<li dir="ltr">
<p dir="ltr">Settings → General → Network Settings → “Settings”</p>
</li>
<li dir="ltr">
<p dir="ltr">Manual proxy settings</p>
</li>
<li dir="ltr">
<p dir="ltr">HTTP Proxy: PROXY_IP Port: PROXY_PORT</p>
</li>
<li dir="ltr">
<p dir="ltr">Select &#8220;Also use this proxy for FTP and HTTPS&#8221;</p>
</li>
<li dir="ltr">
<p dir="ltr">Click “OK”</p>
</li>
</ol>
<p dir="ltr">Visit<a href="http://amazon.com/" target="_blank" rel="nofollow noopener"> amazon.com</a>. When the browser asks for login and password, enter:</p>
<ul>
<li dir="ltr"><span dir="ltr">login: </span>PROXY_LOGIN</li>
<li dir="ltr"><span dir="ltr">password: </span>PROXY_PASS</li>
</ul>
<hr />
<h3 id="Proxy-Manager-Error-codes" data-pm-slice="1 1 []">Proxy Manager Error codes</h3>
<table data-autosize="false" data-layout="default" data-number-column="false">
<thead>
<tr>
<th class="pm-table-header-content-wrap" data-colwidth="140"><strong>HTTP Response Code</strong></th>
<th class="pm-table-header-content-wrap" data-colwidth="165"><strong>Response Content</strong></th>
<th class="pm-table-header-content-wrap" data-colwidth="454"><strong>Description</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td class="pm-table-cell-content-wrap" data-colwidth="140"><span class="code">500</span></td>
<td class="pm-table-cell-content-wrap" data-colwidth="165"><span class="code">Error retry limit</span></td>
<td class="pm-table-cell-content-wrap" data-colwidth="454">
<p dir="ltr">Proxy Pilot reached the limit of retries trying to fetch a specific URL</p>
<p dir="ltr">You may retry your request again.</p>
</td>
</tr>
<tr>
<td class="pm-table-cell-content-wrap" data-colwidth="140"><span class="code">500</span></td>
<td class="pm-table-cell-content-wrap" data-colwidth="165"><span class="code">No proxies</span></td>
<td class="pm-table-cell-content-wrap" data-colwidth="454">
<p dir="ltr">There is currently not enough proxies in your proxy pool. This might either indicate that all proxies are in cooldown, or if the geo-targeting header is specified &#8211; it might also indicate that there are no proxies for such region in your proxy pool.</p>
<p dir="ltr">Either retry your request again or check if the specified geo-targeting header matches the available proxies in your proxy pool. Read here for more information about <a href="#what-it-is-and-is-not">What Proxy Pilot Is, and Is Not here</a>.</p>
</td>
</tr>
</tbody>
</table>
</div>
<hr />
<div class="icon">
<h3 id="How-do-retries-work?-Are-you-doing-the-scraping-on-my-behalf?" dir="ltr">How do Retries Work? Are You doing the Scraping on My Behalf?</h3>
<p dir="ltr">This question is a common one given the intricacies of what’s going on in the solution. The simple answer:  no, we are not scraping on your behalf.</p>
<p dir="ltr">When the following flow happens:</p>
<ol>
<li dir="ltr">
<p dir="ltr">You send a request to scrape domain.com to Proxy Pilot gateway</p>
</li>
<li dir="ltr">
<p dir="ltr">Proxy Pilot forwards your request to proxyA</p>
</li>
<li dir="ltr">
<p dir="ltr">proxyA returns a banned HTML page back to Proxy Pilot</p>
</li>
<li dir="ltr">
<p dir="ltr">Proxy Pilot sees this is a ban, and then sends this same request to proxyB</p>
</li>
<li dir="ltr">
<p dir="ltr">proxyB returns a successful HTML page to Proxy Pilot</p>
</li>
<li dir="ltr">
<p dir="ltr">Proxy Pilot returns the successful HTML back to you (the user)</p>
</li>
</ol>
<p dir="ltr">… on step #4 we have a common question which asks whether or not we are using our server resources to do the scraping, or if your server compute resources are doing the scraping. The answer is that your server is still doing the act of the scraping.</p>
<p dir="ltr">The best way to think about it is when your internet disconnects midway through a connection to a website and your browser shows you a longer-than-usual “Loading” symbol as your internet attempts to do a retry. This is mostly what is happening with Proxy Pilot:  as it makes retries on your behalf, your software is keeping the connection tunnel open while it waits for a response from Proxy Pilot.</p>
<p dir="ltr">The compute consumption is actually happening on Proxy Pilot by resending the exact same request headers and body. By resending the exact same headers and body, we have proven with extensive testing that it does not affect the results of your scraping (i.e. &#8211; if you are using Puppeteer on Chromium).</p>
<p dir="ltr">The best way to prove this yourself with Proxy Pilot:  connect to a javascript-only website (like Google Maps) with your browser. You will notice that you will be able to load the page, because javascript is still being executed by your browser while that tunnel connection is still open.</p>
<p dir="ltr">Confusing? We agree! Please sign up for Proxy Pilot and we’re happy to give you free proxies to trial it out.</p>
<hr />
<h2 id="general-troubleshooting-for-proxy-pilot" class="heading">General Troubleshooting for Proxy Pilot</h2>
<p dir="ltr">In this article we will discuss some steps you can take to help troubleshoot any unexpected issues when trying to use your proxies via Proxy Pilot. As a reminder, Proxy Pilot is a tool<span dir="ltr"> that relies on proper configurations by the end user in order to work properly. If you set bad headers or cookies, use bad proxies, or so forth, then you will get poor results nonetheless.</span></p>
<p dir="ltr"><span dir="ltr">At the core of web scraping, if you cannot load a request on your browser, using your home/work IP address, then it is unlikely you will be able to scrape a page using software + a proxy source. </span></p>
<p dir="ltr">There are many ways to detect scraping software (see <a href="https://amiunique.org/" target="_blank" rel="nofollow noopener">example1</a> and <a href="https://github.com/fingerprintjs/fingerprintjs" target="_blank" rel="nofollow noopener">example2</a>), so the more customization you add to loading a website (your software + proxies), the greater your footprint will be, and the easier it will be to detect you.</p>
<p dir="ltr"><span dir="ltr">If you do not wish to worry about such anti-scraping battles, please consider our API at: </span><a href="https://scrapingrobot.com/api/" target="_blank" rel="nofollow noopener">https://scrapingrobot.com/api/</a><span dir="ltr">  </span><span dir="ltr">Our Scraping Robot API was built to solve this exact issue:  allowing you to focus on your core business, instead of fighting with anti-scraping technologies.</span></p>
<p dir="ltr">If you wish to manage your own proxies, use developer resources, and pay for server compute power, then using Proxy Pilot will help (but not solve!) with some of these common scraping issues for you.</p>
<hr />
<h3 dir="ltr">Example of Bad vs Good Scraping Requests</h3>
<p dir="ltr">Below you will find an example of a very bad scraping request to Amazon (or any site, really). Proxy Pilot's role is not to solve these bad requests &#8211; it is still on the developer's code to send good requests to avoid being banned.</p>
<p dir="ltr">curl -s &#8216;<a href="https://www.amazon.com/dp/B07HNW68ZC/" target="_blank" rel="nofollow noopener">https://www.amazon.com/dp/B07HNW68ZC/</a>&#8216; \</p>
<p dir="ltr">     -x &#8216;PROXY_LOGIN:PROXY_PASS@PROXY_IP:PROXY_PORT' \</p>
<p dir="ltr">     -k &#8211;compressed -v</p>
<p dir="ltr"><span dir="ltr">The reason the above code would result in a ban is not because of Proxy Pilot, or even your proxies, but rather it is because normal browser requests would have more headers set in the request. Specifically, Amazon checks that the request has at least &#8216;User-Agent' header, and no matter which proxies you're running this request from &#8211; it would most likely get blocked.</span></p>
<p dir="ltr"><span dir="ltr">By simply adding user-agent to your request you can significantly decrease ban rates for your request:</span></p>
<p dir="ltr">curl -s &#8216;<a href="https://www.amazon.com/dp/B07HNW68ZC/" target="_blank" rel="nofollow noopener">https://www.amazon.com/dp/B07HNW68ZC/</a>&#8216; \</p>
<p dir="ltr">     -H &#8216;User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36' \</p>
<p dir="ltr">     -x &#8216;PROXY_LOGIN:PROXY_PASS@PROXY_IP:PROXY_PORT' \</p>
<p dir="ltr">     -k &#8211;compressed -v</p>
<hr />
<h3 dir="ltr">Tip #1:  Replicate Your Request in a Browser to Confirm It Works There First</h3>
<p dir="ltr">Description:<span dir="ltr">  As mentioned above, the best way to know if it’s your software causing issues would be to run your request via a browser on your local machine. Because your local machine will be a pure “residential IP”, and a browser is not customized software, you will then be able to successfully load all pages. However, if you cannot load a page in your browser using the steps below, then it means you are passing incorrect headers or cookies to the target URL and would need to debug on your side to find the proper headers/cookies.</span></p>
<p dir="ltr"><strong>Steps to troubleshoot:</strong></p>
<ol>
<li dir="ltr">
<p dir="ltr">Open a Chrome incognito tab and make sure you clear the cookies<br />
As most scraping software starts with no previous browsing history and no cookies &#8211; it’s best to do it this way to replicate how your software would work</p>
</li>
<li dir="ltr">
<p dir="ltr">Replicate the URL you're going to scrape by just pasting it into the address field</p>
</li>
<li dir="ltr">
<p dir="ltr"><span dir="ltr">Make sure it loads as expected. If it fails &#8211; you should take this into consideration when designing your scraping software</span><br />
<span dir="ltr">In some cases the site might ban you even at this step simply because you have no previous browsing history (and no cookies). </span></p>
</li>
<li dir="ltr">
<p dir="ltr"><span dir="ltr">In Chrome Dev Tools open a network tab and check the first request (it will likely have a &#8216;document' type). Check that the URL of that request matches the one you just made, and then right-click and choose &#8216;Copy as cURL'</span><br />
The cURL sent by a browser should appear in your clipboard and would look something like this:<br />
curl &#8216;<a href="https://www.amazon.com/gp/product/B08F7PTF53/" target="_blank" rel="nofollow noopener">https://www.amazon.com/gp/product/B08F7PTF53/</a>&#8216; \<br />
-H &#8216;authority: <a href="http://www.amazon.com/" target="_blank" rel="nofollow noopener">www.amazon.com</a>&#8216; \<br />
-H &#8216;sec-ch-ua: &#8221; Not;A Brand&#8221;;v=&#8221;99&#8243;, &#8220;Google Chrome&#8221;;v=&#8221;91&#8243;, &#8220;Chromium&#8221;;v=&#8221;91&#8243;&#8216; \<br />
-H &#8216;sec-ch-ua-mobile: ?0' \<br />
-H &#8216;upgrade-insecure-requests: 1' \<br />
-H &#8216;user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36' \<br />
-H &#8216;accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9' \<br />
-H &#8216;sec-fetch-site: none' \<br />
-H &#8216;sec-fetch-mode: navigate' \<br />
-H &#8216;sec-fetch-user: ?1' \<br />
-H &#8216;sec-fetch-dest: document' \<br />
-H &#8216;accept-language: en-US,en;q=0.9' \<br />
&#8211;compressed</p>
</li>
</ol>
<p dir="ltr">Note how many headers the browser sends even from an incognito mode. With cookies the request can easily be several times bigger.</p>
<p dir="ltr">Note: cURL is provided by default with macOS and most Linux distributions, as well as the latest Windows 10 updates.</p>
<p dir="ltr">In case you are running an older version of Windows you can install curl from their <a href="https://curl.se/download.html" target="_blank" rel="nofollow noopener">official site</a>.</p>
<hr />
<h3 dir="ltr">Tip #2:  Replicate the Same Request from the Browser Via Proxy Pilot</h3>
<p dir="ltr">Description: <span dir="ltr">After step #4 in the previous tip you should have a perfect cURL request with a perfect set of headers which you might try to replicate via the Proxy Pilot, by simply adding to this cURL request parameter: </span> -x &#8216;PROXY_LOGIN:PROXY_PASS@PROXY_IP:PROXY_PORT' -v -k</p>
<p dir="ltr">with the PP credentials provided to you earlier. This would send the same request via PP.</p>
<p dir="ltr">You might also consider adding parameters<br />
-o test.html<br />
This would save results into a test.html page, so you can open it with a browser and see it’s content to make sure it’s working properly.<br />
<span dir="ltr">If it returns a proper content at this stage &#8211; this means PP works fine and takes care of managing proxies, doing retries if it’s banned via some proxy, etc.</span></p>
<p dir="ltr">In case the request works directly (without setting Proxy Pilot via -x flag), but stops working via Proxy Pilot &#8211; please inform us about that and let us know which curl request you were sending</p>
<hr />
<h3 dir="ltr"><span dir="ltr">Tip #3:  Replicate the Same Behavior Via Your Software</span></h3>
<p dir="ltr">Description:<span dir="ltr"> Once you’ve tested your request via the browser and via the Proxy Pilot &#8211; you can apply this to your own scraping software. The integration with Proxy Pilot is almost as simple as using regular proxies for data scraping. More details and some code examples for different languages and frameworks can be found <a href="http://bit.ly/proxypilot" target="_blank" rel="nofollow noopener">here</a>. </span></p>
<p dir="ltr"><span dir="ltr">Please note, that if while integrating the same request which worked via cURL stops working with your software, the most possible reason is a set of headers. Many sites implement really sophisticated anti-scraping solutions which might take into account not only cookies, user-agents, but also a specific order of headers, compressing algorithms and specific browser market share (i.e. Chrome v41 is rarely used, so sending this via user-agent would look suspicious for the target site)</span></p>
<hr />
</div>
</div>
<div>
<h4 id="references" class="ftwp-heading">References,</h4>
</div>
<ul>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000264080-what-is-proxy-pilot-" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000264080-what-is-proxy-pilot-</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000264081-proxy-pilot-setup-instructions" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000264081-proxy-pilot-setup-instructions</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000264085-using-python-requests-with-proxy-pilot" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000264085-using-python-requests-with-proxy-pilot</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000264083-using-node-js-requests-with-proxy-pilot" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000264083-using-node-js-requests-with-proxy-pilot</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000264084-using-node-js-puppeteer-with-proxy-pilot" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000264084-using-node-js-puppeteer-with-proxy-pilot</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000264086-using-curl-with-proxy-pilot" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000264086-using-curl-with-proxy-pilot</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000264087-using-firefox-with-proxy-pilot" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000264087-using-firefox-with-proxy-pilot</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000264203-general-troubleshooting-for-proxy-pilot" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000264203-general-troubleshooting-for-proxy-pilot</a></li>
</ul>
<hr />
<blockquote><p><strong>Disclaimer</strong>: This part of the content is mainly from the merchant. If the merchant does not want it to be displayed on my website, please <a href="https://www.proxysp.com/contact-us/">contact us</a> to delete your content.</p></blockquote>
]]></content:encoded>
					
					<wfw:commentRss>https://proxysp.com/proxy-pilot/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7668</post-id>	</item>
		<item>
		<title>BlazingSEO Proxies Troubleshooting (Manuals by Blazing SEO)</title>
		<link>https://proxysp.com/blazingseo-proxies-troubleshooting/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=blazingseo-proxies-troubleshooting</link>
					<comments>https://proxysp.com/blazingseo-proxies-troubleshooting/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
				<category><![CDATA[BlazingSEO Proxies]]></category>
		<guid isPermaLink="false">https://www.proxysp.com/?p=7666</guid>

					<description><![CDATA[Are you having trouble using BlazingSEO? This article will tell you how to troubleshoot BlazingSEO Proxies. Why Are My Proxies Not Working? This article addresses: Proxies &#8230;<p class="read-more"> <a class="ast-button" href="https://proxysp.com/blazingseo-proxies-troubleshooting/"> <span class="screen-reader-text">BlazingSEO Proxies Troubleshooting (Manuals by Blazing SEO)</span> Read More &#187;</a></p>]]></description>
										<content:encoded><![CDATA[<blockquote><p>Are you having trouble using BlazingSEO? This article will tell you how to troubleshoot BlazingSEO Proxies.</p></blockquote>
<h2 class="heading">Why Are My Proxies Not Working?</h2>
<p>This article addresses:</p>
<ul>
<li>Proxies not showing up in your proxy dashboard</li>
<li>Dead Proxies</li>
</ul>
<p>NOTE: There is a difference between the proxies actually being completely dead (not loading any websites at all), and the proxies being blocked by a particular website, but not ‘dead’.</p>
<h3><strong>Steps to Diagnose Proxy Issues:</strong></h3>
<p><strong>1. Is your PC/Device IP authorized in the proxy dashboard?</strong></p>
<p>This can be checked following this article: <a href="https://www.proxysp.com/how-to-use-blazingseo-proxies/#how-do-i-authorize-my-proxies" target="_blank" rel="noopener">How do I authorize my proxies?</a></p>
<p dir="ltr">Additionally, you go to the browser and access <a href="https://whatismyip.com/" target="_blank" rel="nofollow noopener">whatismyip.com</a> to verify what your IP address is.  (Taking a screen capture of this so that you can send that in with a support ticket if you proceed to the other steps but still have issues, would be helpful.)</p>
<p>Once you confirm that your IPs are authorized and you’ve waited 30 minutes for authorization to complete, then continue to step 2.</p>
<hr />
<p><strong>2. Are all proxies loaded into your account dashboard?</strong></p>
<p>If <strong>yes</strong>, then proceed to step 3</p>
<p>If <strong>no</strong>, it is possible that we are temporarily out of stock for the location(s) you selected. This does not happen often, but it can occur if we recently received an unexpectedly large order. We typically have new stock within 24-48 hours, so if that time frame is acceptable for you then hold tight! We’ll add them to your account as soon as they are replenished.</p>
<p>However, if your needs are more urgent, then you should change your locations to ‘mixed’ in the Location Preferences tab in the proxy dashboard. Setting to Mixed location will provide better subnet diversity, which is the best thing when connecting to websites. You will spread across more ISPs, ASNs, and A+B+C class subnets.</p>
<p>Your proxies will all load within 5-10 minutes, and you’ll be back in business in less time than it takes to run out for a Big Mac and fries.</p>
<p><strong>3. Do your proxies access other websites, but not your preferred website?</strong></p>
<p>Great news!  Your proxies are not dead. Unfortunately, this means that you may have a more challenging problem for your use case: The website you are trying to access with your proxies is banning or blocking them for some reason. Please read <a href="https://www.proxysp.com/how-to-use-blazingseo-proxies/#why-are-my-proxies-not-working-on-some-sites" target="_blank" rel="noopener">this article</a> on what to do when proxies do now work on all websites.</p>
<p>We also offer one free replacement of IPs every 30 days, which you can learn more about in the knowledge base article about replacing proxies.</p>
<p><strong>4. I’ve replaced my proxies, but they still aren’t working on my preferred website!</strong></p>
<p>Unfortunately, if a website is blocking the proxies from accessing their site because of their site security, yet the proxy still works on other sites, then there is little we can do with that particular proxy.</p>
<p>But wait &#8211; you have more options!  You can try different proxy locations, various types of proxies (e.g. switch from semi-dedicated to dedicated, give IPv6 a whirl, or go big and get a premium proxy).</p>
<hr />
<div class="icon">
<div class="icon">
<h2 class="heading">How Can I Check to See If a Proxy Is Blocked from a Certain Website?</h2>
<p>You can 100% confirm if a proxy is blocked from a website by following this guide.</p>
<p>First, you should ensure that your proxies are setup properly, and that you are using the correct port, or username/password for the proxies with the article.</p>
<p>Once you've completed that, you will be able to proceed below.</p>
<p>There are two methods. One with Chrome, and one with Firefox. Please follow the method that applies to you.</p>
<hr />
<p><strong>Chrome:</strong></p>
<p>Open Chrome, and click on the 3 dots in the upper right corner</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-7944" src="https://www.proxysp.com/wp-content/uploads/2021/09/BlazingSEO-Check-with-Chrome1.jpg" alt="BlazingSEO Check with Chrome1" width="900" height="289" srcset="https://proxysp.com/wp-content/uploads/2021/09/BlazingSEO-Check-with-Chrome1.jpg 1000w, https://proxysp.com/wp-content/uploads/2021/09/BlazingSEO-Check-with-Chrome1-300x96.jpg 300w, https://proxysp.com/wp-content/uploads/2021/09/BlazingSEO-Check-with-Chrome1-768x247.jpg 768w" sizes="(max-width: 900px) 100vw, 900px" /></p>
<p>Select &#8216;Settings' in menu</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-7945" src="https://www.proxysp.com/wp-content/uploads/2021/09/BlazingSEO-Check-with-Chrome2.jpg" alt="BlazingSEO Check with Chrome2" width="729" height="321" srcset="https://proxysp.com/wp-content/uploads/2021/09/BlazingSEO-Check-with-Chrome2.jpg 868w, https://proxysp.com/wp-content/uploads/2021/09/BlazingSEO-Check-with-Chrome2-300x132.jpg 300w, https://proxysp.com/wp-content/uploads/2021/09/BlazingSEO-Check-with-Chrome2-768x338.jpg 768w" sizes="(max-width: 729px) 100vw, 729px" /></p>
<p>Scroll to bottom of Settings page, and select &#8216;Advanced'</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-7946" src="https://www.proxysp.com/wp-content/uploads/2021/09/BlazingSEO-Check-with-Chrome3.jpg" alt="BlazingSEO Check with Chrome3" width="728" height="298" srcset="https://proxysp.com/wp-content/uploads/2021/09/BlazingSEO-Check-with-Chrome3.jpg 956w, https://proxysp.com/wp-content/uploads/2021/09/BlazingSEO-Check-with-Chrome3-300x123.jpg 300w, https://proxysp.com/wp-content/uploads/2021/09/BlazingSEO-Check-with-Chrome3-768x314.jpg 768w" sizes="(max-width: 728px) 100vw, 728px" /></p>
<p>Scroll to bottom of Advanced section, and select &#8216;Open proxy settings'</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-7947" src="https://www.proxysp.com/wp-content/uploads/2021/09/BlazingSEO-Check-with-Chrome4.png" alt="BlazingSEO Check with Chrome4" width="724" height="378" srcset="https://proxysp.com/wp-content/uploads/2021/09/BlazingSEO-Check-with-Chrome4.png 933w, https://proxysp.com/wp-content/uploads/2021/09/BlazingSEO-Check-with-Chrome4-300x157.png 300w, https://proxysp.com/wp-content/uploads/2021/09/BlazingSEO-Check-with-Chrome4-768x401.png 768w" sizes="(max-width: 724px) 100vw, 724px" /></p>
<p>Select the &#8216;LAN settings' button on next window</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-7948" src="https://www.proxysp.com/wp-content/uploads/2021/09/BlazingSEO-Check-with-Chrome5.jpg" alt="BlazingSEO Check with Chrome5" width="525" height="485" srcset="https://proxysp.com/wp-content/uploads/2021/09/BlazingSEO-Check-with-Chrome5.jpg 702w, https://proxysp.com/wp-content/uploads/2021/09/BlazingSEO-Check-with-Chrome5-300x277.jpg 300w" sizes="(max-width: 525px) 100vw, 525px" /></p>
<p>You will then click the checkbox stating &#8216;Use a proxy server&#8230;'</p>
<p>You may then enter your proxy IP, port, and click OK</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-7949" src="https://www.proxysp.com/wp-content/uploads/2021/09/BlazingSEO-Check-with-Chrome6.jpg" alt="BlazingSEO Check with Chrome6" width="766" height="387" srcset="https://proxysp.com/wp-content/uploads/2021/09/BlazingSEO-Check-with-Chrome6.jpg 989w, https://proxysp.com/wp-content/uploads/2021/09/BlazingSEO-Check-with-Chrome6-300x152.jpg 300w, https://proxysp.com/wp-content/uploads/2021/09/BlazingSEO-Check-with-Chrome6-768x388.jpg 768w" sizes="(max-width: 766px) 100vw, 766px" /></p>
<p>To confirm that your proxy is loaded into the browser, go to google and type &#8216;my ip'. The proxy IP should show</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-7950" src="https://www.proxysp.com/wp-content/uploads/2021/09/BlazingSEO-Check-with-Chrome7.jpg" alt="BlazingSEO Check with Chrome7" width="794" height="302" srcset="https://proxysp.com/wp-content/uploads/2021/09/BlazingSEO-Check-with-Chrome7.jpg 983w, https://proxysp.com/wp-content/uploads/2021/09/BlazingSEO-Check-with-Chrome7-300x114.jpg 300w, https://proxysp.com/wp-content/uploads/2021/09/BlazingSEO-Check-with-Chrome7-768x292.jpg 768w" sizes="(max-width: 794px) 100vw, 794px" /></p>
<p>If your proxy IP shows up in google, you can then try loading your preferred website. If it loads, then your proxy is most likely not blocked.</p>
<ul>
<li><em>To remove proxy, just reverse the steps above.</em></li>
</ul>
<p>We have a video showing how to complete this with IP authorization</p>
<div class="su-youtube su-u-responsive-media-yes"><iframe loading="lazy" width="600" height="400" src="https://www.youtube.com/embed/XO-Qj_jgdKM?" frameborder="0" allowfullscreen allow="autoplay; encrypted-media; picture-in-picture" title=""></iframe></div>
<p>We have a video showing how to complete this with Username/Password authorization</p>
<div class="su-youtube su-u-responsive-media-yes"><iframe loading="lazy" width="600" height="400" src="https://www.youtube.com/embed/0mzVhOCOHZ8?" frameborder="0" allowfullscreen allow="autoplay; encrypted-media; picture-in-picture" title=""></iframe></div>
<hr />
<p><strong>Firefox:</strong></p>
<p>Open Firefox, and click on the 3 bars in the upper right corner</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-7953" src="https://www.proxysp.com/wp-content/uploads/2021/09/BlazingSEO-Check-with-Firefox-1.jpg" alt="BlazingSEO Check with Firefox 1" width="306" height="500" srcset="https://proxysp.com/wp-content/uploads/2021/09/BlazingSEO-Check-with-Firefox-1.jpg 306w, https://proxysp.com/wp-content/uploads/2021/09/BlazingSEO-Check-with-Firefox-1-184x300.jpg 184w" sizes="(max-width: 306px) 100vw, 306px" /></p>
<p>Select &#8216;Options' in menu</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-7954" src="https://www.proxysp.com/wp-content/uploads/2021/09/BlazingSEO-Check-with-Firefox-2.jpg" alt="BlazingSEO Check with Firefox 2" width="278" height="500" srcset="https://proxysp.com/wp-content/uploads/2021/09/BlazingSEO-Check-with-Firefox-2.jpg 278w, https://proxysp.com/wp-content/uploads/2021/09/BlazingSEO-Check-with-Firefox-2-167x300.jpg 167w" sizes="(max-width: 278px) 100vw, 278px" /></p>
<p>Scroll to bottom of Options page, and select &#8216;Settings'</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-7955" src="https://www.proxysp.com/wp-content/uploads/2021/09/BlazingSEO-Check-with-Firefox-3.jpg" alt="BlazingSEO Check with Firefox 3" width="694" height="159" srcset="https://proxysp.com/wp-content/uploads/2021/09/BlazingSEO-Check-with-Firefox-3.jpg 843w, https://proxysp.com/wp-content/uploads/2021/09/BlazingSEO-Check-with-Firefox-3-300x69.jpg 300w, https://proxysp.com/wp-content/uploads/2021/09/BlazingSEO-Check-with-Firefox-3-768x176.jpg 768w" sizes="(max-width: 694px) 100vw, 694px" /></p>
<p>On next window, select the &#8216;Manual proxy configuration bubble'</p>
<p>You will then enter the proxy IP into the HTTP Proxy area</p>
<p>Then enter the proxy port into the port blank</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-7957" src="https://www.proxysp.com/wp-content/uploads/2021/09/BlazingSEO-Check-with-Firefox-5.jpg" alt="BlazingSEO Check with Firefox 5" width="539" height="500" srcset="https://proxysp.com/wp-content/uploads/2021/09/BlazingSEO-Check-with-Firefox-5.jpg 539w, https://proxysp.com/wp-content/uploads/2021/09/BlazingSEO-Check-with-Firefox-5-300x278.jpg 300w" sizes="(max-width: 539px) 100vw, 539px" /></p>
<p>Make sure this box is checked</p>
<p>To confirm that your proxy is loaded into the browser, go to google and type &#8216;my ip'. The proxy IP should show</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-7958" src="https://www.proxysp.com/wp-content/uploads/2021/09/BlazingSEO-Check-with-Firefox-6.jpg" alt="BlazingSEO Check with Firefox 6" width="736" height="277" srcset="https://proxysp.com/wp-content/uploads/2021/09/BlazingSEO-Check-with-Firefox-6.jpg 885w, https://proxysp.com/wp-content/uploads/2021/09/BlazingSEO-Check-with-Firefox-6-300x113.jpg 300w, https://proxysp.com/wp-content/uploads/2021/09/BlazingSEO-Check-with-Firefox-6-768x289.jpg 768w" sizes="(max-width: 736px) 100vw, 736px" /></p>
<p>If your proxy IP shows up in google, you can then try loading your preferred website. If it loads, then your proxy is most likely not blocked.</p>
<ul>
<li><em>To remove proxy, just reverse the steps above. </em></li>
</ul>
<p>We have a video showing how to complete this with IP authorization</p>
<div class="su-youtube su-u-responsive-media-yes"><iframe loading="lazy" width="600" height="400" src="https://www.youtube.com/embed/bTipqNk11SQ?" frameborder="0" allowfullscreen allow="autoplay; encrypted-media; picture-in-picture" title=""></iframe></div>
<p>We have a video showing how to complete this with Username/Password authorization</p>
<div class="su-youtube su-u-responsive-media-yes"><iframe loading="lazy" width="600" height="400" src="https://www.youtube.com/embed/iIT3pGLeHMw?" frameborder="0" allowfullscreen allow="autoplay; encrypted-media; picture-in-picture" title=""></iframe></div>
<hr />
<h2 class="heading">What Are Virgin/24 C Block IPs?</h2>
<article id="article-body" class="article-body">Virgin/24 C Block Proxies are proxies that are only used by one single person, on a subnet that is entirely only used by them on proxies that have been located to not have been used by anyone else previously. Which is why they are called &#8220;Virgin&#8221;. The whole subnet is completely dedicated to you, allowing full control, and extreme reliability.<strong>Advantages:</strong></p>
<ul>
<li>Entire subnet dedicated to you</li>
<li>Full control over quality of traffic that is sent through proxies</li>
<li>Extreme vetting process to ensure that the quality of the IP blocks remains long term.</li>
<li>Denoted usage to ensure maximum control over any potential abusive activity.</li>
<li>It hides your IP(or MAC) address while adding security and protecting your privacy.</li>
<li>Private proxies deliver fully anonymous surfing on the internet. It is important to remember that you leave a digital footprint in the form of your IP address when using the web. This means that almost anyone can see you on-line, including hackers and spammers. A private proxy server can almost guarantee your IP address will be invisible.</li>
<li>Higher speed since no one else is working with the same proxy.</li>
<li>Ability to bypass filters and firewalls since a private proxy server can circumvent these types of blocked websites.</li>
<li>Ability to unblock numerous applications and bypass numerous internet restrictions (i.e. unblock You-Tube, Facebook, Twitter at work or school where the “IT administrator” has restricted your access to these and similar sites).</li>
<li>Protect privacy for minimal worry about your personal information being exposed or compromised when you make purchases or surf on the web.</li>
<li>Deliver a higher level of security on internet since a private proxy provides a unique internet address dedicated to only you.</li>
<li>Avoid and block spam successfully.</li>
<li>Get around geographic restrictions (Restricted content based on country).</li>
</ul>
<p>These proxies are best used for any purpose as needed. The proxies will not rotate monthly unless specifically requested.</p>
<p>We are unable to provide less than 256 because that would mean that multiple users could be in control of the subnet, increasing the risk for the whole subnet to get blocked by websites by one of the users.</p>
<p><strong>Typical Uses of Dedicated Proxies:</strong></p>
<p>Social Media<br />
Games<br />
Account Creation/Use<br />
General Browsing<br />
SEO</p>
<p><strong>Locations:</strong></p>
<p>USA &#8211; Los Angeles</p>
<hr />
<h2>Can My ISP See that I'm Using a Proxy or Block it?</h2>
<p>We enforce high level proxy anonymity protocol to ensure that your IP does not leak out. Your ISP will not recognize our proxy IP usage.</p>
<hr />
<h2>Why am I Continuously Prompted for Username/Password?</h2>
<p>IP authorization uses port 3128. If you have incorrectly set the proxy’s port to 4444 (which is for username/password authorization), the proxies will continuously prompt you for the username/password. Please make sure to set the correct authorization method on your proxy DASHBOARD. If you chose IP authorization, the proxy dashboard should be set to IP authorization accordingly. Be sure you have properly authorized your IP in your dashboard. You can simply follow this video guide below.</p>
<div class="su-youtube su-u-responsive-media-yes"><iframe loading="lazy" width="600" height="400" src="https://www.youtube.com/embed/Q-NSzU1GDp8?" frameborder="0" allowfullscreen allow="autoplay; encrypted-media; picture-in-picture" title=""></iframe></div>
<p>Otherwise, if the proxy dashboard is set for username/password authorization, and if you configure your proxies to use port 3128 for IP authorization, the proxies will continuously prompt you for the username/password, as the proxies will follow your proxy dashboard’s settings.</p>
<hr />
<h2><strong>What Should I do If My</strong> Proxy<strong> Is Banned?</strong></h2>
<p>We provide free proxy replacements in which you may use to replace the banned proxy IP. Kindly login to your proxy DASHBOARD and browse to the “Proxy Replacements” tab, and replace the proxy IP that you find unsuitable for your usage. Once replaced, our system will assign a new proxy IP as a replacement. You can also follow this video guide below on how to replace your proxies within your dashboard.</p>
<div class="su-youtube su-u-responsive-media-yes"><iframe loading="lazy" width="600" height="400" src="https://www.youtube.com/embed/oxL8OAxPeRQ?" frameborder="0" allowfullscreen allow="autoplay; encrypted-media; picture-in-picture" title=""></iframe></div>
<p>DISCLAIMER: Each replacement will use a single proxy replacement credit. If you purchased 10 proxies, you are entitled to 10 proxy replacements per billing cycle. The replacement credit will be replenished on the next billing cycle. Kindly use the replacements cautiously, as we are unable to replenish the credit manually.</p>
</article>
<hr />
</div>
</div>
<div>
<h4 id="references" class="ftwp-heading">References,</h4>
</div>
<ul>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000256628-why-are-my-proxies-not-working-" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000256628-why-are-my-proxies-not-working-</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000256603-how-can-i-check-to-see-if-a-proxy-is-blocked-from-a-certain-website" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000256603-how-can-i-check-to-see-if-a-proxy-is-blocked-from-a-certain-website</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000256611-what-are-virgin-24-c-block-ips" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000256611-what-are-virgin-24-c-block-ips</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000262802-can-my-isp-see-that-i-m-using-a-proxy-or-block-it-" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000262802-can-my-isp-see-that-i-m-using-a-proxy-or-block-it-</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000262806-why-am-i-continuously-prompted-for-username-password" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000262806-why-am-i-continuously-prompted-for-username-password</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000263276-what-should-i-do-if-my-proxy-is-banned-" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000263276-what-should-i-do-if-my-proxy-is-banned-</a></li>
</ul>
<hr />
<blockquote><p><strong>Disclaimer</strong>: This part of the content is mainly from the merchant. If the merchant does not want it to be displayed on my website, please <a href="https://www.proxysp.com/contact-us/">contact us</a> to delete your content.</p></blockquote>
]]></content:encoded>
					
					<wfw:commentRss>https://proxysp.com/blazingseo-proxies-troubleshooting/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7666</post-id>	</item>
		<item>
		<title>Residential Proxies (By BlazingSEO) : Learn Manuals Before You Buy</title>
		<link>https://proxysp.com/residential-proxies-blazingseo/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=residential-proxies-blazingseo</link>
					<comments>https://proxysp.com/residential-proxies-blazingseo/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
				<category><![CDATA[BlazingSEO Proxies]]></category>
		<guid isPermaLink="false">https://www.proxysp.com/?p=7665</guid>

					<description><![CDATA[What do you know about Blazing SEO residential proxies? Do you know how to set up them? Be sure to read this article before you buy! &#8230;<p class="read-more"> <a class="ast-button" href="https://proxysp.com/residential-proxies-blazingseo/"> <span class="screen-reader-text">Residential Proxies (By BlazingSEO) : Learn Manuals Before You Buy</span> Read More &#187;</a></p>]]></description>
										<content:encoded><![CDATA[<blockquote><p>What do you know about Blazing SEO residential proxies? Do you know how to set up them? Be sure to read this article before you buy!</p></blockquote>
<h2 class="heading">Does Blazing SEO Offer Residential Proxies?</h2>
<p dir="ltr">Residential proxies are currently in open beta testing. At present, we offer premium Datacenter proxies, and we’ll have ethically supported residential proxies very soon.</p>
<p dir="ltr"><span dir="ltr">It’s important to us to deliver the highest quality residential proxies with thoughtful ethical practices. Unfortunately, many residential proxy providers are providing IPs that are unethically sold and resold without explicit consent from the source. Not only is this shady business, but it also puts the user’s IP at risk when using these services. </span></p>
<p dir="ltr"><span dir="ltr">That’s why we strive to hold our products and services to a higher standard&#8211;it’s more fair, it’s legal, and everyone benefits from ethical residential proxy practices.</span></p>
<hr />
<h2 class="heading">Residential Proxies Setup Guide</h2>
<p dir="ltr">Welcome to the Blazing SEO Rotating Residential beta program! To start using your rotating residential proxies, just follow the instructions for your programming language of choice to install our proxy controller software:</p>
<ul>
<li dir="ltr"><a href="https://www.proxysp.com/proxy-pilot/#programming-language-implementations" target="_blank" rel="noopener">Node.js (Requests)</a></li>
<li dir="ltr"><a href="https://www.proxysp.com/proxy-pilot/#programming-language-implementations" target="_blank" rel="noopener">Node.js with Puppeteer</a></li>
<li dir="ltr"><a href="https://www.proxysp.com/proxy-pilot/#programming-language-implementations" target="_blank" rel="noopener">Curl</a></li>
<li dir="ltr"><a href="https://www.proxysp.com/proxy-pilot/#programming-language-implementations" target="_blank" rel="noopener">Python (Requests)</a></li>
<li dir="ltr"><a href="https://www.proxysp.com/proxy-pilot/#programming-language-implementations" target="_blank" rel="noopener">Firefox Browser</a></li>
</ul>
<p dir="ltr">Need instructions for a language that’s not listed above? Reach out to your account manager. For details, see <a href="https://www.proxysp.com/proxy-pilot/" target="_blank" rel="noopener">Proxy Pilot</a>.</p>
<hr />
<h3 dir="ltr"><strong>What Am I Installing?</strong></h3>
<p dir="ltr">Proxy Pilot is Blazing SEO’s brand new, 100% free proxy management application which comes with many benefits for the residential proxy user such as yourself.</p>
<p dir="ltr">To use our proxies you need to add a line of code to your software to “ignore” a certificate warning (recommended option), or install our secure certificate on your server. This certificate allows us to intercept your traffic and decrypt it, which emulates a man-in-the-middle-attack with your connection.</p>
<p dir="ltr">This certificate then stores your data insights in the powerful <a href="https://www.elastic.co/what-is/elk-stack" target="_blank" rel="noopener">ELK stack</a>, fully accessible by you and your team. You’ll be able to see data like the list below, and much more:</p>
<ul>
<li dir="ltr">How many connections were sent to domain.com?</li>
<li dir="ltr">How many non-200 HTTP response codes?</li>
<li dir="ltr">How much bandwidth have I consumed?</li>
<li dir="ltr">How many total connections in the past 7 days?</li>
<li dir="ltr">How much bandwidth on a specific domain?</li>
<li dir="ltr">Look at the full header sent to the target website to understand why you may have received a non-200 HTTP response (a ban, in many cases)</li>
</ul>
<hr />
<h3 dir="ltr"><strong>Why do I Need This?</strong></h3>
<p dir="ltr">We want you to have the best possible experience with your Blazing SEO proxies, and the Proxy Pilot certificate will make your scraping project much more successful than it would be otherwise.</p>
<p dir="ltr">There are two primary reasons you must work with this certificate.</p>
<p dir="ltr"><strong>1. Improve your scraping with advanced statistics</strong></p>
<p dir="ltr">Proxy Pilot lets you access amazing statistics at your fingertips, with detail far beyond most of our users’ in-house solutions. Without such data, we believe customers are just “spraying” connections at our competitors’ pools without really knowing what’s going on or what they’re being charged for. With our solution, you will know everything!</p>
<p dir="ltr">Here are actual screenshots of the ELK dashboard you will be provided with:</p>
<p dir="ltr"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-7849" src="https://www.proxysp.com/wp-content/uploads/2021/09/ELK-dashboard-one.jpg" alt="ELK dashboard one" width="612" height="451" srcset="https://proxysp.com/wp-content/uploads/2021/09/ELK-dashboard-one.jpg 612w, https://proxysp.com/wp-content/uploads/2021/09/ELK-dashboard-one-300x221.jpg 300w" sizes="(max-width: 612px) 100vw, 612px" /></p>
<p dir="ltr"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-7850" src="https://www.proxysp.com/wp-content/uploads/2021/09/ELK-dashboard-two.jpg" alt="ELK dashboard two" width="616" height="337" srcset="https://proxysp.com/wp-content/uploads/2021/09/ELK-dashboard-two.jpg 616w, https://proxysp.com/wp-content/uploads/2021/09/ELK-dashboard-two-300x164.jpg 300w" sizes="(max-width: 616px) 100vw, 616px" /></p>
<p dir="ltr">And in <a href="https://screencast-o-matic.com/watch/crhwXNVhrBQ" target="_blank" rel="nofollow noopener">this ten-minute video</a>, our VP of Technology shows the wide array of benefits you get from installing our simple certificate.</p>
<hr />
<p dir="ltr"><strong>2. Protect our users and our proxy pool</strong></p>
<p dir="ltr">Most proxy providers cannot technologically prohibit a customer from opening a tunnel and sending 100k requests to a single device.</p>
<p dir="ltr">Blazing SEO works a little differently. We know that setting high ethical standards doesn’t just protect the pool of users who are entrusting us with their IP addresses &#8211; it also protects YOU from getting banned/blocked from a site you want to scrape.</p>
<p dir="ltr">By giving our software the insights to know about each connection being sent, we are able to ethically spread out connections to our residential devices.</p>
<div>
<hr />
<h2 class="heading">Static Residential IP ASNs</h2>
<p dir="ltr">We strive to provide the best quality IPs for all of our users. Part of this process is to provide a wider range of diverse IP pools to ensure that our customers can see the best possible results for their needs. As part of this process, we source our static residential IPs from a number of companies both large and small across the United States.</p>
<p dir="ltr">All of these IPs are true ISP proxies &#8211; some from providers you have heard of, and some from providers that you might not know.</p>
<p dir="ltr">&#8220;I didn't get IPs from Company X, so they will not work for me&#8221;</p>
<p dir="ltr">Our IPs are put through a number of large-scale tests. We personally ensure that all of our static residential IPs provide quality results across a large number of use cases. We also ensure that major IP databases see them as a residential IP address rather than a data center IP. Take a look below to see some examples from IP2location, a primary database for IP information used by many large companies.</p>
<p dir="ltr">Static Residential: <a href="https://www.ip2location.com/demo/161.77.96.3" target="_blank" rel="nofollow noopener">https://www.ip2location.com/demo/161.77.96.3</a></p>
<p dir="ltr">Static Residential: <a href="https://www.ip2location.com/demo/65.215.17.0" target="_blank" rel="nofollow noopener">https://www.ip2location.com/demo/65.215.17.0</a></p>
<p dir="ltr">Static Residential: <a href="https://www.ip2location.com/demo/50.231.88.0" target="_blank" rel="nofollow noopener">https://www.ip2location.com/demo/50.231.88.0</a></p>
<p dir="ltr">Data Center: <a href="https://www.ip2location.com/demo/104.244.100.0" target="_blank" rel="nofollow noopener">https://www.ip2location.com/demo/104.244.100.0</a></p>
<p dir="ltr">The key information we look for is the &#8220;usage type&#8221; to ensure it is not datacenter/hosting. As you can see, the static residential IPs in these demos are listed as &#8220;fixed ISP&#8221; usage types, which will signal to any sites that this is a residential IP, while the datacenter IP is flagged as a “datacenter/hosting provider” in the usage type field.</p>
<p dir="ltr">So as you can see, regardless of the size of the company, all of our static residential IPs are seen as such by the websites you are trying to access.</p>
<p>Please reach out to <a href="mailto:support@blazingseo.com" target="_blank" rel="nofollow noopener">support@blazingseo.com</a> if you have further questions about what we can offer you through static residential IPs.</p>
<p><strong><div class="su-heading su-heading-style-modern-2-orange su-heading-align-center" id="" style="font-size:30px;margin-bottom:20px"><div class="su-heading-inner">FAQs</div></div></strong></p>
<p><strong>1. Are Blazing SEO Proxies Ethically Sourced?</strong></p>
<p dir="ltr">Yes! Unlike some of their competitors who leave their sourcing methods vague and unclear, they are open and honest&#8230; as it should be.</p>
<p dir="ltr"><span dir="ltr">Blazing SEO primarily sources from their partner product <a href="http://cashraven.io/" target="_blank" rel="nofollow noopener">cashraven.io</a>. They also source from other vendors who meet their standard of ethics which requires them to compensate end users for the bandwidth sold. </span></p>
<p dir="ltr"><span dir="ltr">With CashRaven, they create a mutually agreeable contract with end-users, or developers, that provides clear and consistent messaging on &#8220;what&#8221; end users are really signing up for. They intend to hide nothing!</span></p>
<hr />
<p><strong>2. What Websites and Use Cases does Blazing SEO Allow on Their Network?</strong></p>
<p>Blazing SEO currently works most closely with data scraping companies that wish to aggregate publicly available data at scale using their residential proxy network. However, if you feel that your use case is legal and ethical, please contact support@blazingseollc.com and they would be happy to assess whether or not your use case would be allowed in our network.</p>
</div>
<div>
<hr />
<p dir="ltr"><strong>3. Does Blazing SEO Allow Geo-targeting for Certain Cities/Regions/States/Countries?</strong></p>
<p dir="ltr">As of April 23, 2021, Blazing SEO does not have this functionality built-in. However, they have it on their backlog and will be implementing it as soon as possible!<u></u></p>
<hr />
<p dir="ltr"><strong>4. How Large is Blazing SEO Proxy Pool?</strong></p>
<p dir="ltr">Blazing SEO proxy pool fluctuates in size every day. For all small to medium-sized customers, their pool is plenty large enough to solve your needs (over 100,000 IPs). For Enterprise customers looking to do very large volumes, please reach out to them and they can discuss your needs in more detail.</p>
<hr />
<p dir="ltr"><strong>5. Can I Resell Blazing SEO Residential Proxies?</strong></p>
<p dir="ltr">Blazing SEO is considering resellers on a case-by-case basis, given their commitment to an ethical ecosystem. It is their utmost priority to ensure any customer that uses their network abides by the same vetting process they do for their customers. Please reach out if you believe you would be a candidate to resell their services.</p>
<hr />
<h4 id="references" class="ftwp-heading">References,</h4>
</div>
<ul>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000256604-does-blazing-seo-offer-residential-proxies-" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000256604-does-blazing-seo-offer-residential-proxies-</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000264222-residential-proxies-setup-guide" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000264222-residential-proxies-setup-guide</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000263384-residential-proxy-faq" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000263384-residential-proxy-faq</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000264987-static-residential-ip-asns" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000264987-static-residential-ip-asns</a></li>
</ul>
<hr />
<blockquote><p><strong>Disclaimer:</strong> This part of the content is mainly from the merchant. If the merchant does not want it to be displayed on my website, please <a href="https://www.proxysp.com/contact-us/">contact us</a> to delete your content.</p></blockquote>
]]></content:encoded>
					
					<wfw:commentRss>https://proxysp.com/residential-proxies-blazingseo/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7665</post-id>	</item>
		<item>
		<title>Proxy Knowledge Base (By BlazingSEO) : Learn Manuals Before You Buy</title>
		<link>https://proxysp.com/proxy-knowledge-base-blazingseo/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=proxy-knowledge-base-blazingseo</link>
					<comments>https://proxysp.com/proxy-knowledge-base-blazingseo/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
				<category><![CDATA[BlazingSEO Proxies]]></category>
		<guid isPermaLink="false">https://www.proxysp.com/?p=7646</guid>

					<description><![CDATA[Do you want to learn what's the blazing proxies and type of proxies that offered? We take time research on Their customer support manuals, learn form &#8230;<p class="read-more"> <a class="ast-button" href="https://proxysp.com/proxy-knowledge-base-blazingseo/"> <span class="screen-reader-text">Proxy Knowledge Base (By BlazingSEO) : Learn Manuals Before You Buy</span> Read More &#187;</a></p>]]></description>
										<content:encoded><![CDATA[<blockquote><p>Do you want to learn what's the blazing proxies and type of proxies that offered? We take time research on Their customer support manuals, learn form it here,</p></blockquote>
<hr />
<h2 class="heading">What are Proxies?</h2>
<p><span style="font-size: 16px;">A proxy is an IP that forwards your internet request/data, without the websites that you are connected to, finding out your actual IP address. Proxies can be used for a wide variety of use cases which include anonymous browsing, social media, scraping, etc.</span></p>
<hr />
<h2 class="heading">What is Your Proxy Anonymity?</h2>
<p>A proxy is an IP that forwards your internet request/data, without the websites that you are connected to, finding out your actual IP address. Proxies can be used for a wide variety of use cases which include anonymous browsing, social media, scraping, etc.</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-7683 size-full" src="https://www.proxysp.com/wp-content/uploads/2021/09/check-proxy-anonymity.png" alt="check proxy anonymity" width="775" height="373" srcset="https://proxysp.com/wp-content/uploads/2021/09/check-proxy-anonymity.png 775w, https://proxysp.com/wp-content/uploads/2021/09/check-proxy-anonymity-300x144.png 300w, https://proxysp.com/wp-content/uploads/2021/09/check-proxy-anonymity-768x370.png 768w" sizes="(max-width: 775px) 100vw, 775px" /></p>
<p>&nbsp;</p>
<hr />
<h2 class="heading">How do Proxies Work and How is Ping Measured in MS?</h2>
<h3><strong>Understanding the Proxy's Network Path</strong></h3>
<p>A proxy's network path is deﬁned as your data that you send when you visit a website.</p>
<p>In order for you to &#8216;download' the website content to view on your computer, your request is sent to the website's server and then back to your home computer.</p>
<p>Unfortunately, your computer does not have a direct ethernet cable from your home computer to the website’s server, thus, network hops are required between many ISPs (POPs) to reach the end target.</p>
<p>With that in mind, your proxy's network path looks something like this:</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-7685 size-full" src="https://www.proxysp.com/wp-content/uploads/2021/09/proxy-network-path.png" alt="proxy network path" width="867" height="725" srcset="https://proxysp.com/wp-content/uploads/2021/09/proxy-network-path.png 867w, https://proxysp.com/wp-content/uploads/2021/09/proxy-network-path-300x251.png 300w, https://proxysp.com/wp-content/uploads/2021/09/proxy-network-path-768x642.png 768w" sizes="(max-width: 867px) 100vw, 867px" /></p>
<p>Based on the image above, the total time taken from sending a request to download data back to your computer when using a proxy = <strong>620 ms</strong>.</p>
<p>Now, if you remove the proxy from the equation, or move your computer closer to the proxy server, you reduce Blue's network latency (in theory).</p>
<p>Thus, customers who are experiencing slow speeds can many times be attested to the fact that they are connecting to one of our nationwide proxy servers (LA, Buﬀalo, etc), from a computer/server that is very far away (thousands of miles), which is connecting to a website that is additionally thousands of miles away &#8212; and THUS, create a latency that is noticeable.</p>
<hr />
<h2>Can My ISP See that I'm Using a Proxy or Block It?</h2>
<p>We enforce high level proxy anonymity protocol to ensure that your IP does not leak out. Your ISP will not recognize our proxy IP usage.</p>
<hr />
<h2 class="heading">What Port do Blazing SEO Proxies Use?</h2>
<p>For IP authorization, <a href="https://www.proxysp.com/blazing-seo/" target="_blank" rel="noopener">Blazing SEO proxies</a> utilize port 3128. For username/password authorization, their proxies utilize port 4444. And for <a href="https://www.proxysp.com/socks-protocol-blazingseo/">SOCKS connectivity</a>, our proxies utilize port 1080.</p>
<hr />
<h2>What Type of Proxies do BlazingSEO Provider?</h2>
<p>Now BlazingSEO offer,</p>
<ul>
<li><a href="https://www.proxysp.com/residential-proxies-blazingseo/"><strong>Residential Proxies</strong></a></li>
<li><strong><a href="https://www.proxysp.com/dedicated-proxies-blazingseo/">Dedicated IP Proxies (DC Proxies)</a></strong></li>
<li><a href="https://www.proxysp.com/dedicated-proxies-blazingseo/#what-are-rotating-proxies">Rotating Proxies</a></li>
<li><a href="https://www.proxysp.com/ipv6-proxies-blazingseo/"><strong>IPv6 Proxies</strong></a></li>
<li><a href="https://www.proxysp.com/proxy-pilot/"><strong>Proxy Pilot</strong></a></li>
<li>Mobile Proxies (developing)</li>
</ul>
<div class="icon">
<div class="icon">
<hr />
</div>
</div>
<div>
<h4 id="references" class="ftwp-heading">References,</h4>
</div>
<ul>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000262799-what-are-proxies-" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000262799-what-are-proxies-</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000256610-what-is-your-proxy-anonymity-" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000256610-what-is-your-proxy-anonymity-</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000256636-how-do-proxies-work-and-how-is-ping-measured-in-ms-" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000256636-how-do-proxies-work-and-how-is-ping-measured-in-ms-</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000262802-can-my-isp-see-that-i-m-using-a-proxy-or-block-it-" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000262802-can-my-isp-see-that-i-m-using-a-proxy-or-block-it-</a></li>
<li><a href="https://portal.blazingseollc.com/en/support/solutions/articles/64000263273-what-port-do-your-proxies-use-" target="_blank" rel="nofollow noopener">https://portal.blazingseollc.com/en/support/solutions/articles/64000263273-what-port-do-your-proxies-use-</a></li>
</ul>
<hr />
<blockquote><p><strong>Disclaimer</strong>: This part of the content is mainly from the merchant. If the merchant does not want it to be displayed on my website, please <a href="https://www.proxysp.com/contact-us/">contact us</a> to delete your content.</p></blockquote>
]]></content:encoded>
					
					<wfw:commentRss>https://proxysp.com/proxy-knowledge-base-blazingseo/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7646</post-id>	</item>
		<item>
		<title>How to Use HTML Crawler API [Part 5]: OxyLabs Real-Time Crawler for Other Sites</title>
		<link>https://proxysp.com/oxylabs-html-crawler-api/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=oxylabs-html-crawler-api</link>
					<comments>https://proxysp.com/oxylabs-html-crawler-api/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
				<category><![CDATA[How to Use OxyLabs Proxy (OxyLabs User Manual Navigation)]]></category>
		<guid isPermaLink="false">https://www.proxysp.com/?p=7636</guid>

					<description><![CDATA[Do you know how to use OxyLabs Real-time Crawler for web pages? This is the most comprehensive introduction from OxyLabs official. Quick Start HTML Crawler API &#8230;<p class="read-more"> <a class="ast-button" href="https://proxysp.com/oxylabs-html-crawler-api/"> <span class="screen-reader-text">How to Use HTML Crawler API [Part 5]: OxyLabs Real-Time Crawler for Other Sites</span> Read More &#187;</a></p>]]></description>
										<content:encoded><![CDATA[<blockquote><p>Do you know how to use OxyLabs Real-time Crawler for web pages? This is the most comprehensive introduction from OxyLabs official.</p></blockquote>
<h2 id="quick-start">Quick Start</h2>
<p>HTML Crawler API is built to help you in your heavy-duty data retrieval operations. You can use HTML Crawler API to access various public pages. It enables effortless web data extraction without any delays or errors.</p>
<p>HTML Crawler API uses <a class="custom_link" href="https://en.wikipedia.org/wiki/Basic_access_authentication" target="_blank" rel="nofollow noopener">basic HTTP authentication</a> that requires sending username and password.</p>
<p>This is by far the fastest way to start using HTML Crawler API. You will make a request to <code>https://ip.oxylabs.io</code> using <a href="#realtime">Realtime</a> integration method. Don't forget to replace <code>USERNAME</code> and <code>PASSWORD</code> with your proxy user credentials.</p>
<pre>curl --user "USERNAME:PASSWORD" 'https://realtime.oxylabs.io/v1/queries' -H "Content-Type: application/json" -d '{"source": "universal", "url": "https://ip.oxylabs.io"}'
</pre>
<p>If you have any questions not covered by this documentation, please contact your account manager or our support staff at <a class="custom_link" href="mailto:support@oxylabs.io" target="_blank" rel="nofollow noopener">support@oxylabs.io</a>.</p>
<hr />
<div class="inside-code">
<h2 id="integration-methods">Integration Methods</h2>
<p>HTML Crawler API supports three integration methods which have their unique benefits:</p>
<ul>
<li><a href="#push-pull">Push-Pull</a>. Using this method it is now required to mainain an active connection with our endpoint to retrieve the data. Upon making a request, our system is able to automatically ping users server when the job is done (see <a href="#callback">Callback</a>). This method saves computing resources and can be scaled easily.</li>
<li><a href="#realtime">Realtime</a>. The method requires user to maintain an active connection with our endpoint in order to get the results successfully when the job is completed. This method can be implemented into one service while Push-Pull method is a two step process.</li>
<li><a href="#superapi">SuperAPI</a>. This method is very similar to Realtime but instead posting data to our endpoint, user can use HTML Cralwer as a proxy. To retrieve the data, user must set up a proxy endpoint and make GET request to a desired URL. Additional parameters must be added using headers.</li>
</ul>
<p>Our recommended data extraction method is <a href="#push-pull">Push-Pull</a>.</p>
<hr />
</div>
<h3 id="push-pull">Push-Pull</h3>
<p>This is the most simple yet the most reliable and recommended data delivery method. In Push-Pull scenario you send us a query, we return you job <code>id</code>, and once the job is done you can use that <code>id</code> to retrieve content from <code>/results</code> endpoint. You can check job completion status yourself, or you can set up a simple listener that is able to accept POST queries.</p>
<p>This way, we will send you a callback message once the job is ready to be retrieved. In this particular example the results will be automatically <a href="#upload-to-storage">uploaded to your S3 bucket</a> named <code>YOUR_BUCKET_NAME</code>.</p>
<hr />
<h4 id="single-query"><strong>Single Query</strong></h4>
<p>The following endpoint will handle single queries for one keyword or URL. The API will return a confirmation message containing job information, including job <code>id</code>. You can check job completion status using that <code>id</code>, or you can ask us to ping your callback endpoint once the scraping task is finished by adding <code>callback_url</code> in the query.</p>
<pre>POST https://data.oxylabs.io/v1/queries
</pre>
<p>You need to post query parameters as data in the JSON body.</p>
<pre>curl --user user:pass1\
'https://data.oxylabs.io/v1/queries' \
-H "Content-Type: application/json" \
-d '{"source": "universal", "url": "https://stackoverflow.com/questions/tagged/python", "callback_url": "https://your.callback.url", "storage_type": "s3", "storage_url": "YOUR_BUCKET_NAME"}'
</pre>
<p>The API will respond with query information in JSON format, by printing it in the response body, similar to this:</p>
<pre>{
  "callback_url": "https://your.callback.url",
  "client_id": 5,
  "created_at": "2019-10-01 00:00:01",
  "domain": "com",
  "geo_location": null,
  "id": "12345678900987654321",
  "limit": 10,
  "locale": null,
  "pages": 1,
  "parse": false,
  "render": null,
  "url": "https://stackoverflow.com/questions/tagged/python",
  "source": "universal",
  "start_page": 1,
  "status": "pending",
  "storage_type": "s3",
  "storage_url": "YOUR_BUCKET_NAME/12345678900987654321.json",
  "subdomain": "www",
  "updated_at": "2019-10-01 00:00:01",
  "user_agent_type": "desktop",
  "_links": [
    {
      "rel": "self",
      "href": "http://data.oxylabs.io/v1/queries/12345678900987654321",
      "method": "GET"
    },
    {
      "rel": "results",
      "href": "http://data.oxylabs.io/v1/queries/12345678900987654321/results",
      "method": "GET"
    }
  ]
}
</pre>
<hr />
<h4 id="check-job-status"><strong>Check Job Status</strong></h4>
<p>If your query had a <code>callback_url</code>, we will send you a message containing a link to the content once the scraping task is done. However, if there was no <code>callback_url</code> in the query, you will need to check the job status yourself. For that, you need to use the URL in <code>href</code> under <code>rel</code>:<code>self</code> in the response message you received after submitting your query to our API. It should look similar to this: <code>http://data.oxylabs.io/v1/queries/12345678900987654321</code>.</p>
<pre>GET https://data.oxylabs.io/v1/queries/{id}
</pre>
<p>Querying this link will return the job information, including its <code>status</code>. There are three possible <code>status</code> values:</p>
<div class="su-table su-table-responsive su-table-alternate">
<table>
<tbody>
<tr>
<td><code>pending</code></td>
<td>The job is still in the queue and has not been completed.</td>
</tr>
<tr>
<td><code>done</code></td>
<td>The job is completed, you may retrieve the result by querying the URL in <code>href</code> under <code>rel</code>:<code>results</code> : <code>http://data.oxylabs.io/v1/queries/12345678900987654321/results</code></td>
</tr>
<tr>
<td><code>faulted</code></td>
<td>There was an issue with the job, and we could not complete it, most likely due to a server error on the target site's side.</td>
</tr>
</tbody>
</table>
</div>
<pre>curl --user user:pass1 'http://data.oxylabs.io/v1/queries/12345678900987654321'
</pre>
<p>The API will respond with query information in JSON format, by printing it in the response body. Notice that job <code>status</code> has been changed to <code>done</code>. You can now retrieve content by querying <code>http://data.oxylabs.io/v1/queries/12345678900987654321/results</code>.</p>
<p>You can also see that the task has been <code>updated_at</code> <code>2019-10-01 00:00:15</code> &#8211; the query took 14 seconds to complete.</p>
<pre>{
  "client_id": 5,
  "created_at": "2019-10-01 00:00:01",
  "domain": "com",
  "geo_location": null,
  "id": "12345678900987654321",
  "limit": 10,
  "locale": null,
  "pages": 1,
  "parse": false,
  "render": null,
  "url": "sofa",
  "source": "universal",
  "start_page": 1,
  "status": "done",
  "subdomain": "www",
  "updated_at": "2019-10-01 00:00:15",
  "user_agent_type": "desktop",
  "_links": [
    {
      "rel": "self",
      "href": "http://data.oxylabs.io/v1/queries/12345678900987654321",
      "method": "GET"
    },
    {
      "rel": "results",
      "href": "http://data.oxylabs.io/v1/queries/12345678900987654321/results",
      "method": "GET"
    }
  ]
}
</pre>
<hr />
<h4 id="retrieve-job-content"><strong>Retrieve Job Content</strong></h4>
<p>Once you know the job is ready to be retrieved by checking its status, you can GET it using the URL in <code>href</code> under <code>rel</code>:<code>results</code> in our initial response. It should look similar to this: <code>http://data.oxylabs.io/v1/queries/12345678900987654321/results</code>.</p>
<pre>GET https://data.oxylabs.io/v1/queries/{id}/results
</pre>
<p>The results can be automatically retrieved without periodically checking job status by setting up <a href="#callback">Callback</a> service. User needs to specfy the IP or domain of the server where the Callback service is running. When our system completes a job, it will send a message to the provided IP or domain and the Callback service will download the results as described in the <a href="#callback">Callback implementation example</a>.</p>
<pre>curl --user user:pass1 'http://data.oxylabs.io/v1/queries/12345678900987654321/results'
</pre>
<p>The API will return job content:</p>
<pre>{
  "results": [
    {
      "content": "&lt;!doctype html&gt;
        CONTENT      
      ",
      "created_at": "2019-10-01 00:00:01",
      "updated_at": "2019-10-01 00:00:15",
      "page": 1,
      "url": "https://stackoverflow.com/questions/tagged/python",
      "job_id": "12345678900987654321",
      "status_code": 200
    }
  ]
}
</pre>
<hr />
<h4 id="callback"><strong>Callback</strong></h4>
<p>A callback is a <code>POST</code> request we send to your machine, informing that the data extraction task is completed and providing URL to download scraped content. This means that you no longer need to <a href="#check-job-status">check job status</a> manually. Once the data is here, we will let you know, and all you need to do now is <a href="#retrieve-job-content">retrieve it</a>.</p>
<pre># Please see the code samples in Python and PHP.
</pre>
<p>Sample callback output</p>
<pre>{  
   "created_at":"2019-10-01 00:00:01",
   "updated_at":"2019-10-01 00:00:15",
   "locale":null,
   "client_id":163,
   "user_agent_type":"desktop",
   "source":"universal",
   "pages":1,
   "subdomain":"www",
   "status":"done",
   "start_page":1,
   "parse":0,
   "render":null,
   "priority":0,
   "ttl":0,
   "origin":"api",
   "persist":true,
   "id":"12345678900987654321",
   "callback_url":"http://your.callback.url/",
   "url":"https://stackoverflow.com/questions/tagged/python",
   "domain":"de",
   "limit":10,
   "geo_location":null,
   {...}
   "_links":[
      {  
         "href":"https://data.oxylabs.io/v1/queries/12345678900987654321",
         "method":"GET",
         "rel":"self"
      },
      {  
         "href":"https://data.oxylabs.io/v1/queries/12345678900987654321/results",
         "method":"GET",
         "rel":"results"
      }
   ],
}
</pre>
<hr />
<h4 id="batch-query"><strong>Batch Query</strong></h4>
<p>HTML Crawler API also supports executing multiple keywords, up to 1,000 keywords with each batch. The following endpoint will submit multiple keywords to the extraction queue.</p>
<pre>POST https://data.oxylabs.io/v1/queries/batch
</pre>
<p>You need to post query parameters as data in the JSON body.</p>
<p>The system will handle every keyword as a separate request. If you provided a callback URL, you will get a separate call for each keyword. Otherwise, our initial response will contain job <code>id</code>s for all keywords. For example, if you sent 50 keywords, we will return 50 unique job <code>id</code>s.</p>
<p>Important! <code>query</code> is the only parameter that can have multiple values. All other parameters are the same for that batch query.</p>
<pre>curl --user user:pass1 'https://data.oxylabs.io/v1/queries/batch' -H 'Content-Type: application/json' \
 -d '@keywords.json'
</pre>
<p><code>keywords.json</code> content:</p>
<pre>{  
   "url":[  
      "https://stackoverflow.com/questions/tagged/python",
      "https://stackoverflow.com/questions/tagged/golang",
      "https://stackoverflow.com/questions/tagged/php"
   ],
   "source": "universal",
   "callback_url": "https://your.callback.url"
}
</pre>
<p>The API will respond with query information in JSON format, by printing it in the response body, similar to this:</p>
<pre>{
  "queries": [
    {
      "callback_url": "https://your.callback.url",
      {...}
      "created_at": "2019-10-01 00:00:01",
      "domain": "com",
      "id": "12345678900987654321",
      {...}
      "url": "https://stackoverflow.com/questions/tagged/python",
      "source": "universal",
      {...}
          "rel": "results",
          "href": "http://data.oxylabs.io/v1/queries/12345678900987654321/results",
          "method": "GET"
        }
      ]
    },
    {
      "callback_url": "https://your.callback.url",
      {...}
      "created_at": "2019-10-01 00:00:01",
      "domain": "com",
      "id": "12345678901234567890",
      {...}
      "url": "https://stackoverflow.com/questions/tagged/golang",
      "source": "universal",
      {...}
          "rel": "results",
          "href": "http://data.oxylabs.io/v1/queries/12345678901234567890/results",
          "method": "GET"
        }
      ]
    },
    {
      "callback_url": "https://your.callback.url",
      {...}
      "created_at": "2019-10-01 00:00:01",
      "domain": "com",
      "id": "01234567899876543210",
      {...}
      "url": "https://stackoverflow.com/questions/tagged/php",
      "source": "universal",
      {...}
          "rel": "results",
          "href": "http://data.oxylabs.io/v1/queries/01234567899876543210/results",
          "method": "GET"
        }
      ]
    }
  ]
}
</pre>
<hr />
<h4 id="get-notifier-ip-address-list"><strong>Get Notifier IP Address List</strong></h4>
<p>You may want to whitelist the IPs sending you callback messages or get the list of these IPs for other purposes. This can be done by <code>GET</code>ing this endpoint: <code>https://data.oxylabs.io/v1/info/callbacker_ips</code>.</p>
<pre>curl --user user:pass1 'https://data.oxylabs.io/v1/info/callbacker_ips'
</pre>
<p>The API will return the list of IPs making callback requests to your system:</p>
<pre>{
    "ips": [
        "x.x.x.x",
        "y.y.y.y"
    ]
}
</pre>
<hr />
<h4 id="upload-to-storage"><strong>Upload to Storage</strong></h4>
<p>By default RTC job results are stored in our databases. This means that you will need to query our results endpoint and retrieve content yourself. Custom storage feature allows you to store results in your own cloud storage. The advantage of this feature is that you don't have to make extra requests in order to fetch results &#8211; everything goes directly to your storage bucket.</p>
<p>We support Amazon S3 and Google Cloud Storage. If you would like to use a different type of storage, please contact your account manager to discuss the feature delivery timeline.</p>
<p id="amazon-s3"><strong>Amazon S3</strong></p>
<p>To get your job results uploaded to your Amazon S3 bucket, please set up access permissions for our service. To do that, go to <code>https://s3.console.aws.amazon.com/ &gt; S3 &gt; Storage &gt; Bucket Name (if don't have one, create new) &gt; Permissions &gt; Bucket Policy</code></p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8280" src="https://www.proxysp.com/wp-content/uploads/2021/09/Oxylabs-HTML-Crawler-API-Upload-to-Storage1.png" alt="Oxylabs HTML Crawler API Upload to Storage1" width="482" height="323" srcset="https://proxysp.com/wp-content/uploads/2021/09/Oxylabs-HTML-Crawler-API-Upload-to-Storage1.png 482w, https://proxysp.com/wp-content/uploads/2021/09/Oxylabs-HTML-Crawler-API-Upload-to-Storage1-300x201.png 300w" sizes="(max-width: 482px) 100vw, 482px" /></p>
<p>You can find bucket policy in this <a class="custom_link" href="https://docs.oxylabs.io/resources/s3_bucket_policy.json" target="_blank" rel="noopener">JSON</a> or in code sample area on the right. Don't forget to change bucket name under <code>YOUR_BUCKET_NAME</code>. This policy allows us to write to your bucket, give access to uploaded files to you, and know bucket location.</p>
<p id="google-cloud-storage"><strong>Google Cloud Storage</strong></p>
<p>To get your job results uploaded to your Google Cloud Storage bucket, please set up special permissions for our service. To do that, please create a custom role with the <code>storage.objects.create</code> permission and assign it to the Oxylabs service account email <code>oxyserps-storage@oxyserps-storage.iam.gserviceaccount.com</code>.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8281" src="https://www.proxysp.com/wp-content/uploads/2021/09/Oxylabs-HTML-Crawler-API-Upload-to-Storage2.png" alt="Oxylabs HTML Crawler API Upload to Storage2" width="483" height="306" srcset="https://proxysp.com/wp-content/uploads/2021/09/Oxylabs-HTML-Crawler-API-Upload-to-Storage2.png 483w, https://proxysp.com/wp-content/uploads/2021/09/Oxylabs-HTML-Crawler-API-Upload-to-Storage2-300x190.png 300w" sizes="(max-width: 483px) 100vw, 483px" /></p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8282" src="https://www.proxysp.com/wp-content/uploads/2021/09/Oxylabs-HTML-Crawler-API-Upload-to-Storage3.png" alt="Oxylabs HTML Crawler API Upload to Storage3" width="486" height="668" srcset="https://proxysp.com/wp-content/uploads/2021/09/Oxylabs-HTML-Crawler-API-Upload-to-Storage3.png 486w, https://proxysp.com/wp-content/uploads/2021/09/Oxylabs-HTML-Crawler-API-Upload-to-Storage3-218x300.png 218w" sizes="(max-width: 486px) 100vw, 486px" /></p>
<p id="usage"><strong>Usage</strong></p>
<p>To use this feature, please specify two additional parameters in your requests. Learn more <a href="#direct">here</a>.</p>
<p>The upload path looks like this: <code>YOUR_BUCKET_NAME/job_ID.json</code>. You will find job ID in response body that you receive from us after submitting a request. In <a href="#single-query">this example</a> job ID is <code>12345678900987654321</code>.</p>
<pre>{
    "Version": "2012-10-17",
    "Id": "Policy1577442634787",
    "Statement": [
        {
            "Sid": "Stmt1577442633719",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::324311890426:user/oxylabs.s3.uploader"
            },
            "Action": "s3:GetBucketLocation",
            "Resource": "arn:aws:s3:::YOUR_BUCKET_NAME"
        },
        {
            "Sid": "Stmt1577442633719",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::324311890426:user/oxylabs.s3.uploader"
            },
            "Action": [
                "s3:PutObject",
                "s3:PutObjectAcl"
            ],
            "Resource": "arn:aws:s3:::YOUR_BUCKET_NAME/*"
        }
    ]
}
</pre>
<hr />
<h3 id="realtime">Realtime</h3>
<p>The data submission is the same as in Push-Pull method, but with Realtime, we will return the content on open connection. You send us a query, the connection remains open, we retrieve the content, and bring it to you. The endpoint that handles that is this:</p>
<pre>POST https://realtime.oxylabs.io/v1/queries
</pre>
<p>The timeout limit for open connections is 100 seconds. Therefore, in rare cases of heavy load, we may not be able to ensure the data gets to you.</p>
<p>You need to post query parameters as data in the JSON body. Please see an example for more details.</p>
<pre>curl --user user:pass1 'https://realtime.oxylabs.io/v1/queries' -H "Content-Type: application/json" \
 -d '{"source": "universal", "url": "https://stackoverflow.com/questions/tagged/python"}'
</pre>
<p>Example response body that will be returned on open connection:</p>
<pre>{
  "results": [
    {
      "content": "
      CONTENT
      "
      "created_at": "2019-10-01 00:00:01",
      "updated_at": "2019-10-01 00:00:15",
      "id": null,
      "page": 1,
      "url": "https://stackoverflow.com/questions/tagged/python",
      "job_id": "12345678900987654321",
      "status_code": 200
    }
  ]
}
</pre>
<hr />
<h3 id="superapi">SuperAPI</h3>
<p>If you have ever used regular proxies for data scraping, integrating SuperAPI delivery method will be a breeze. You simply need to use our entry node as proxy, authorize with HTML Crawler API credentials, and ignore certificates. In <code>cURL</code> it's <code>-k</code> or <code>--insecure</code>. Your data will reach you on open connection.</p>
<pre>GET realtime.oxylabs.io:60000
</pre>
<p>SuperAPI only supports a handful of parameters since it <strong>only works with <a href="#direct">Direct</a> data source</strong> where a full URL is provided. These parameters should be sent as headers. This is a list of accepted parameters:</p>
<div class="su-table su-table-responsive su-table-alternate">
<table>
<tbody>
<tr>
<td><code>X-OxySERPs-User-Agent-Type</code></td>
<td>There is no way to indicate a specific User-Agent, but you can let us know which browser and platform to use. A list of supported User-Agents can be found <a href="#user_agent_type">here</a>.</td>
</tr>
</tbody>
</table>
</div>
<p>If you need help setting up SuperAPI, get in touch with us at <a class="custom_link" href="mailto:support@oxylabs.io" target="_blank" rel="nofollow noopener">support@oxylabs.io</a>.</p>
<pre>curl -k \
-x realtime.oxylabs.io:60000 \
-U user:pass1 \
-H "X-OxySERPs-User-Agent-Type: desktop_chrome" \
"https://stackoverflow.com/questions/tagged/python"
</pre>
<hr />
<h2 id="content-type">Content Type</h2>
<p>HTML Crawler API returns <strong>raw HTML</strong>.</p>
<hr />
<h3 id="download-images">Download Images</h3>
<p>It is possible to download images via HTML Crawler API. If you are doing that through SuperAPI, you can simply save the output to image extension. For example:</p>
<p><code>curl -k -x realtime.oxylabs.io:60000 -U user:pass1 "https://example.com/image.jpg" &gt;&gt; image.jpg</code></p>
<p>If you are using <a href="#push-pull">Push-Pull</a> or <a href="#realtime">Realtime</a> methods, you will need to add <code>content_encoding</code> parameter with a value of <code>base64</code>. Once you receive the results, you then need to decode encoded data from <code>content</code> into bytes and save it as an image file. Please find an example in Python on the right.</p>
<hr />
<h2 id="data-sources">Data Sources</h2>
<p>HTML Crawler API accepts URLs, along with additional parameters, such as User-Agent type, proxy location, and others. See this method, which we call <a href="#direct">Direct</a>, described below.</p>
<p>HTML Crawler API is able to render JavaScript when scraping. This enables you to get more data from the web page and get screenshots.</p>
<p>If you are unsure about any part of the documentation, drop us a line at <a class="custom_link" href="mailto:support@oxylabs.io" target="_blank" rel="nofollow noopener">support@oxylabs.io</a> or contact your account manager.</p>
<hr />
<h3 id="direct">Direct</h3>
<p><img loading="lazy" decoding="async" class="size-full wp-image-8283 alignnone" src="https://www.proxysp.com/wp-content/uploads/2021/09/Oxylabs-HTML-Crawler-API-Direct.png" alt="Oxylabs HTML Crawler API Direct" width="429" height="25" srcset="https://proxysp.com/wp-content/uploads/2021/09/Oxylabs-HTML-Crawler-API-Direct.png 429w, https://proxysp.com/wp-content/uploads/2021/09/Oxylabs-HTML-Crawler-API-Direct-300x17.png 300w" sizes="(max-width: 429px) 100vw, 429px" /></p>
<p><code>universal</code> source is designed to retrieve the contents of any URL on the internet. <code>POST</code>-ing the parameters in JSON format to the following endpoint will submit the specified URL to the extraction queue.</p>
<p><span class="test">Query parameters</span></p>
<div class="su-table su-table-responsive su-table-alternate">
<table width="216">
<tbody>
<tr>
<td style="font-weight: 400;" width="72">Parameter</td>
<td style="font-weight: 400;" width="72">Description</td>
<td style="font-weight: 400;" width="72">Default Value</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">source</td>
<td style="font-weight: 400;" width="72">Data source</td>
<td style="font-weight: 400;" width="72">universal</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">url</td>
<td style="font-weight: 400;" width="72">Direct URL (link) to Universal page</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">user_agent_type</td>
<td style="font-weight: 400;" width="72">Device type and browser. The full list can be found <a href="#user_agent_type">here.</a></td>
<td style="font-weight: 400;" width="72">desktop</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">geo_location</td>
<td style="font-weight: 400;" width="72">Geo location of proxy used to retrieve the data. The full list of supported locations can be found <a href="#geo_location">here.</a></td>
<td style="font-weight: 400;" width="72"></td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">locale</td>
<td style="font-weight: 400;" width="72">Locale, as expected in Accept-Language header.</td>
<td style="font-weight: 400;" width="72"></td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">render</td>
<td style="font-weight: 400;" width="72">Enables JavaScript rendering. Use it when the target requires JavaScript to load content. Only works via Push-Pull (a.k.a. Callback) method. There are two available values for this parameter: html(get raw output) and png (get a Base64-encoded screenshot).</td>
<td style="font-weight: 400;" width="72"></td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">content_encoding</td>
<td style="font-weight: 400;" width="72">Add this parameter if you are downloading images. Learn more <a href="#download-images">here.</a></td>
<td style="font-weight: 400;" width="72">base64</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">context:</td>
<td style="font-weight: 400;" rowspan="2" width="72">Base64-encoded POST request body. It is only useful if http_method is set to post.</td>
<td style="font-weight: 400;" rowspan="2" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">content</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">context:</td>
<td style="font-weight: 400;" rowspan="2" width="72">Pass your own cookies.</td>
<td style="font-weight: 400;" rowspan="2" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">cookies</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">context:</td>
<td style="font-weight: 400;" rowspan="2" width="72">Indicate whether you would like the scraper to follow redirects (3xx responses with a destination URL) to get the contents of the URL at the end of the redirect chain.</td>
<td style="font-weight: 400;" rowspan="2" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">follow_redirects</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">context:</td>
<td style="font-weight: 400;" rowspan="2" width="72">Pass your own headers.</td>
<td style="font-weight: 400;" rowspan="2" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">headers</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">context:</td>
<td style="font-weight: 400;" rowspan="2" width="72">Set it to post if you would like to make a POST request to your target URL via Universal scraper.</td>
<td style="font-weight: 400;" rowspan="2" width="72">get</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">http_method</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">context:</td>
<td style="font-weight: 400;" rowspan="2" width="72">If you want to use the same proxy with multiple requests, you can do so by using this parameter. Just set your session to any string you like, and we will assign a proxy to this ID and keep it for up to 10 minutes. After that, if you make another request with the same session ID, a new proxy will be assigned to that particular session ID.</td>
<td style="font-weight: 400;" rowspan="2" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">session_id</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">context:</td>
<td style="font-weight: 400;" rowspan="2" width="72">Define a custom HTTP response code (or a few of them), upon which we should consider the scrape successful and return the content to you. May be useful if you want us to return the 503 error page or in some other non-standard cases.</td>
<td style="font-weight: 400;" rowspan="2" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">successful_status_codes</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">callback_url</td>
<td style="font-weight: 400;" width="72">URL to your callback endpoint.</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">storage_type</td>
<td style="font-weight: 400;" width="72">Storage service provider. We support Amazon S3 and Google Cloud Storage. The storage_type parameter values for these storage providers are, correspondingly, s3 and gcs. The full implementation can be found on the <a href="#upload-to-storage">Upload to Storage</a> page. This feature only works via Push-Pull (Callback) method.</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">storage_url</td>
<td style="font-weight: 400;" width="72">Your storage bucket name. Only works via Push-Pull (Callback) method.</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" colspan="3" width="216">   &#8211; required parameter</td>
</tr>
</tbody>
</table>
</div>
<p>In this example, the API will retrieve a universal product page in Push-Pull method. All available parameters are included (though not always necessary or compatible within the same request), to give you an idea on how to format your requests:</p>
<pre>curl --user user:pass1 \
'https://data.oxylabs.io/v1/queries' \
-H "Content-Type: application/json" \
 -d '{"source":"universal","url":"https://stackoverflow.com/questions/tagged/python","user_agent_type":"mobile","context":[{"key":"headers","value":{"Accept-Language":"en-US","Content-Type":"application/octet-stream","Custom-Header":"custom header content"}},{"key":"cookies","value":[{"key":"NID","value":"1234567890"},{"key":"1P JAR","value":"0987654321"}]},{"key":"follow_redirects","value":true},{"key":"http_method","value":"post"},{"key":"content","value":"YmFzZTY0RW5jb2RlZFBPU1RCb2R5"},{"key":"successful_status_codes","value":[808,909]}]}
</pre>
<p>Here is the same example in Realtime:</p>
<pre>curl --user user:pass1 \
'https://data.oxylabs.io/v1/queries' \
-H "Content-Type: application/json" \
-d '{"source": "universal", "url": "https://stackoverflow.com/questions/tagged/python", "user_agent_type": "mobile", "context": [{"key": "headers", "value": ["Accept-Language": "en-US", "Content-Type": "application/octet-stream", "Custom-Header": "custom header content"]}, {"key": "cookies", "value": [{"key": "NID", "value": "1234567890"}, {"key": "1P JAR", "value": "0987654321"}, {"key": "follow_redirects", "value": true}, {"key": "http_method", "value": "post"}, {"key": "content", "value": "base64EncodedPOSTBody"}, {"key": "successful_status_codes", "value": [303, 808, 909]}]}]}'
</pre>
<p>And via SuperAPI:</p>
<pre># A GET request could look something like this:
curl -k \
-x http://realtime.oxylabs.io:60000 \
-U user:pass1 \
"https://stackoverflow.com/questions/tagged/python" \
-H "X-OxySERPs-Session-Id: 1234567890abcdef" \
-H "X-OxySERPs-Geo-Location: India" \
-H "Accept-Language: en-US" \
-H "Content-Type: application/octet-stream" \
-H "Custom-Header: custom header content" \
-H "Cookie: NID=1234567890; 1P_JAR=0987654321" \
-H "X-Status-Code: 303, 808, 909"

# A POST request would have the same structure but contain a parameter specifying that it is a POST request:
curl -X POST \
-k \
-x http://realtime.oxylabs.io:60000 \
-U user:pass1 "https://stackoverflow.com/questions/tagged/python" \
-H "X-OxySERPs-Session-Id: 1234567890abcdef" \
-H "X-OxySERPs-Geo-Location: India" \
-H "Custom-Header: custom header content" \
-H "Cookie: NID=1234567890; 1P_JAR=0987654321" \
-H "X-Status-Code: 303, 808, 909"
</pre>
<hr />
<h2 id="parameter-values">Parameter Values</h2>
<h3 id="geo_location">Geo_Location</h3>
<p>Full list of supported geo locations can be found in CSV format <a class="custom_link" href="https://docs.oxylabs.io/resources/universal-supported-geo_location-values.csv" target="_blank" rel="noopener">here</a>.</p>
<pre>"United Arab Emirates",
"Albania",
"Armenia",
"Angola",
"Argentina",
"Australia",
...
"Uruguay",
"Uzbekistan",
"Venezuela Bolivarian Republic of",
"Viet Nam",
"South Africa",
"Zimbabwe"
</pre>
<hr />
<h3 id="http_method">HTTP_Method</h3>
<p>Universal Crawler supports two HTTP(S) methods: <code>GET</code> (default) and <code>POST</code>.</p>
<pre>"GET",
"POST"
</pre>
<hr />
<h3 id="render">Render</h3>
<p>Universal Crawler can render Javascript and return either a rendered HTML document or a PNG screenshot of the web page.</p>
<pre>"html",
"png"
</pre>
<hr />
<h3 id="user_agent_type">User_Agent_Type</h3>
<p>Download full list of <code>user_agent_type</code> values in JSON <a class="custom_link" href="https://docs.oxylabs.io/resources/user_agent_type.json" target="_blank" rel="noopener">here</a>.</p>
<pre>[
  {
    "user_agent_type": "desktop",
    "description": "Random desktop browser User-Agent"
  },
  {
    "user_agent_type": "desktop_firefox",
    "description": "Random User-Agent of one of the latest versions of desktop Firefox"
  },
  {
    "user_agent_type": "desktop_chrome",
    "description": "Random User-Agent of one of the latest versions of desktop Chrome"
  },
  {
    "user_agent_type": "desktop_opera",
    "description": "Random User-Agent of one of the latest versions of desktop Opera"
  },
  {
    "user_agent_type": "desktop_edge",
    "description": "Random User-Agent of one of the latest versions of desktop Edge"
  },
  {
    "user_agent_type": "desktop_safari",
    "description": "Random User-Agent of one of the latest versions of desktop Safari"
  },
  {
    "user_agent_type": "mobile",
    "description": "Random mobile browser User-Agent"
  },
  {
    "user_agent_type": "mobile_android",
    "description": "Random User-Agent of one of the latest versions of Android browser"
  },
  {
    "user_agent_type": "mobile_ios",
    "description": "Random User-Agent of one of the latest versions of iPhone browser"
  },
  {
    "user_agent_type": "tablet",
    "description": "Random tablet browser User-Agent"
  },
  {
    "user_agent_type": "tablet_android",
    "description": "Random User-Agent of one of the latest versions of Android tablet"
  },
  {
    "user_agent_type": "tablet_ios",
    "description": "Random User-Agent of one of the latest versions of iPad tablet"
  }
]
</pre>
<hr />
<h2 id="account-status">Account Status</h2>
<h3 id="usage-statistics">Usage Statistics</h3>
<p>You can find your usage statistics by querying the following endpoint:</p>
<pre>GET https://data.oxylabs.io/v1/stats
</pre>
<p>By default, the API will return all-time usage statistics. Adding <code>?group_by=month</code> will return monthly stats, while <code>?group_by=day</code> will return daily numbers.</p>
<p>This query will return all-time statistics. You can find your daily and monthly usage by adding either <code>?group_by=day</code> or <code>?group_by=month</code></p>
<pre>curl --user user:pass1 'https://data.oxylabs.io/v1/stats'
</pre>
<p>Sample output:</p>
<pre>{
    "data": {
        "sources": [
            {
                "realtime_results_count": "90",
                "results_count": "10",
                "title": "universal"
            }
        ]
    },
    "meta": {
        "group_by": null
    }
}
</pre>
<hr />
<h3 id="limits">Limits</h3>
<p>The following endpoint will give your monthly commitment information as well as how much of it has already been used:</p>
<pre>GET https://data.oxylabs.io/v1/stats/limits
</pre>
<pre>curl --user user:pass1 'https://data.oxylabs.io/v1/stats/limits'
</pre>
<p>Sample output:</p>
<pre>{
    "monthly_requests_commitment": 4500000,
    "used_requests": 985000
}
</pre>
<hr />
<h2 id="response-codes">Response Codes</h2>
<div class="su-table su-table-responsive su-table-alternate">
<table>
<thead>
<tr>
<th>Code</th>
<th>Status</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>204</code></td>
<td>No Content</td>
<td>You are trying to retrieve a job that has not been completed yet.</td>
</tr>
<tr>
<td><code>400</code></td>
<td>Multiple error messages</td>
<td>Bad request structure, could be a misspelled parameter or invalid value. The response body will have a more specific error message.</td>
</tr>
<tr>
<td><code>401</code></td>
<td>&#8216;Authorization header not provided' / &#8216;Invalid authorization header' / &#8216;Client not found'</td>
<td>Missing authorization header or incorrect login credentials.</td>
</tr>
<tr>
<td><code>403</code></td>
<td>Forbidden</td>
<td>Your account does not have access to this resource.</td>
</tr>
<tr>
<td><code>404</code></td>
<td>Not Found</td>
<td>Job ID you are looking for is no longer available.</td>
</tr>
<tr>
<td><code>429</code></td>
<td>Too many requests</td>
<td>Exceeded rate limit. Please contact your account manager to increase limits.</td>
</tr>
<tr>
<td><code>500</code></td>
<td>Unknown Error</td>
<td>Service unavailable.</td>
</tr>
<tr>
<td><code>524</code></td>
<td>Timeout</td>
<td>Service unavailable.</td>
</tr>
<tr>
<td><code>612</code></td>
<td>Undefined Internal Error</td>
<td>Something went wrong and we failed the job you submitted. You can try again at no extra cost, as we do not charge you for <code>faulted</code> jobs. If that does not work, please get in touch with us.</td>
</tr>
<tr>
<td><code>613</code></td>
<td>Faulted After Too Many Retries</td>
<td>We tried scraping the job you submitted, but gave up after reaching our retry limit. You can try again at no extra cost, as we do not charge you for <code>faulted</code> jobs. If that does not work, please get in touch with us.</td>
</tr>
</tbody>
</table>
</div>
<hr />
<h4>References</h4>
<ul>
<li><a href="https://docs.oxylabs.io/rtc/source/html-crawler-api/index.html" target="_blank" rel="nofollow noopener">https://docs.oxylabs.io/rtc/source/html-crawler-api/index.html</a></li>
<li><a href="https://docs.oxylabs.io/rtc/index.html" target="_blank" rel="nofollow noopener">https://docs.oxylabs.io/rtc/index.html</a></li>
</ul>
<p>&nbsp;</p>
<hr />
<blockquote><p><strong>Disclaimer:</strong> This part of the content is mainly from the merchant. If the merchant does not want it to be displayed on my website, please <a href="https://www.proxysp.com/contact-us/">contact us</a> to delete your content.</p></blockquote>
]]></content:encoded>
					
					<wfw:commentRss>https://proxysp.com/oxylabs-html-crawler-api/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7636</post-id>	</item>
		<item>
		<title>How to Use Baidu Real-Time Crawler [Part 4]: Oxylabs Real-Time Crawler for Baidu</title>
		<link>https://proxysp.com/oxylabs-baidu-real-time-crawler/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=oxylabs-baidu-real-time-crawler</link>
					<comments>https://proxysp.com/oxylabs-baidu-real-time-crawler/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
				<category><![CDATA[How to Use OxyLabs Proxy (OxyLabs User Manual Navigation)]]></category>
		<guid isPermaLink="false">https://www.proxysp.com/?p=7635</guid>

					<description><![CDATA[Do you know how to use OxyLabs Real-time Crawler for Baidu? This is the most comprehensive introduction from OxyLabs official. Quick Start Real-Time Crawler is built &#8230;<p class="read-more"> <a class="ast-button" href="https://proxysp.com/oxylabs-baidu-real-time-crawler/"> <span class="screen-reader-text">How to Use Baidu Real-Time Crawler [Part 4]: Oxylabs Real-Time Crawler for Baidu</span> Read More &#187;</a></p>]]></description>
										<content:encoded><![CDATA[<blockquote><p>Do you know how to use OxyLabs Real-time Crawler for Baidu? This is the most comprehensive introduction from OxyLabs official.</p></blockquote>
<h2 id="quick-start">Quick Start</h2>
<p>Real-Time Crawler is built for heavy-duty data retrieval operations. You can use Real-Time Crawler to access various Baidu pages. It enables effortless web data extraction from search engines without any delays or errors.</p>
<p>Real-Time Crawler for Baidu uses <a class="custom_link" href="https://en.wikipedia.org/wiki/Basic_access_authentication" target="_blank" rel="nofollow noopener">basic HTTP authentication</a> that requires sending username and password.</p>
<p>This is by far the fastest way to start using Real-Time Crawler for Baidu. You will send a query <code>adidas</code> to <code>baidu_search</code> using <a href="#realtime">Realtime</a> integration method. Don't forget to replace <code>USERNAME</code> and <code>PASSWORD</code> with your proxy user credentials.</p>
<pre>curl --user "USERNAME:PASSWORD" 'https://realtime.oxylabs.io/v1/queries' -H "Content-Type: application/json" -d '{"source": "baidu_search", "domain": "com", "query": "adidas"}'
</pre>
<p>If you have any questions not covered by this documentation, please contact your account manager or our support staff at <a class="custom_link" href="mailto:support@oxylabs.io" target="_blank" rel="nofollow noopener">support@oxylabs.io</a>.</p>
<hr />
<h2 id="integration-methods">Integration Methods</h2>
<p>Real-Time Crawler for Baidu supports three integration methods which have their unique benefits:</p>
<ul>
<li><a href="#push-pull">Push-Pull</a>. Using this method it is now required to mainain an active connection with our endpoint to retrieve the data. Upon making a request, our system is able to automatically ping users server when the job is done (see <a href="#callback">Callback</a>). This method saves computing resources and can be scaled easily.</li>
<li><a href="#realtime">Realtime</a>. The method requires user to maintain an active connection with our endpoint in order to get the results successfully when the job is completed. This method can be implemented into one service while Push-Pull method is a two step process.</li>
<li><a href="#superapi">SuperAPI</a>. This method is very similar to Realtime but instead posting data to our endpoint, user can use HTML Cralwer as a proxy. To retrieve the data, user must set up a proxy endpoint and make GET request to a desired URL. Additional parameters must be added using headers.</li>
</ul>
<p>Our recommended data extraction method is <a href="#push-pull">Push-Pull</a>.</p>
<hr />
<h3 id="push-pull">Push-Pull</h3>
<p>This is the most simple yet the most reliable and recommended data delivery method. In Push-Pull scenario you send us a query, we return you job <code>id</code>, and once the job is done you can use that <code>id</code> to retrieve content from <code>/results</code> endpoint. You can check job completion status yourself, or you can set up a simple listener that is able to accept POST queries.</p>
<p>This way we will send you a callback message once the job is ready to be retrieved. In this particular example the results will be automatically <a href="#upload-to-storage">uploaded to your S3 bucket</a> named <code>YOUR_BUCKET_NAME</code>.</p>
<hr />
<h4 id="single-query"><strong>Single Query</strong></h4>
<p>The following endpoint will handle single queries for one keyword or URL. The API will return a confirmation message containing job information, including job <code>id</code>. You can check job completion status using that <code>id</code>, or you can ask us to ping your callback endpoint once the scraping task is finished by adding <code>callback_url</code> in the query.</p>
<pre>POST https://data.oxylabs.io/v1/queries
</pre>
<p>You need to post query parameters as data in JSON body.</p>
<pre>curl --user user:pass1 'https://data.oxylabs.io/v1/queries' -H "Content-Type: application/json" 
 -d '{"source": "baidu_search", "domain": "com", "query": "adidas", "callback_url": "https://your.callback.url", "storage_type": "s3", "storage_url": "YOUR_BUCKET_NAME"}'
</pre>
<p>The API will respond with query information in JSON format, by printing it in response body, similar to this:</p>
<pre>{
  "callback_url": "https://your.callback.url",
  "client_id": 5,
  "created_at": "2019-10-01 00:00:01",
  "domain": "com",
  "geo_location": null,
  "id": "12345678900987654321",
  "limit": 10,
  "locale": null,
  "pages": 1,
  "render": null,
  "query": "adidas",
  "source": "baidu_search",
  "start_page": 1,
  "status": "pending",
  "storage_type": "s3",
  "storage_url": "YOUR_BUCKET_NAME/12345678900987654321.json",
  "subdomain": "www",
  "updated_at": "2019-10-01 00:00:01",
  "user_agent_type": "desktop",
  "_links": [
    {
      "rel": "self",
      "href": "http://data.oxylabs.io/v1/queries/12345678900987654321",
      "method": "GET"
    },
    {
      "rel": "results",
      "href": "http://data.oxylabs.io/v1/queries/12345678900987654321/results",
      "method": "GET"
    }
  ]
}
</pre>
<hr />
<h4 id="check-job-status"><strong>Check Job Status</strong></h4>
<p>If your query had <code>callback_url</code>, we will send you a message containing link to content once the scraping task is done. However, if there was no <code>callback_url</code> in the query, you will need to check job status yourself. For that you need to use the URL in <code>href</code> under <code>rel</code>:<code>self</code> in the response message you received after submitting your query to our API. It should look similar to this: <code>http://data.oxylabs.io/v1/queries/12345678900987654321</code>.</p>
<pre>GET https://data.oxylabs.io/v1/queries/{id}
</pre>
<p>Querying this link will return job information, including its <code>status</code>. There are 3 possible <code>status</code> values:</p>
<div class="su-table su-table-responsive su-table-alternate">
<table>
<tbody>
<tr>
<td><code>pending</code></td>
<td>The job is still in the queue and has not been completed.</td>
</tr>
<tr>
<td><code>done</code></td>
<td>The job is completed, you may retrieve the result by querying the URL in <code>href</code> under <code>rel</code>:<code>results</code> : <code>http://data.oxylabs.io/v1/queries/12345678900987654321/results</code></td>
</tr>
<tr>
<td><code>faulted</code></td>
<td>There was an issue with the job and we couldn't complete it, most likely due to a server error on the target site's side.</td>
</tr>
</tbody>
</table>
</div>
<pre>curl --user user:pass1 'http://data.oxylabs.io/v1/queries/12345678900987654321'
</pre>
<p>The API will respond with query information in JSON format, by printing it in response body. Notice that job <code>status</code> has been changed to <code>done</code>. You can now retrieve content by querying <code>http://data.oxylabs.io/v1/queries/12345678900987654321/results</code>.</p>
<p>You can also see that the task has been <code>updated_at</code> <code>2019-10-01 00:00:15</code> &#8211; the query took 14 seconds to complete.</p>
<pre>{
  "client_id": 5,
  "created_at": "2019-10-01 00:00:01",
  "domain": "com",
  "geo_location": null,
  "id": "12345678900987654321",
  "limit": 10,
  "locale": null,
  "pages": 1,
  "render": null,
  "query": "adidas",
  "source": "baidu_search",
  "start_page": 1,
  "status": "done",
  "subdomain": "www",
  "updated_at": "2019-10-01 00:00:15",
  "user_agent_type": "desktop",
  "_links": [
    {
      "rel": "self",
      "href": "http://data.oxylabs.io/v1/queries/12345678900987654321",
      "method": "GET"
    },
    {
      "rel": "results",
      "href": "http://data.oxylabs.io/v1/queries/12345678900987654321/results",
      "method": "GET"
    }
  ]
}
</pre>
<hr />
<h4 id="retrieve-job-content"><strong>Retrieve Job Content</strong></h4>
<p>Once you know the job is ready to retrieved either by checking its status or receiving a callback from us, you can GET it using the URL in <code>href</code> under <code>rel</code>:<code>results</code> in either our initial response or in callback message. It should look similar to this: <code>http://data.oxylabs.io/v1/queries/12345678900987654321/results</code>.</p>
<pre>GET https://data.oxylabs.io/v1/queries/{id}/results
</pre>
<p>The results can be automatically retrieved without periodically checking job status by setting up <a href="#callback">Callback</a> service. User needs to specfy the IP or domain of the server where the Callback service is running. When our system completes a job, it will send a message to the provided IP or domain and the Callback service will download the results as described in the <a href="#callback">Callback implementation example</a>.</p>
<pre>curl --user user:pass1 'http://data.oxylabs.io/v1/queries/12345678900987654321/results'
</pre>
<p>The API will return job content:</p>
<pre>{
  "results": [
    {
      "content": "&lt;!doctype html&gt;
        CONTENT      
      ",
      "created_at": "2019-10-01 00:00:01",
      "updated_at": "2019-10-01 00:00:15",
      "page": 1,
      "url": "https://www.baidu.com/search?q=adidas&hl=en&gl=US",
      "job_id": "12345678900987654321",
      "status_code": 200
    }
  ]
}
</pre>
<hr />
<h4 id="callback"><strong>Callback</strong></h4>
<p>A callback is a <code>POST</code> request we send to your machine, informing that the data extraction task is completed and providing URL to download scraped content. This means that you no longer need to <a href="#check-job-status">check job status</a> manually. Once the data is here, we will let you know, and all you need to do now is <a href="#retrieve-job-content">retrieve it</a>.</p>
<pre># Please see code samples in Python and PHP.
</pre>
<p>Sample callback output</p>
<pre>{  
   "created_at":"2019-10-01 00:00:01",
   "updated_at":"2019-10-01 00:00:15",
   "locale":null,
   "client_id":163,
   "user_agent_type":"desktop",
   "source":"baidu_search",
   "pages":1,
   "subdomain":"www",
   "status":"done",
   "start_page":1,
   "render":null,
   "priority":0,
   "ttl":0,
   "origin":"api",
   "persist":true,
   "id":"12345678900987654321",
   "callback_url":"http://your.callback.url/",
   "query":"adidas",
   "domain":"com",
   "limit":10,
   "geo_location":null,
   {...}
   "_links":[
      {  
         "href":"https://data.oxylabs.io/v1/queries/12345678900987654321",
         "method":"GET",
         "rel":"self"
      },
      {  
         "href":"https://data.oxylabs.io/v1/queries/12345678900987654321/results",
         "method":"GET",
         "rel":"results"
      }
   ],
}
</pre>
<hr />
<h4 id="batch-query"><strong>Batch Query</strong></h4>
<p>Real-Time Crawler also supports executing multiple keywords, up to 1,000 keywords with each batch. The following endpoint will submit multiple keywords to the extraction queue.</p>
<pre>POST https://data.oxylabs.io/v1/queries/batch
</pre>
<p>You need to post query parameters as data in JSON body.</p>
<p>The system will handle every keyword as a separate request. If you provided callback URL, you will get a separate call for each keyword. Otherwise, our initial response will contain job <code>id</code>s for all keywords. For example, if you sent 50 keywords, we will return 50 unique job <code>id</code>s.</p>
<p>Important! <code>query</code> is the only parameter that can have multiple values. All other parameters are the same for that batch query.</p>
<pre>curl --user user:pass1 'https://data.oxylabs.io/v1/queries/batch' -H 'Content-Type: application/json'
 -d '@keywords.json'
</pre>
<p><code>keywords.json</code> content:</p>
<pre>{  
   "query":[  
      "adidas",
      "nike",
      "reebok"
   ],
   "source": "baidu_search",
   "domain": "com",
   "callback_url": "https://your.callback.url"
}
</pre>
<p>The API will respond with query information in JSON format, by printing it in response body, similar to this:</p>
<pre>{
  "queries": [
    {
      "callback_url": "https://your.callback.url",
      {...}
      "created_at": "2019-10-01 00:00:01",
      "domain": "com",
      "id": "12345678900987654321",
      {...}
      "query": "adidas",
      "source": "baidu_search",
      {...}
          "rel": "results",
          "href": "http://data.oxylabs.io/v1/queries/12345678900987654321/results",
          "method": "GET"
        }
      ]
    },
    {
      "callback_url": "https://your.callback.url",
      {...}
      "created_at": "2019-10-01 00:00:01",
      "domain": "com",
      "id": "12345678901234567890",
      {...}
      "query": "nike",
      "source": "baidu_search",
      {...}
          "rel": "results",
          "href": "http://data.oxylabs.io/v1/queries/12345678901234567890/results",
          "method": "GET"
        }
      ]
    },
    {
      "callback_url": "https://your.callback.url",
      {...}
      "created_at": "2019-10-01 00:00:01",
      "domain": "com",
      "id": "01234567899876543210",
      {...}
      "query": "reebok",
      "source": "baidu_search",
      {...}
          "rel": "results",
          "href": "http://data.oxylabs.io/v1/queries/01234567899876543210/results",
          "method": "GET"
        }
      ]
    }
  ]
}
</pre>
<hr />
<h4 id="get-notifier-ip-address-list"><strong>Get Notifier IP Address List</strong></h4>
<p>You may want to whitelist the IPs sending you callback messages or get the list of these IPs for other purposes. This can be done by <code>GET</code>ing this endpoint: <code>https://data.oxylabs.io/v1/info/callbacker_ips</code>.</p>
<pre>curl --user user:pass1 'https://data.oxylabs.io/v1/info/callbacker_ips'
</pre>
<p>The API will return the list of IPs making callback requests to your system:</p>
<pre>{
    "ips": [
        "x.x.x.x",
        "y.y.y.y"
    ]
}
</pre>
<hr />
<h4 id="upload-to-storage"><strong>Upload to Storage</strong></h4>
<p>By default RTC job results are stored in our databases. This means that you will need to query our results endpoint and retrieve content yourself. Custom storage feature allows you to store results in your own cloud storage. The advantage of this feature is that you don't have to make extra requests in order to fetch results &#8211; everything goes directly to your storage bucket.</p>
<p>We support Amazon S3 and Google Cloud Storage. If you would like to use a different type of storage, please contact your account manager to discuss the feature delivery timeline.</p>
<p id="amazon-s3"><strong>Amazon S3</strong></p>
<p>To get your job results uploaded to your Amazon S3 bucket, please set up access permissions for our service. To do that, go to <code>https://s3.console.aws.amazon.com/ &gt; S3 &gt; Storage &gt; Bucket Name (if don't have one, create new) &gt; Permissions &gt; Bucket Policy</code></p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8268" src="https://www.proxysp.com/wp-content/uploads/2021/09/Oxylabs-Real-Time-Crawler-for-Baidu-Upload-to-Storage.png" alt="Oxylabs Real-Time Crawler for Baidu Upload to Storage" width="485" height="333" srcset="https://proxysp.com/wp-content/uploads/2021/09/Oxylabs-Real-Time-Crawler-for-Baidu-Upload-to-Storage.png 485w, https://proxysp.com/wp-content/uploads/2021/09/Oxylabs-Real-Time-Crawler-for-Baidu-Upload-to-Storage-300x206.png 300w" sizes="(max-width: 485px) 100vw, 485px" /></p>
<p>You can find bucket policy in this <a class="custom_link" href="https://docs.oxylabs.io/resources/s3_bucket_policy.json" target="_blank" rel="noopener">JSON</a> or in code sample area on the right. Don't forget to change bucket name under <code>YOUR_BUCKET_NAME</code>. This policy allows us to write to your bucket, give access to uploaded files to you, and know bucket location.</p>
<p id="google-cloud-storage"><strong>Google Cloud Storage</strong></p>
<p>To get your job results uploaded to your Google Cloud Storage bucket, please set up special permissions for our service. To do that, please create a custom role with the <code>storage.objects.create</code> permission and assign it to the Oxylabs service account email <code>oxyserps-storage@oxyserps-storage.iam.gserviceaccount.com</code>.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8270" src="https://www.proxysp.com/wp-content/uploads/2021/09/Oxylabs-Real-Time-Crawler-for-Baidu-Upload-to-Storage1.png" alt="Oxylabs Real-Time Crawler for Baidu Upload to Storage1" width="479" height="310" srcset="https://proxysp.com/wp-content/uploads/2021/09/Oxylabs-Real-Time-Crawler-for-Baidu-Upload-to-Storage1.png 479w, https://proxysp.com/wp-content/uploads/2021/09/Oxylabs-Real-Time-Crawler-for-Baidu-Upload-to-Storage1-300x194.png 300w" sizes="(max-width: 479px) 100vw, 479px" /></p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8269" src="https://www.proxysp.com/wp-content/uploads/2021/09/Oxylabs-Real-Time-Crawler-for-Baidu-Upload-to-Storage2.png" alt="Oxylabs Real-Time Crawler for Baidu Upload to Storage2" width="482" height="670" srcset="https://proxysp.com/wp-content/uploads/2021/09/Oxylabs-Real-Time-Crawler-for-Baidu-Upload-to-Storage2.png 482w, https://proxysp.com/wp-content/uploads/2021/09/Oxylabs-Real-Time-Crawler-for-Baidu-Upload-to-Storage2-216x300.png 216w" sizes="(max-width: 482px) 100vw, 482px" /></p>
<p id="usage"><strong>Usage</strong></p>
<p>To use this feature, please specify two additional parameters in your requests. Learn more <a href="#direct">here</a>.</p>
<p>The upload path looks like this: <code>YOUR_BUCKET_NAME/job_ID.json</code>. You will find job ID in response body that you receive from us after submitting a request. In <a href="#single-query">this example</a> job ID is <code>12345678900987654321</code>.</p>
<hr />
<h3 id="realtime">Realtime</h3>
<p>The data submission is the same as in Push-Pull method, but Realtime case we will return the content on open connection. You send us a query, the connection remains open, we retrieve the content and bring it to you. The endpoint that handles that is this:</p>
<pre>POST https://realtime.oxylabs.io/v1/queries
</pre>
<p>There is a timeout limit of 150 seconds for open connections, therefore in rare cases of heavy load we may not be able to ensure the data gets to you.</p>
<p>You need to post query parameters as data in JSON body. Please see example for more details.</p>
<pre>curl --user user:pass1 'https://realtime.oxylabs.io/v1/queries' -H "Content-Type: application/json" 
 -d '{"source": "baidu_search", "domain": "com", "query": "adidas"}'
</pre>
<p>Example response body that will be returned on open connection:</p>
<pre>{
  "results": [
    {
      "content": "
      CONTENT
      "
      "created_at": "2019-10-01 00:00:01",
      "updated_at": "2019-10-01 00:00:15",
      "id": null,
      "page": 1,
      "url": "https://www.baidu.com/search?q=adidas&hl=en&gl=US",
      "job_id": "12345678900987654321",
      "status_code": 200
    }
  ]
}
</pre>
<hr />
<h3 id="superapi">SuperAPI</h3>
<p>If you ever used regular proxies for data scraping, integrating SuperAPI delivery method will be a breeze. All that needs to be done is to use our entry node as proxy, authorize with Real-Time Crawler credentials, and ignore certificates. In <code>cURL</code> it's <code>-k</code> or <code>--insecure</code>. Your data will reach you on open connection.</p>
<pre>GET realtime.oxylabs.io:60000
</pre>
<p>SuperAPI only supports a handful of parameters since it <strong>only works with <a href="#direct">Direct</a> data source</strong> where full URL is provided. These parameters should be sent as headers. This is a list of accepted parameters:</p>
<div class="su-table su-table-responsive su-table-alternate">
<table>
<tbody>
<tr>
<td><code>X-OxySERPs-User-Agent-Type</code></td>
<td>There is no way to indicate a specific User-Agent, but you can let us know which browser and platform to use. A list of supported User-Agents can be found <a href="#user-agent">here</a>.</td>
</tr>
</tbody>
</table>
</div>
<p>If you need help setting up SuperAPI, drop a line at <a class="custom_link" href="mailto:support@oxylabs.io" target="_blank" rel="nofollow noopener">support@oxylabs.io</a>.</p>
<pre>curl -k -x realtime.oxylabs.io:60000 -U user:pass1 -H "X-OxySERPs-User-Agent-Type: desktop_chrome" "https://www.baidu.com/search?q=adidas"
</pre>
<hr />
<h2 id="data-sources">Data Sources</h2>
<p>There are multiple approaches how to retrieve data from Baidu using Real-Time Crawler. You can give us full URL via <a href="#direct">Direct</a>, or you can specify parameters via specifically built data sources, such as <a href="#search">Search</a>, Shopping Product or Images.</p>
<p>If you are unsure which way to choose, drop us a line at <a class="custom_link" href="mailto:support@oxylabs.io" target="_blank" rel="nofollow noopener">support@oxylabs.io</a> or contact your account manager.</p>
<hr />
<h3 id="direct">Direct</h3>
<p><img loading="lazy" decoding="async" class="size-full wp-image-8272 alignnone" src="https://www.proxysp.com/wp-content/uploads/2021/09/Oxylabs-Real-Time-Crawler-for-Baidu-Direct.png" alt="Oxylabs Real-Time Crawler for Baidu Direct" width="425" height="29" srcset="https://proxysp.com/wp-content/uploads/2021/09/Oxylabs-Real-Time-Crawler-for-Baidu-Direct.png 425w, https://proxysp.com/wp-content/uploads/2021/09/Oxylabs-Real-Time-Crawler-for-Baidu-Direct-300x20.png 300w" sizes="(max-width: 425px) 100vw, 425px" /></p>
<p><code>baidu</code> source is designed to retrieve content of direct URLs of various Baidu pages. This means that instead of sending multiple parameters, you can provide us with a direct URL to required Baidu page. We do not strip any parameters or alter your URLs in any other way.</p>
<p><span class="test">Query parameters</span></p>
<div class="su-table su-table-responsive su-table-alternate">
<table width="216">
<tbody>
<tr>
<td style="font-weight: 400;" width="72"><strong>Parameter</strong></td>
<td style="font-weight: 400;" width="72"><strong>Description</strong></td>
<td style="font-weight: 400;" width="72"><strong>Default Value</strong></td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">source</td>
<td style="font-weight: 400;" width="72">Data source</td>
<td style="font-weight: 400;" width="72">baidu</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">url</td>
<td style="font-weight: 400;" width="72">Direct URL (link) to Baidu page</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">user_agent_type</td>
<td style="font-weight: 400;" width="72">Device type and browser. The full list can be found<a href="#user-agent"> here.</a></td>
<td style="font-weight: 400;" width="72">desktop</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">callback_url</td>
<td style="font-weight: 400;" width="72">URL to your callback endpoint</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">storage_type</td>
<td style="font-weight: 400;" width="72">Storage service provider. We support Amazon S3 and Google Cloud Storage. The storage_type parameter values for these storage providers are, correspondingly, s3 and gcs. The full implementation can be found on the <a href="#upload-to-storage">Upload to Storage </a>page. This feature only works via Push-Pull (Callback) method.</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">storage_url</td>
<td style="font-weight: 400;" width="72">Your storage bucket name. Only works via Push-Pull (Callback) method.</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" colspan="3" width="216">   &#8211; required parameter</td>
</tr>
</tbody>
</table>
</div>
<p>In this example the API will retrieve Baidu search for keyword <code>adidas</code> in Push-Pull method:</p>
<pre>curl --user user:pass1 'https://data.oxylabs.io/v1/queries' -H "Content-Type: application/json"
 -d '{"source": "baidu", "url": "http://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&ch=&tn=baidu&bar=&wd=adidas"}'
</pre>
<p>Here is the same example in Realtime:</p>
<pre>curl --user user:pass1 'https://realtime.oxylabs.io/v1/queries' -H "Content-Type: application/json"
 -d '{"source": "baidu", "url": "http://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&ch=&tn=baidu&bar=&wd=adidas"}'
</pre>
<p>And via SuperAPI:</p>
<pre>curl -k -x realtime.oxylabs.io:60000 -U user:pass1 "http://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&ch=&tn=baidu&bar=&wd=adidas"
</pre>
<hr />
<h3 id="search">Search</h3>
<p><img loading="lazy" decoding="async" class="size-full wp-image-8273 alignnone" src="https://www.proxysp.com/wp-content/uploads/2021/09/Oxylabs-Real-Time-Crawler-for-Baidu-Search.png" alt="Oxylabs Real-Time Crawler for Baidu Search" width="425" height="26" srcset="https://proxysp.com/wp-content/uploads/2021/09/Oxylabs-Real-Time-Crawler-for-Baidu-Search.png 425w, https://proxysp.com/wp-content/uploads/2021/09/Oxylabs-Real-Time-Crawler-for-Baidu-Search-300x18.png 300w" sizes="(max-width: 425px) 100vw, 425px" /></p>
<p><code>baidu_search</code> source is designed to retrieve Baidu Search results (SERP) in HTML format.</p>
<p><span class="test">Query parameters</span></p>
<div class="su-table su-table-responsive su-table-alternate">
<table width="216">
<tbody>
<tr>
<td style="font-weight: 400;" width="72"><strong>Parameter</strong></td>
<td style="font-weight: 400;" width="72"><strong>Description</strong></td>
<td style="font-weight: 400;" width="72"><strong>Default Value</strong></td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">source</td>
<td style="font-weight: 400;" width="72">Data source</td>
<td style="font-weight: 400;" width="72">baidu_search</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">domain</td>
<td style="font-weight: 400;" width="72">Domain localization</td>
<td style="font-weight: 400;" width="72">com</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">query</td>
<td style="font-weight: 400;" width="72">UTF-encoded keyword</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">start_page</td>
<td style="font-weight: 400;" width="72">Starting page number</td>
<td style="font-weight: 400;" width="72">1</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">pages</td>
<td style="font-weight: 400;" width="72">Number of pages to retrieve</td>
<td style="font-weight: 400;" width="72">1</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">limit</td>
<td style="font-weight: 400;" width="72">Number of results to retrieve in each page</td>
<td style="font-weight: 400;" width="72">10</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">user_agent_type</td>
<td style="font-weight: 400;" width="72">Device type and browser. The full list can be found<a href="#user-agent"> here.</a></td>
<td style="font-weight: 400;" width="72">desktop</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">callback_url</td>
<td style="font-weight: 400;" width="72">URL to your callback endpoint</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">storage_type</td>
<td style="font-weight: 400;" width="72">Storage service provider. We support Amazon S3 and Google Cloud Storage. The storage_type parameter values for these storage providers are, correspondingly, s3 and gcs. The full implementation can be found on the <a href="#upload-to-storage">Upload to Storage</a> page. This feature only works via Push-Pull (Callback) method.</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">storage_url</td>
<td style="font-weight: 400;" width="72">Your storage bucket name. Only works via Push-Pull (Callback) method.</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" colspan="3" width="216">   &#8211; required parameter</td>
</tr>
</tbody>
</table>
</div>
<p>Real-Time Crawler makes request to baidu.com to retrieve search results pages from number 11 to number 20 for keyword adidas. Real-Time Crawler will post the download URL to raw HTML page output to your.callback.url once the data retrieval task is successfully finished.</p>
<pre>curl --user user:pass1 'https://data.oxylabs.io/v1/queries' -H "Content-Type: application/json"
 -d '{"source": "baidu_search", "domain": "com", "query": "adidas", "start_page": 11, "pages": 10, "callback_url": "https://your.callback.url"}'
</pre>
<p>And here is the same example in Realtime:</p>
<pre>curl --user user:pass1 'https://realtime.oxylabs.io/v1/queries' -H "Content-Type: application/json"
 -d '{"source": "baidu_search", "domain": "com", "query": "adidas", "start_page": 11, "pages": 10, "callback_url": "https://your.callback.url"}'
</pre>
<hr />
<h2 id="parameter-values">Parameter Values</h2>
<h3 id="user-agent">User-Agent</h3>
<p>Download full list of <code>user_agent_type</code> values in JSON <a class="custom_link" href="https://docs.oxylabs.io/resources/user_agent_type.json" target="_blank" rel="noopener">here</a>.</p>
<pre>[
  {
    "user_agent_type": "desktop",
    "description": "Random desktop browser User-Agent"
  },
  {
    "user_agent_type": "desktop_firefox",
    "description": "Random User-Agent of one of the latest versions of desktop Firefox"
  },
  {
    "user_agent_type": "desktop_chrome",
    "description": "Random User-Agent of one of the latest versions of desktop Chrome"
  },
  {
    "user_agent_type": "desktop_opera",
    "description": "Random User-Agent of one of the latest versions of desktop Opera"
  },
  {
    "user_agent_type": "desktop_edge",
    "description": "Random User-Agent of one of the latest versions of desktop Edge"
  },
  {
    "user_agent_type": "desktop_safari",
    "description": "Random User-Agent of one of the latest versions of desktop Safari"
  },
  {
    "user_agent_type": "mobile",
    "description": "Random mobile browser User-Agent"
  },
  {
    "user_agent_type": "mobile_android",
    "description": "Random User-Agent of one of the latest versions of Android browser"
  },
  {
    "user_agent_type": "mobile_ios",
    "description": "Random User-Agent of one of the latest versions of iPhone browser"
  },
  {
    "user_agent_type": "tablet",
    "description": "Random tablet browser User-Agent"
  },
  {
    "user_agent_type": "tablet_android",
    "description": "Random User-Agent of one of the latest versions of Android tablet"
  },
  {
    "user_agent_type": "tablet_ios",
    "description": "Random User-Agent of one of the latest versions of iPad tablet"
  }
]
</pre>
<hr />
<h2 id="account-status">Account Status</h2>
<h3 id="usage-statistics">Usage Statistics</h3>
<p>You can find your usage statistics by querying the following endpoint:</p>
<pre>GET https://data.oxylabs.io/v1/stats
</pre>
<p>By default the API will return all time usage statistics. Adding <code>?group_by=month</code> will return monthly stats, while <code>?group_by=day</code> will return daily numbers.</p>
<p>This query will return all time statistics. You can find your daily and monthly usage by adding either <code>?group_by=day</code> or <code>?group_by=month</code></p>
<pre>curl --user user:pass1 'https://data.oxylabs.io/v1/stats'
</pre>
<p>Sample output:</p>
<pre>{
    "data": {
        "sources": [
            {
                "realtime_results_count": "90",
                "results_count": "10",
                "title": "baidu"
            },
            {
                "realtime_results_count": "19",
                "results_count": "87",
                "title": "baidu_search"
            }
        ]
    },
    "meta": {
        "group_by": null
    }
}
</pre>
<hr />
<h3 id="limits">Limits</h3>
<p>The following endpoint will give your monthly commitment information as well as how much has already been used:</p>
<pre>GET https://data.oxylabs.io/v1/stats/limits
</pre>
<pre>curl --user user:pass1 'https://data.oxylabs.io/v1/stats/limits'
</pre>
<p>Sample output:</p>
<pre>{
    "monthly_requests_commitment": 4500000,
    "used_requests": 985000
}
</pre>
<hr />
<h2 id="response-codes">Response Codes</h2>
<div class="su-table su-table-responsive su-table-alternate">
<table>
<thead>
<tr>
<th>Code</th>
<th>Status</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>204</code></td>
<td>No Content</td>
<td>You are trying to retrieve a job that has not been completed yet.</td>
</tr>
<tr>
<td><code>400</code></td>
<td>Multiple error messages</td>
<td>Bad request structure, could be a misspelled parameter or invalid value. Response body will have more specific error message.</td>
</tr>
<tr>
<td><code>401</code></td>
<td>&#8216;Authorization header not provided' / &#8216;Invalid authorization header' / &#8216;Client not found'</td>
<td>Missing authorization header or incorrect login credentials.</td>
</tr>
<tr>
<td><code>403</code></td>
<td>Forbidden</td>
<td>Your account does not have access to this resource.</td>
</tr>
<tr>
<td><code>404</code></td>
<td>Not Found</td>
<td>Job ID you are looking for is no longer available.</td>
</tr>
<tr>
<td><code>429</code></td>
<td>Too many requests</td>
<td>Exceeded rate limit. Please contact your account manager to increase limits.</td>
</tr>
<tr>
<td><code>500</code></td>
<td>Unknown Error</td>
<td>Service unavailable.</td>
</tr>
<tr>
<td><code>524</code></td>
<td>Timeout</td>
<td>Service unavailable.</td>
</tr>
<tr>
<td><code>612</code></td>
<td>Undefined Internal Error</td>
<td>Something went wrong and we failed the job you submitted. You can try again at no extra cost, as we don't charge you for <code>faulted</code> jobs. If that doesn't work, give us a shout.</td>
</tr>
<tr>
<td><code>613</code></td>
<td>Faulted After Too Many Retries</td>
<td>We tried scraping the job you submitted, but gave up after reaching our retry limit. You can try again at no extra cost, as we don't charge you for <code>faulted</code> jobs. If that doesn't work, give us a shout.</td>
</tr>
</tbody>
</table>
</div>
<p>Cloud storage upload response codes:</p>
<div class="su-table su-table-responsive su-table-alternate">
<table>
<thead>
<tr>
<th>Code</th>
<th>Status</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>10001</code></td>
<td>Unexpected Exception</td>
<td>Something terribly wrong happened. We probably know about this already and are fixing it. Let us know anyway.</td>
</tr>
<tr>
<td><code>13000</code></td>
<td>Upload Success</td>
<td>All good!</td>
</tr>
<tr>
<td><code>13001</code></td>
<td>Upload Failed</td>
<td>We couldn't upload job results your bucket.</td>
</tr>
<tr>
<td><code>13102</code></td>
<td>No Such Path</td>
<td>We couldn't find a bucket with such name. Please double check.</td>
</tr>
<tr>
<td><code>13103</code></td>
<td>Access Denied</td>
<td>Bucket doesn't have required permissions. To find out how to give us required access, see <a href="#upload-to-storage">here</a>.</td>
</tr>
</tbody>
</table>
</div>
<hr />
<h4>References</h4>
<ul>
<li><a href="https://docs.oxylabs.io/rtc/source/baidu/index.html" target="_blank" rel="nofollow noopener">https://docs.oxylabs.io/rtc/source/baidu/index.html</a></li>
<li><a href="https://docs.oxylabs.io/rtc/index.html" target="_blank" rel="nofollow noopener">https://docs.oxylabs.io/rtc/index.html</a></li>
</ul>
<p>&nbsp;</p>
<hr />
<blockquote><p><strong>Disclaimer:</strong> This part of the content is mainly from the merchant. If the merchant does not want it to be displayed on my website, please <a href="https://www.proxysp.com/contact-us/">contact us</a> to delete your content.</p></blockquote>
]]></content:encoded>
					
					<wfw:commentRss>https://proxysp.com/oxylabs-baidu-real-time-crawler/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7635</post-id>	</item>
		<item>
		<title>How to Use Bing Real-Time Crawler [Part 3]: Oxylabs Real-Time Crawler for Bing</title>
		<link>https://proxysp.com/oxylabs-bing-real-time-crawler/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=oxylabs-bing-real-time-crawler</link>
					<comments>https://proxysp.com/oxylabs-bing-real-time-crawler/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
				<category><![CDATA[How to Use OxyLabs Proxy (OxyLabs User Manual Navigation)]]></category>
		<guid isPermaLink="false">https://www.proxysp.com/?p=7634</guid>

					<description><![CDATA[Do you know how to use OxyLabs Real-time Crawler for Bing? This is the most comprehensive introduction from OxyLabs official. Quick Start Real-Time Crawler is built &#8230;<p class="read-more"> <a class="ast-button" href="https://proxysp.com/oxylabs-bing-real-time-crawler/"> <span class="screen-reader-text">How to Use Bing Real-Time Crawler [Part 3]: Oxylabs Real-Time Crawler for Bing</span> Read More &#187;</a></p>]]></description>
										<content:encoded><![CDATA[<blockquote><p>Do you know how to use OxyLabs Real-time Crawler for Bing? This is the most comprehensive introduction from OxyLabs official.</p></blockquote>
<h2 id="quick-start">Quick Start</h2>
<p>Real-Time Crawler is built for heavy-duty data retrieval operations. You can use Real-Time Crawler to access various Bing pages. It enables effortless web data extraction from search engines without any delays or errors.</p>
<p>Real-Time Crawler for Bing uses <a class="custom_link" href="https://en.wikipedia.org/wiki/Basic_access_authentication" target="_blank" rel="nofollow noopener">basic HTTP authentication</a> that requires sending username and password.</p>
<p>This is by far the fastest way to start using Real-Time Crawler for Bing. You will send a query <code>adidas</code> to <code>bing_search</code> using <a href="#realtime">Realtime</a> integration method. Don't forget to replace <code>USERNAME</code> and <code>PASSWORD</code> with your proxy user credentials.</p>
<pre>curl --user "USERNAME:PASSWORD" 'https://realtime.oxylabs.io/v1/queries' -H "Content-Type: application/json" -d '{"source": "bing_search", "domain": "com", "query": "adidas"}'
</pre>
<p>If you have any questions not covered by this documentation, please contact your account manager or our support staff at <a class="custom_link" href="mailto:support@oxylabs.io" target="_blank" rel="nofollow noopener">support@oxylabs.io</a>.</p>
<hr />
<h2 id="integration-methods">Integration Methods</h2>
<p>Real-Time Crawler for Bing supports three integration methods which have their unique benefits:</p>
<ul>
<li><a href="#push-pull">Push-Pull</a>. Using this method it is now required to mainain an active connection with our endpoint to retrieve the data. Upon making a request, our system is able to automatically ping users server when the job is done (see <a href="#callback">Callback</a>). This method saves computing resources and can be scaled easily.</li>
<li><a href="#realtime">Realtime</a>. The method requires user to maintain an active connection with our endpoint in order to get the results successfully when the job is completed. This method can be implemented into one service while Push-Pull method is a two step process.</li>
<li><a href="#superapi">SuperAPI</a>. This method is very similar to Realtime but instead posting data to our endpoint, user can use HTML Cralwer as a proxy. To retrieve the data, user must set up a proxy endpoint and make GET request to a desired URL. Additional parameters must be added using headers.</li>
</ul>
<p>Our recommended data extraction method is <a href="#push-pull">Push-Pull</a>.</p>
<hr />
<h3 id="push-pull">Push-Pull</h3>
<p>This is the most simple yet the most reliable and recommended data delivery method. In Push-Pull scenario you send us a query, we return you job <code>id</code>, and once the job is done you can use that <code>id</code> to retrieve content from <code>/results</code> endpoint. You can check job completion status yourself, or you can set up a simple listener that is able to accept POST queries.</p>
<p>This way we will send you a callback message once the job is ready to be retrieved. In this particular example the results will be automatically <a href="#upload-to-storage">uploaded to your S3 bucket</a> named <code>YOUR_BUCKET_NAME</code>.</p>
<hr />
<h4 id="single-query"><strong>Single Query</strong></h4>
<p>The following endpoint will handle single queries for one keyword or URL. The API will return a confirmation message containing job information, including job <code>id</code>. You can check job completion status using that <code>id</code>, or you can ask us to ping your callback endpoint once the scraping task is finished by adding <code>callback_url</code> in the query.</p>
<pre>POST https://data.oxylabs.io/v1/queries
</pre>
<p>You need to post query parameters as data in JSON body.</p>
<pre>curl --user user:pass1 'https://data.oxylabs.io/v1/queries' -H "Content-Type: application/json" 
 -d '{"source": "bing_search", "domain": "com", "query": "adidas", "callback_url": "https://your.callback.url", "storage_type": "s3", "storage_url": "YOUR_BUCKET_NAME"}'
</pre>
<p>The API will respond with query information in JSON format, by printing it in response body, similar to this:</p>
<pre>{
  "callback_url": "https://your.callback.url",
  "client_id": 5,
  "context": [
    {
      "key": "safe_search",
      "value": null
    }
  ],
  "created_at": "2019-10-01 00:00:01",
  "domain": "com",
  "geo_location": null,
  "id": "12345678900987654321",
  "limit": 10,
  "locale": null,
  "pages": 1,
  "render": null,
  "query": "adidas",
  "source": "bing_search",
  "start_page": 1,
  "status": "pending",  
  "storage_type": "s3",
  "storage_url": "YOUR_BUCKET_NAME/12345678900987654321.json",
  "subdomain": "www",
  "updated_at": "2019-10-01 00:00:01",
  "user_agent_type": "desktop",
  "_links": [
    {
      "rel": "self",
      "href": "http://data.oxylabs.io/v1/queries/12345678900987654321",
      "method": "GET"
    },
    {
      "rel": "results",
      "href": "http://data.oxylabs.io/v1/queries/12345678900987654321/results",
      "method": "GET"
    }
  ]
}
</pre>
<hr />
<h4 id="check-job-status"><strong>Check Job Status</strong></h4>
<p>If your query had <code>callback_url</code>, we will send you a message containing link to content once the scraping task is done. However, if there was no <code>callback_url</code> in the query, you will need to check job status yourself. For that you need to use the URL in <code>href</code> under <code>rel</code>:<code>self</code> in the response message you received after submitting your query to our API. It should look similar to this: <code>http://data.oxylabs.io/v1/queries/12345678900987654321</code>.</p>
<pre>GET https://data.oxylabs.io/v1/queries/{id}
</pre>
<p>Querying this link will return job information, including its <code>status</code>. There are 3 possible <code>status</code> values:</p>
<div class="su-table su-table-responsive su-table-alternate">
<table>
<tbody>
<tr>
<td><code>pending</code></td>
<td>The job is still in the queue and has not been completed.</td>
</tr>
<tr>
<td><code>done</code></td>
<td>The job is completed, you may retrieve the result by querying the URL in <code>href</code> under <code>rel</code>:<code>results</code> : <code>http://data.oxylabs.io/v1/queries/12345678900987654321/results</code></td>
</tr>
<tr>
<td><code>faulted</code></td>
<td>There was an issue with the job and we couldn't complete it, most likely due to a server error on the target site's side.</td>
</tr>
</tbody>
</table>
</div>
<pre>curl --user user:pass1 'http://data.oxylabs.io/v1/queries/12345678900987654321'
</pre>
<p>The API will respond with query information in JSON format, by printing it in response body. Notice that job <code>status</code> has been changed to <code>done</code>. You can now retrieve content by querying <code>http://data.oxylabs.io/v1/queries/12345678900987654321/results</code>.</p>
<p>You can also see that the task has been <code>updated_at</code> <code>2019-10-01 00:00:15</code> &#8211; the query took 14 seconds to complete.</p>
<pre>{
  "client_id": 5,
  "context": [
    {
      "key": "safe_search",
      "value": null
    }
  ],
  "created_at": "2019-10-01 00:00:01",
  "domain": "com",
  "geo_location": null,
  "id": "12345678900987654321",
  "limit": 10,
  "locale": null,
  "pages": 1,
  "render": null,
  "query": "adidas",
  "source": "bing_search",
  "start_page": 1,
  "status": "done",
  "subdomain": "www",
  "updated_at": "2019-10-01 00:00:15",
  "user_agent_type": "desktop",
  "_links": [
    {
      "rel": "self",
      "href": "http://data.oxylabs.io/v1/queries/12345678900987654321",
      "method": "GET"
    },
    {
      "rel": "results",
      "href": "http://data.oxylabs.io/v1/queries/12345678900987654321/results",
      "method": "GET"
    }
  ]
}
</pre>
<hr />
<h4 id="retrieve-job-content"><strong>Retrieve Job Content</strong></h4>
<p>Once you know the job is ready to retrieved either by checking its status or receiving a callback from us, you can GET it using the URL in <code>href</code> under <code>rel</code>:<code>results</code> in either our initial response or in callback message. It should look similar to this: <code>http://data.oxylabs.io/v1/queries/12345678900987654321/results</code></p>
<pre>GET https://data.oxylabs.io/v1/queries/{id}/results
</pre>
<p>The results can be automatically retrieved without periodically checking job status by setting up <a href="#callback">Callback</a> service. User needs to specfy the IP or domain of the server where the Callback service is running. When our system completes a job, it will send a message to the provided IP or domain and the Callback service will download the results as described in the <a href="#callback">Callback implementation example</a>.</p>
<pre>curl --user user:pass1 'http://data.oxylabs.io/v1/queries/12345678900987654321/results'
</pre>
<p>The API will return job content:</p>
<pre>{
  "results": [
    {
      "content": "&lt;!doctype html&gt;
        CONTENT      
      ",
      "created_at": "2019-10-01 00:00:01",
      "updated_at": "2019-10-01 00:00:15",
      "page": 1,
      "url": "https://www.bing.com/search?q=adidas",
      "job_id": "12345678900987654321",
      "status_code": 200
    }
  ]
}
</pre>
<hr />
<h4 id="callback"><strong>Callback</strong></h4>
<p>A callback is a <code>POST</code> request we send to your machine, informing that the data extraction task is completed and providing URL to download scraped content. This means that you no longer need to <a href="#check-job-status">check job status</a> manually. Once the data is here, we will let you know, and all you need to do now is <a href="#retrieve-job-content">retrieve it</a>.</p>
<pre># Please see code samples in Python and PHP.
</pre>
<p>Sample callback output</p>
<pre>{  
   "created_at":"2019-10-01 00:00:01",
   "updated_at":"2019-10-01 00:00:15",
   "locale":null,
   "client_id":163,
   "user_agent_type":"desktop",
   "source":"bing_search",
   "pages":1,
   "subdomain":"www",
   "status":"done",
   "start_page":1,
   "render":null,
   "priority":0,
   "ttl":0,
   "origin":"api",
   "persist":true,
   "id":"12345678900987654321",
   "callback_url":"http://your.callback.url/",
   "query":"adidas",
   "domain":"com",
   "limit":10,
   "geo_location":null,
   {...}
   "_links":[
      {  
         "href":"https://data.oxylabs.io/v1/queries/12345678900987654321",
         "method":"GET",
         "rel":"self"
      },
      {  
         "href":"https://data.oxylabs.io/v1/queries/12345678900987654321/results",
         "method":"GET",
         "rel":"results"
      }
   ],
}
</pre>
<hr />
<h4 id="batch-query"><strong>Batch Query</strong></h4>
<p>Real-Time Crawler also supports executing multiple keywords, up to 1,000 keywords with each batch. The following endpoint will submit multiple keywords to the extraction queue.</p>
<pre>POST https://data.oxylabs.io/v1/queries/batch
</pre>
<p>You need to post query parameters as data in JSON body.</p>
<p>The system will handle every keyword as a separate request. If you provided callback URL, you will get a separate call for each keyword. Otherwise, our initial response will contain job <code>id</code>s for all keywords. For example, if you sent 50 keywords, we will return 50 unique job <code>id</code>s.</p>
<p>Important! <code>query</code> is the only parameter that can have multiple values. All other parameters are the same for that batch query.</p>
<pre>curl --user user:pass1 'https://data.oxylabs.io/v1/queries/batch' -H 'Content-Type: application/json'
 -d '@keywords.json'
</pre>
<p><code>keywords.json</code> content:</p>
<pre>{  
   "query":[  
      "adidas",
      "nike",
      "reebok"
   ],
   "source": "bing_search",
   "domain": "com",
   "callback_url": "https://your.callback.url"
}
</pre>
<p>The API will respond with query information in JSON format, by printing it in response body, similar to this:</p>
<pre>{
  "queries": [
    {
      "callback_url": "https://your.callback.url",
      {...}
      "created_at": "2019-10-01 00:00:01",
      "domain": "com",
      "id": "12345678900987654321",
      {...}
      "query": "adidas",
      "source": "bing_search",
      {...}
          "rel": "results",
          "href": "http://data.oxylabs.io/v1/queries/12345678900987654321/results",
          "method": "GET"
        }
      ]
    },
    {
      "callback_url": "https://your.callback.url",
      {...}
      "created_at": "2019-10-01 00:00:01",
      "domain": "com",
      "id": "12345678901234567890",
      {...}
      "query": "nike",
      "source": "bing_search",
      {...}
          "rel": "results",
          "href": "http://data.oxylabs.io/v1/queries/12345678901234567890/results",
          "method": "GET"
        }
      ]
    },
    {
      "callback_url": "https://your.callback.url",
      {...}
      "created_at": "2019-10-01 00:00:01",
      "domain": "com",
      "id": "01234567899876543210",
      {...}
      "query": "reebok",
      "source": "bing_search",
      {...}
          "rel": "results",
          "href": "http://data.oxylabs.io/v1/queries/01234567899876543210/results",
          "method": "GET"
        }
      ]
    }
  ]
}
</pre>
<hr />
<h4 id="get-notifier-ip-address-list"><strong>Get Notifier IP Address List</strong></h4>
<p>You may want to whitelist the IPs sending you callback messages or get the list of these IPs for other purposes. This can be done by <code>GET</code>ing this endpoint: <code>https://data.oxylabs.io/v1/info/callbacker_ips</code>.</p>
<pre>curl --user user:pass1 'https://data.oxylabs.io/v1/info/callbacker_ips'
</pre>
<p>The API will return the list of IPs making callback requests to your system:</p>
<pre>{
    "ips": [
        "x.x.x.x",
        "y.y.y.y"
    ]
}
</pre>
<hr />
<h4 id="upload-to-storage"><strong>Upload to Storage</strong></h4>
<p>By default RTC job results are stored in our databases. This means that you will need to query our results endpoint and retrieve content yourself. Custom storage feature allows you to store results in your own cloud storage. The advantage of this feature is that you don't have to make extra requests in order to fetch results &#8211; everything goes directly to your storage bucket.</p>
<p>We support Amazon S3 and Google Cloud Storage. If you would like to use a different type of storage, please contact your account manager to discuss the feature delivery timeline.</p>
<p id="amazon-s3"><strong>Amazon S3</strong></p>
<p>To get your job results uploaded to your Amazon S3 bucket, please set up access permissions for our service. To do that, go to <code>https://s3.console.aws.amazon.com/ &gt; S3 &gt; Storage &gt; Bucket Name (if don't have one, create new) &gt; Permissions &gt; Bucket Policy</code></p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8257" src="https://www.proxysp.com/wp-content/uploads/2021/09/oxylabs-Real-Time-Crawler-for-Bing-Upload-to-Storage1.png" alt="oxylabs Real-Time Crawler for Bing Upload to Storage1" width="485" height="325" srcset="https://proxysp.com/wp-content/uploads/2021/09/oxylabs-Real-Time-Crawler-for-Bing-Upload-to-Storage1.png 485w, https://proxysp.com/wp-content/uploads/2021/09/oxylabs-Real-Time-Crawler-for-Bing-Upload-to-Storage1-300x201.png 300w" sizes="(max-width: 485px) 100vw, 485px" /></p>
<p>You can find bucket policy in this <a class="custom_link" href="https://docs.oxylabs.io/resources/s3_bucket_policy.json" target="_blank" rel="noopener">JSON</a> or in code sample area on the right. Don't forget to change bucket name under <code>YOUR_BUCKET_NAME</code>. This policy allows us to write to your bucket, give access to uploaded files to you, and know bucket location.</p>
<p id="google-cloud-storage"><strong>Google Cloud Storage</strong></p>
<p>To get your job results uploaded to your Google Cloud Storage bucket, please set up special permissions for our service. To do that, please create a custom role with the <code>storage.objects.create</code> permission and assign it to the Oxylabs service account email <code>oxyserps-storage@oxyserps-storage.iam.gserviceaccount.com</code>.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8258" src="https://www.proxysp.com/wp-content/uploads/2021/09/oxylabs-Real-Time-Crawler-for-Bing-Upload-to-Storage2.png" alt="oxylabs Real-Time Crawler for Bing Upload to Storage2" width="484" height="311" srcset="https://proxysp.com/wp-content/uploads/2021/09/oxylabs-Real-Time-Crawler-for-Bing-Upload-to-Storage2.png 484w, https://proxysp.com/wp-content/uploads/2021/09/oxylabs-Real-Time-Crawler-for-Bing-Upload-to-Storage2-300x193.png 300w" sizes="(max-width: 484px) 100vw, 484px" /></p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8259" src="https://www.proxysp.com/wp-content/uploads/2021/09/oxylabs-Real-Time-Crawler-for-Bing-Upload-to-Storage3.png" alt="oxylabs Real-Time Crawler for Bing Upload to Storage3" width="484" height="668" srcset="https://proxysp.com/wp-content/uploads/2021/09/oxylabs-Real-Time-Crawler-for-Bing-Upload-to-Storage3.png 484w, https://proxysp.com/wp-content/uploads/2021/09/oxylabs-Real-Time-Crawler-for-Bing-Upload-to-Storage3-217x300.png 217w" sizes="(max-width: 484px) 100vw, 484px" /></p>
<p id="usage"><strong>Usage</strong></p>
<p>To use this feature, please specify two additional parameters in your requests. Learn more <a href="#direct">here</a>.</p>
<p>The upload path looks like this: <code>YOUR_BUCKET_NAME/job_ID.json</code>. You will find job ID in response body that you receive from us after submitting a request. In <a href="#single-query">this example</a> job ID is <code>12345678900987654321</code>.</p>
<pre>{
    "Version": "2012-10-17",
    "Id": "Policy1577442634787",
    "Statement": [
        {
            "Sid": "Stmt1577442633719",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::324311890426:user/oxylabs.s3.uploader"
            },
            "Action": "s3:GetBucketLocation",
            "Resource": "arn:aws:s3:::YOUR_BUCKET_NAME"
        },
        {
            "Sid": "Stmt1577442633719",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::324311890426:user/oxylabs.s3.uploader"
            },
            "Action": [
                "s3:PutObject",
                "s3:PutObjectAcl"
            ],
            "Resource": "arn:aws:s3:::YOUR_BUCKET_NAME/*"
        }
    ]
}
</pre>
<hr />
<h3 id="realtime">Realtime</h3>
<p>The data submission is the same as in Push-Pull method, but Realtime case we will return the content on open connection. You send us a query, the connection remains open, we retrieve the content and bring it to you. The endpoint that handles that is this:</p>
<pre>POST https://realtime.oxylabs.io/v1/queries
</pre>
<p>There is a timeout limit of 150 seconds for open connections, therefore in rare cases of heavy load we may not be able to ensure the data gets to you.</p>
<p>You need to post query parameters as data in JSON body. Please see example for more details.</p>
<pre>curl --user user:pass1 'https://realtime.oxylabs.io/v1/queries' -H "Content-Type: application/json" 
 -d '{"source": "bing_search", "domain": "com", "query": "adidas"}'
</pre>
<p>Example response body that will be returned on open connection:</p>
<pre>{
  "results": [
    {
      "content": "
      CONTENT
      "
      "created_at": "2019-10-01 00:00:01",
      "updated_at": "2019-10-01 00:00:15",
      "id": null,
      "page": 1,
      "url": "https://www.bing.com/search?q=adidas",
      "job_id": "12345678900987654321",
      "status_code": 200
    }
  ]
}
</pre>
<hr />
<h3 id="superapi">SuperAPI</h3>
<p>If you ever used regular proxies for data scraping, integrating SuperAPI delivery method will be a breeze. All that needs to be done is to use our entry node as proxy, authorize with Real-Time Crawler credentials, and ignore certificates. In <code>cURL</code> it's <code>-k</code> or <code>--insecure</code>. Your data will reach you on open connection.</p>
<pre>GET realtime.oxylabs.io:60000
</pre>
<p>SuperAPI only supports a handful of parameters since it <strong>only works with <a href="#direct">Direct</a> data source</strong> where full URL is provided. These parameters should be sent as headers. This is a list of accepted parameters:</p>
<div class="su-table su-table-responsive su-table-alternate">
<table>
<tbody>
<tr>
<td><code>X-OxySERPs-User-Agent-Type</code></td>
<td>There is no way to indicate a specific User-Agent, but you can let us know which browser and platform to use. A list of supported User-Agents can be found <a href="#user-agent">here</a>.</td>
</tr>
<tr>
<td><code>X-OxySERPs-Geo-Location</code></td>
<td>The API uses Canonical Geo Location format to determine request location. It goes like this: <code>City,Region,Country</code>, for example <code>Harrisburg,Arkansas,United States</code>). More information how to create Canonical Geolocation name can be found <a class="custom_link" href="https://developers.google.com/adwords/api/docs/appendix/geotargeting" target="_blank" rel="nofollow noopener">here</a>.</td>
</tr>
</tbody>
</table>
</div>
<p>If you need help setting up SuperAPI, drop a line at <a class="custom_link" href="mailto:support@oxylabs.io" target="_blank" rel="nofollow noopener">support@oxylabs.io</a>.</p>
<pre>curl -k -x realtime.oxylabs.io:60000 -U user:pass1 -H "X-OxySERPs-User-Agent-Type: desktop_chrome" 
-H "X-OxySERPs-Geo-Location: 15550" "https://bing.com/search/?text=nike"
</pre>
<hr />
<h2 id="content-type">Content Type</h2>
<p>Real-Time Crawler returns <strong>raw HTML</strong>.</p>
<hr />
<h2 id="data-sources">Data Sources</h2>
<p>There are two approaches on how to retrieve data from Bing using Real-Time Crawler. You can give us full URL via <a href="#direct">Direct</a>, or you can specify parameters via specifically built data source &#8211; <a href="#search">Search</a>.</p>
<p>If you are unsure which way to choose, drop us a line at <a class="custom_link" href="mailto:support@oxylabs.io" target="_blank" rel="nofollow noopener">support@oxylabs.io</a> or contact your account manager.</p>
<hr />
<h3 id="direct">Direct</h3>
<p><img loading="lazy" decoding="async" class="size-full wp-image-8260 alignnone" src="https://www.proxysp.com/wp-content/uploads/2021/09/Oxylabs-Real-Time-Crawler-for-Bing-Direct.png" alt="Oxylabs Real-Time Crawler for Bing Direct" width="424" height="24" srcset="https://proxysp.com/wp-content/uploads/2021/09/Oxylabs-Real-Time-Crawler-for-Bing-Direct.png 424w, https://proxysp.com/wp-content/uploads/2021/09/Oxylabs-Real-Time-Crawler-for-Bing-Direct-300x17.png 300w" sizes="(max-width: 424px) 100vw, 424px" /></p>
<p><code>bing</code> source is designed to retrieve content of direct URLs of various Bing pages. This means that instead of sending multiple parameters, you can provide us with a direct URL to required Bing page. We do not strip any parameters or alter your URLs in any other way.</p>
<p><span class="test">Query parameters</span></p>
<div class="su-table su-table-responsive su-table-alternate">
<table width="216">
<tbody>
<tr>
<td style="font-weight: 400;" width="72"><strong>Parameter</strong></td>
<td style="font-weight: 400;" width="72"><strong>Description</strong></td>
<td style="font-weight: 400;" width="72"><strong>Default Value</strong></td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">source</td>
<td style="font-weight: 400;" width="72">Data source</td>
<td style="font-weight: 400;" width="72">bing</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">url</td>
<td style="font-weight: 400;" width="72">Direct URL (link) to Bing page</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">user_agent_type</td>
<td style="font-weight: 400;" width="72">Device type and browser. The full list can be found <a href="#user-agent">here.</a></td>
<td style="font-weight: 400;" width="72">desktop</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">geo_location</td>
<td style="font-weight: 400;" width="72">The API uses Canonical Geo Location format to determine request location. It goes like this: City,Region,Country, for example Harrisburg,Arkansas,United States). More information how to create Canonical Geolocation name can be found <a href="https://developers.google.com/adwords/api/docs/appendix/geotargeting" target="_blank" rel="nofollow noopener">here.</a></td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">callback_url</td>
<td style="font-weight: 400;" width="72">URL to your callback endpoint</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">storage_type</td>
<td style="font-weight: 400;" width="72">Storage service provider. We support Amazon S3 and Google Cloud Storage. The storage_type parameter values for these storage providers are, correspondingly, s3 and gcs. The full implementation can be found on the <a href="#upload-to-storage">Upload to Storage</a> page. This feature only works via Push-Pull (Callback) method.</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">storage_url</td>
<td style="font-weight: 400;" width="72">Your storage bucket name. Only works via Push-Pull (Callback) method.</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" colspan="3" width="216">   &#8211; required parameter</td>
</tr>
</tbody>
</table>
</div>
<p>In this example the API will retrieve Bing search for keyword <code>nike</code> in Push-Pull method:</p>
<pre>curl --user user:pass1 'https://data.oxylabs.io/v1/queries' -H "Content-Type: application/json"
 -d '{"source": "bing", "url": "https://bing.com/search/?text=nike&"}'
</pre>
<p>Here is the same example in Realtime:</p>
<pre>curl --user user:pass1 'https://realtime.oxylabs.io/v1/queries' -H "Content-Type: application/json"
 -d '{"source": "bing", "url": "https://bing.com/search/?text=nike&"}'
</pre>
<p>And via SuperAPI:</p>
<pre>curl -k -x realtime.oxylabs.io:60000 -U user:pass1 "https://bing.com/search/?text=nike&"
</pre>
<hr />
<h3 id="search">Search</h3>
<p><img loading="lazy" decoding="async" class="size-full wp-image-8262 alignnone" src="https://www.proxysp.com/wp-content/uploads/2021/09/Oxylabs-Real-Time-Crawler-for-Bing-Search.png" alt="Oxylabs Real-Time Crawler for Bing Search" width="443" height="26" srcset="https://proxysp.com/wp-content/uploads/2021/09/Oxylabs-Real-Time-Crawler-for-Bing-Search.png 443w, https://proxysp.com/wp-content/uploads/2021/09/Oxylabs-Real-Time-Crawler-for-Bing-Search-300x18.png 300w" sizes="(max-width: 443px) 100vw, 443px" /></p>
<p><code>bing_search</code> source is designed to retrieve Bing Search results (SERP).</p>
<p><span class="test">Query parameters</span></p>
<div class="su-table su-table-responsive su-table-alternate">
<table width="216">
<tbody>
<tr>
<td style="font-weight: 400;" width="72"><strong>Parameter</strong></td>
<td style="font-weight: 400;" width="72"><strong>Description</strong></td>
<td style="font-weight: 400;" width="72"><strong>Default Value</strong></td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">source</td>
<td style="font-weight: 400;" width="72">Data source</td>
<td style="font-weight: 400;" width="72">bing_search</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">domain</td>
<td style="font-weight: 400;" width="72">Domain localization. Available domains: com, ru, ua, by, kz, tr</td>
<td style="font-weight: 400;" width="72">com</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">query</td>
<td style="font-weight: 400;" width="72">UTF-encoded keyword</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">start_page</td>
<td style="font-weight: 400;" width="72">Starting page number</td>
<td style="font-weight: 400;" width="72">1</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">pages</td>
<td style="font-weight: 400;" width="72">Number of pages to retrieve</td>
<td style="font-weight: 400;" width="72">1</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">limit</td>
<td style="font-weight: 400;" width="72">Number of results to retrieve in each page</td>
<td style="font-weight: 400;" width="72">10</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">locale</td>
<td style="font-weight: 400;" width="72">Language. You can use either a 2-letter ISO country code (ex. en, by, fr, etc.), or a language tag (ex. en-US, de-DE, ar-EG, etc.).</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">geo_location</td>
<td style="font-weight: 400;" width="72">The API uses Canonical Geo Location format to determine request location. It goes like this: City,Region,Country, for example Harrisburg,Arkansas,United States). More information how to create Canonical Geolocation name can be found<a href="https://developers.google.com/adwords/api/docs/appendix/geotargeting" target="_blank" rel="nofollow noopener"> here.</a></td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">user_agent_type</td>
<td style="font-weight: 400;" width="72">Device type and browser. The full list can be found <a href="#user-agent">here.</a></td>
<td style="font-weight: 400;" width="72">desktop</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">callback_url</td>
<td style="font-weight: 400;" width="72">URL to your callback endpoint</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">storage_type</td>
<td style="font-weight: 400;" width="72">Storage service provider. We support Amazon S3 and Google Cloud Storage. The storage_type parameter values for these storage providers are, correspondingly, s3 and gcs. The full implementation can be found on the <a href="#upload-to-storage">Upload to Storage </a>page. This feature only works via Push-Pull (Callback) method.</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">storage_url</td>
<td style="font-weight: 400;" width="72">Your storage bucket name. Only works via Push-Pull (Callback) method.</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" colspan="3" width="216">   &#8211; required parameter</td>
</tr>
</tbody>
</table>
</div>
<p>API makes request to <code>bing.com</code> to retrieve search results pages from number 11 to number 20 for keyword <code>adidas</code>. The API will post a JSON request to <code>your.callback.url</code> containing the URL to download the raw HTML output once the data retrieval task is successfully finished. This is Push-Pull:</p>
<pre>curl --user user:pass1 'https://data.oxylabs.io/v1/queries' -H "Content-Type: application/json"
 -d '{"source": "bing_search", "domain": "com", "query": "adidas", "start_page": 11, "pages": 10, "callback_url": "https://your.callback.url"}'
</pre>
<p>And here is the same example in Realtime:</p>
<pre>curl --user user:pass1 'https://realtime.oxylabs.io/v1/queries' -H "Content-Type: application/json"
 -d '{"source": "bing_search", "domain": "com", "query": "adidas", "start_page": 11, "pages": 10, "callback_url": "https://your.callback.url"}'
</pre>
<hr />
<h2 id="parameter-values">Parameter Values</h2>
<h3 id="user-agent">User-Agent</h3>
<p>Download full list of <code>user_agent_type</code> values in JSON <a class="custom_link" href="https://docs.oxylabs.io/resources/user_agent_type.json" target="_blank" rel="noopener">here</a>.</p>
<pre>[
  {
    "user_agent_type": "desktop",
    "description": "Random desktop browser User-Agent"
  },
  {
    "user_agent_type": "desktop_firefox",
    "description": "Random User-Agent of one of the latest versions of desktop Firefox"
  },
  {
    "user_agent_type": "desktop_chrome",
    "description": "Random User-Agent of one of the latest versions of desktop Chrome"
  },
  {
    "user_agent_type": "desktop_opera",
    "description": "Random User-Agent of one of the latest versions of desktop Opera"
  },
  {
    "user_agent_type": "desktop_edge",
    "description": "Random User-Agent of one of the latest versions of desktop Edge"
  },
  {
    "user_agent_type": "desktop_safari",
    "description": "Random User-Agent of one of the latest versions of desktop Safari"
  },
  {
    "user_agent_type": "mobile",
    "description": "Random mobile browser User-Agent"
  },
  {
    "user_agent_type": "mobile_android",
    "description": "Random User-Agent of one of the latest versions of Android browser"
  },
  {
    "user_agent_type": "mobile_ios",
    "description": "Random User-Agent of one of the latest versions of iPhone browser"
  },
  {
    "user_agent_type": "tablet",
    "description": "Random tablet browser User-Agent"
  },
  {
    "user_agent_type": "tablet_android",
    "description": "Random User-Agent of one of the latest versions of Android tablet"
  },
  {
    "user_agent_type": "tablet_ios",
    "description": "Random User-Agent of one of the latest versions of iPad tablet"
  }
]
</pre>
<hr />
<h2 id="account-status">Account Status</h2>
<h3 id="usage-statistics">Usage Statistics</h3>
<p>You can find your usage statistics by querying the following endpoint:</p>
<pre>GET https://data.oxylabs.io/v1/stats
</pre>
<p>By default the API will return all time usage statistics. Adding <code>?group_by=month</code> will return monthly stats, while <code>?group_by=day</code> will return daily numbers.</p>
<p>This query will return all time statistics. You can find your daily and monthly usage by adding either <code>?group_by=day</code> or <code>?group_by=month</code></p>
<pre>curl --user user:pass1 'https://data.oxylabs.io/v1/stats'
</pre>
<p>Sample output:</p>
<pre>{
    "data": {
        "sources": [
            {
                "realtime_results_count": "90",
                "results_count": "10",
                "title": "bing"
            },
            {
                "realtime_results_count": "19",
                "results_count": "87",
                "title": "bing_search"
            }
        ]
    },
    "meta": {
        "group_by": null
    }
}
</pre>
<hr />
<h3 id="limits">Limits</h3>
<p>The following endpoint will give your monthly commitment information as well as how much has already been used:</p>
<pre>GET https://data.oxylabs.io/v1/stats/limits
</pre>
<pre>curl --user user:pass1 'https://data.oxylabs.io/v1/stats/limits'
</pre>
<p>Sample output:</p>
<pre>{
    "monthly_requests_commitment": 4500000,
    "used_requests": 985000
}
</pre>
<hr />
<h2 id="response-codes">Response Codes</h2>
<div class="su-table su-table-responsive su-table-alternate">
<table>
<thead>
<tr>
<th>Code</th>
<th>Status</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>204</code></td>
<td>No Content</td>
<td>You are trying to retrieve a job that has not been completed yet.</td>
</tr>
<tr>
<td><code>400</code></td>
<td>Multiple error messages</td>
<td>Bad request structure, could be a misspelled parameter or invalid value. Response body will have more specific error message.</td>
</tr>
<tr>
<td><code>401</code></td>
<td>&#8216;Authorization header not provided' / &#8216;Invalid authorization header' / &#8216;Client not found'</td>
<td>Missing authorization header or incorrect login credentials.</td>
</tr>
<tr>
<td><code>403</code></td>
<td>Forbidden</td>
<td>Your account does not have access to this resource.</td>
</tr>
<tr>
<td><code>404</code></td>
<td>Not Found</td>
<td>Job ID you are looking for is no longer available.</td>
</tr>
<tr>
<td><code>429</code></td>
<td>Too many requests</td>
<td>Exceeded rate limit. Please contact your account manager to increase limits.</td>
</tr>
<tr>
<td><code>500</code></td>
<td>Unknown Error</td>
<td>Service unavailable.</td>
</tr>
<tr>
<td><code>524</code></td>
<td>Timeout</td>
<td>Service unavailable.</td>
</tr>
<tr>
<td><code>612</code></td>
<td>Undefined Internal Error</td>
<td>Something went wrong and we failed the job you submitted. You can try again at no extra cost, as we don't charge you for <code>faulted</code> jobs. If that doesn't work, give us a shout.</td>
</tr>
<tr>
<td><code>613</code></td>
<td>Faulted After Too Many Retries</td>
<td>We tried scraping the job you submitted, but gave up after reaching our retry limit. You can try again at no extra cost, as we don't charge you for <code>faulted</code> jobs. If that doesn't work, give us a shout.</td>
</tr>
</tbody>
</table>
</div>
<p>Cloud storage upload response codes:</p>
<div class="su-table su-table-responsive su-table-alternate">
<table>
<tbody>
<tr>
<td><code>10001</code></td>
<td>Unexpected Exception</td>
<td>Something terribly wrong happened. We probably know about this already and are fixing it. Let us know anyway.</td>
</tr>
<tr>
<td><code>13000</code></td>
<td>Upload Success</td>
<td>All good!</td>
</tr>
<tr>
<td><code>13001</code></td>
<td>Upload Failed</td>
<td>We couldn't upload job results your bucket.</td>
</tr>
<tr>
<td><code>13102</code></td>
<td>No Such Path</td>
<td>We couldn't find a bucket with such name. Please double check.</td>
</tr>
<tr>
<td><code>13103</code></td>
<td>Access Denied</td>
<td>Bucket doesn't have required permissions. To find out how to give us required access, see <a href="#upload-to-storage">here</a>.</td>
</tr>
</tbody>
</table>
</div>
<hr />
<h4>References</h4>
<ul>
<li><a href="https://docs.oxylabs.io/rtc/source/bing/index.html" target="_blank" rel="nofollow noopener">https://docs.oxylabs.io/rtc/source/bing/index.html</a></li>
<li><a href="https://docs.oxylabs.io/rtc/index.html" target="_blank" rel="nofollow noopener">https://docs.oxylabs.io/rtc/index.html</a></li>
</ul>
<p>&nbsp;</p>
<hr />
<blockquote><p><strong>Disclaimer:</strong> This part of the content is mainly from the merchant. If the merchant does not want it to be displayed on my website, please <a href="https://www.proxysp.com/contact-us/">contact us</a> to delete your content.</p></blockquote>
]]></content:encoded>
					
					<wfw:commentRss>https://proxysp.com/oxylabs-bing-real-time-crawler/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7634</post-id>	</item>
		<item>
		<title>How to Use OxyLabs Real-Time Crawler [Part 2]: Real-Time Crawler for Yandex</title>
		<link>https://proxysp.com/oxylabs-yandex-real-time-crawler/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=oxylabs-yandex-real-time-crawler</link>
					<comments>https://proxysp.com/oxylabs-yandex-real-time-crawler/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
				<category><![CDATA[How to Use OxyLabs Proxy (OxyLabs User Manual Navigation)]]></category>
		<guid isPermaLink="false">https://www.proxysp.com/?p=7633</guid>

					<description><![CDATA[Do you know how to use OxyLabs Real-time Crawler for Yandex? This is the most comprehensive introduction from OxyLabs official. Quick Start Real-Time Crawler is built &#8230;<p class="read-more"> <a class="ast-button" href="https://proxysp.com/oxylabs-yandex-real-time-crawler/"> <span class="screen-reader-text">How to Use OxyLabs Real-Time Crawler [Part 2]: Real-Time Crawler for Yandex</span> Read More &#187;</a></p>]]></description>
										<content:encoded><![CDATA[<blockquote><p>Do you know how to use OxyLabs Real-time Crawler for Yandex? This is the most comprehensive introduction from OxyLabs official.</p></blockquote>
<h2 id="quick-start">Quick Start</h2>
<p>Real-Time Crawler is built for heavy-duty data retrieval operations. You can use Real-Time Crawler to access various Yandex pages. It enables effortless web data extraction from search engines without any delays or errors.</p>
<p>Real-Time Crawler for Yandex uses <a class="custom_link" href="https://en.wikipedia.org/wiki/Basic_access_authentication" target="_blank" rel="nofollow noopener">basic HTTP authentication</a> that requires sending username and password.</p>
<p>This is by far the fastest way to start using Real-Time Crawler for Yandex. You will send a query <code>adidas</code> to <code>yandex_search</code> using <a href="#realtime">Realtime</a> integration method. Don't forget to replace <code>USERNAME</code> and <code>PASSWORD</code> with your proxy user credentials.</p>
<pre>curl --user "USERNAME:PASSWORD" 'https://realtime.oxylabs.io/v1/queries' -H "Content-Type: application/json" -d '{"source": "yandex_search", "domain": "com", "query": "adidas"}'
</pre>
<p>If you have any questions not covered by this documentation, please contact your account manager or our support staff at <a class="custom_link" href="mailto:support@oxylabs.io" target="_blank" rel="nofollow noopener">support@oxylabs.io</a>.</p>
<hr />
<h2 id="integration-methods">Integration Methods</h2>
<p>Real-Time Crawler for Yandex supports three integration methods which have their unique benefits:</p>
<ul>
<li><a href="#push-pull">Push-Pull</a>. Using this method it is now required to mainain an active connection with our endpoint to retrieve the data. Upon making a request, our system is able to automatically ping users server when the job is done (see <a href="#callback">Callback</a>). This method saves computing resources and can be scaled easily.</li>
<li><a href="#realtime">Realtime</a>. The method requires user to maintain an active connection with our endpoint in order to get the results successfully when the job is completed. This method can be implemented into one service while Push-Pull method is a two step process.</li>
<li><a href="#superapi">SuperAPI</a>. This method is very similar to Realtime but instead posting data to our endpoint, user can use HTML Cralwer as a proxy. To retrieve the data, user must set up a proxy endpoint and make GET request to a desired URL. Additional parameters must be added using headers.</li>
</ul>
<p>Our recommended data extraction method is <a href="#push-pull">Push-Pull</a>.</p>
<hr />
<h3 id="push-pull">Push-Pull</h3>
<p>This is the most simple yet the most reliable and recommended data delivery method. In Push-Pull scenario you send us a query, we return you job <code>id</code>, and once the job is done you can use that <code>id</code> to retrieve content from <code>/results</code> endpoint. You can check job completion status yourself, or you can set up a simple listener that is able to accept POST queries.</p>
<p>This way we will send you a callback message once the job is ready to be retrieved. In this particular example the results will be automatically <a href="#upload-to-storage">uploaded to your S3 bucket</a> named <code>YOUR_BUCKET_NAME</code>.</p>
<hr />
<h4 id="single-query"><strong>Single Query</strong></h4>
<p>The following endpoint will handle single queries for one keyword or URL. The API will return a confirmation message containing job information, including job <code>id</code>. You can check job completion status using that <code>id</code>, or you can ask us to ping your callback endpoint once the scraping task is finished by adding <code>callback_url</code> in the query.</p>
<pre>POST https://data.oxylabs.io/v1/queries
</pre>
<p>You need to post query parameters as data in JSON body.</p>
<pre>curl --user user:pass1 'https://data.oxylabs.io/v1/queries' -H "Content-Type: application/json" 
 -d '{"source": "yandex_search", "domain": "com", "query": "adidas", "callback_url": "https://your.callback.url", "storage_type": "s3", "storage_url": "YOUR_BUCKET_NAME"}'
</pre>
<p>The API will respond with query information in JSON format, by printing it in response body, similar to this:</p>
<pre>{
  "callback_url": "https://your.callback.url",
  "client_id": 5,
  "created_at": "2019-10-01 00:00:01",
  "domain": "com",
  "geo_location": null,
  "id": "12345678900987654321",
  "limit": 10,
  "locale": null,
  "pages": 1,
  "parse": false,
  "render": null,
  "query": "adidas",
  "source": "yandex_search",
  "start_page": 1,
  "status": "pending",
  "storage_type": "s3",
  "storage_url": "YOUR_BUCKET_NAME/12345678900987654321.json",
  "subdomain": "www",
  "updated_at": "2019-10-01 00:00:01",
  "user_agent_type": "desktop",
  "_links": [
    {
      "rel": "self",
      "href": "http://data.oxylabs.io/v1/queries/12345678900987654321",
      "method": "GET"
    },
    {
      "rel": "results",
      "href": "http://data.oxylabs.io/v1/queries/12345678900987654321/results",
      "method": "GET"
    }
  ]
}
</pre>
<hr />
<h4 id="check-job-status"><strong>Check Job Status</strong></h4>
<p>If your query had <code>callback_url</code>, we will send you a message containing link to content once the scraping task is done. However, if there was no <code>callback_url</code> in the query, you will need to check job status yourself. For that you need to use the URL in <code>href</code> under <code>rel</code>:<code>self</code> in the response message you received after submitting your query to our API. It should look similar to this: <code>http://data.oxylabs.io/v1/queries/12345678900987654321</code>.</p>
<pre>GET https://data.oxylabs.io/v1/queries/{id}
</pre>
<p>Querying this link will return job information, including its <code>status</code>. There are 3 possible <code>status</code> values:</p>
<div class="su-table su-table-responsive su-table-alternate">
<table>
<tbody>
<tr>
<td><code>pending</code></td>
<td>The job is still in the queue and has not been completed.</td>
</tr>
<tr>
<td><code>done</code></td>
<td>The job is completed, you may retrieve the result by querying the URL in <code>href</code> under <code>rel</code>:<code>results</code> : <code>http://data.oxylabs.io/v1/queries/12345678900987654321/results</code></td>
</tr>
<tr>
<td><code>faulted</code></td>
<td>There was an issue with the job and we couldn't complete it, most likely due to a server error on the target site's side.</td>
</tr>
</tbody>
</table>
</div>
<pre>curl --user user:pass1 'http://data.oxylabs.io/v1/queries/12345678900987654321'
</pre>
<p>The API will respond with query information in JSON format, by printing it in response body. Notice that job <code>status</code> has been changed to <code>done</code>. You can now retrieve content by querying <code>http://data.oxylabs.io/v1/queries/12345678900987654321/results</code>.</p>
<p>You can also see that the task has been <code>updated_at</code> <code>2019-10-01 00:00:15</code> &#8211; the query took 14 seconds to complete.</p>
<pre>{
  "client_id": 5,
  "created_at": "2019-10-01 00:00:01",
  "domain": "com",
  "geo_location": null,
  "id": "12345678900987654321",
  "limit": 10,
  "locale": null,
  "pages": 1,
  "parse": false,
  "render": null,
  "query": "adidas",
  "source": "yandex_search",
  "start_page": 1,
  "status": "done",
  "subdomain": "www",
  "updated_at": "2019-10-01 00:00:15",
  "user_agent_type": "desktop",
  "_links": [
    {
      "rel": "self",
      "href": "http://data.oxylabs.io/v1/queries/12345678900987654321",
      "method": "GET"
    },
    {
      "rel": "results",
      "href": "http://data.oxylabs.io/v1/queries/12345678900987654321/results",
      "method": "GET"
    }
  ]
}
</pre>
<hr />
<h4 id="retrieve-job-content"><strong>Retrieve Job Content</strong></h4>
<p>Once you know the job is ready to retrieved either by checking its status or receiving a callback from us, you can GET it using the URL in <code>href</code> under <code>rel</code>:<code>results</code> in either our initial response or in callback message. It should look similar to this: <code>http://data.oxylabs.io/v1/queries/12345678900987654321/results</code>.</p>
<pre>GET https://data.oxylabs.io/v1/queries/{id}/results
</pre>
<p>The results can be automatically retrieved without periodically checking job status by setting up <a href="#callback">Callback</a> service. User needs to specfy the IP or domain of the server where the Callback service is running. When our system completes a job, it will send a message to the provided IP or domain and the Callback service will download the results as described in the <a href="#callback">Callback implementation example</a>.</p>
<pre>curl --user user:pass1 'http://data.oxylabs.io/v1/queries/12345678900987654321/results'
</pre>
<p>The API will return job content:</p>
<pre>{
  "results": [
    {
      "content": "&lt;!doctype html&gt;
        CONTENT      
      ",
      "created_at": "2019-10-01 00:00:01",
      "updated_at": "2019-10-01 00:00:15",
      "page": 1,
      "url": "https://www.yandex.com/search?q=adidas&hl=en&gl=US",
      "job_id": "12345678900987654321",
      "status_code": 200
    }
  ]
}
</pre>
<hr />
<h4 id="callback"><strong>Callback</strong></h4>
<p>A callback is a <code>POST</code> request we send to your machine, informing that the data extraction task is completed and providing URL to download scraped content. This means that you no longer need to <a href="#check-job-status">check job status</a> manually. Once the data is here, we will let you know, and all you need to do now is <a href="#retrieve-job-content">retrieve it</a>.</p>
<pre># Please see code samples in Python and PHP.
</pre>
<p>Sample callback output</p>
<pre>{  
   "created_at":"2019-10-01 00:00:01",
   "updated_at":"2019-10-01 00:00:15",
   "locale":null,
   "client_id":163,
   "user_agent_type":"desktop",
   "source":"yandex_search",
   "pages":1,
   "subdomain":"www",
   "status":"done",
   "start_page":1,
   "parse":0,
   "render":null,
   "priority":0,
   "ttl":0,
   "origin":"api",
   "persist":true,
   "id":"12345678900987654321",
   "callback_url":"http://your.callback.url/",
   "query":"adidas",
   "domain":"com",
   "limit":10,
   "geo_location":null,
   {...}
   "_links":[
      {  
         "href":"https://data.oxylabs.io/v1/queries/12345678900987654321",
         "method":"GET",
         "rel":"self"
      },
      {  
         "href":"https://data.oxylabs.io/v1/queries/12345678900987654321/results",
         "method":"GET",
         "rel":"results"
      }
   ],
}
</pre>
<hr />
<h4 id="batch-query"><strong>Batch Query</strong></h4>
<p>Real-Time Crawler also supports executing multiple keywords, up to 1,000 keywords with each batch. The following endpoint will submit multiple keywords to the extraction queue.</p>
<pre>POST https://data.oxylabs.io/v1/queries/batch
</pre>
<p>You need to post query parameters as data in JSON body.</p>
<p>The system will handle every keyword as a separate request. If you provided callback URL, you will get a separate call for each keyword. Otherwise, our initial response will contain job <code>id</code>s for all keywords. For example, if you sent 50 keywords, we will return 50 unique job <code>id</code>s.</p>
<p>Important! <code>query</code> is the only parameter that can have multiple values. All other parameters are the same for that batch query.</p>
<pre>curl --user user:pass1 'https://data.oxylabs.io/v1/queries/batch' -H 'Content-Type: application/json'
 -d '@keywords.json'
</pre>
<p><code>keywords.json</code> content:</p>
<pre>{  
   "query":[  
      "adidas",
      "nike",
      "reebok"
   ],
   "source": "yandex_search",
   "domain": "com",
   "callback_url": "https://your.callback.url"
}
</pre>
<p>The API will respond with query information in JSON format, by printing it in response body, similar to this:</p>
<pre>{
  "queries": [
    {
      "callback_url": "https://your.callback.url",
      {...}
      "created_at": "2019-10-01 00:00:01",
      "domain": "com",
      "id": "12345678900987654321",
      {...}
      "query": "adidas",
      "source": "yandex_search",
      {...}
          "rel": "results",
          "href": "http://data.oxylabs.io/v1/queries/12345678900987654321/results",
          "method": "GET"
        }
      ]
    },
    {
      "callback_url": "https://your.callback.url",
      {...}
      "created_at": "2019-10-01 00:00:01",
      "domain": "com",
      "id": "12345678901234567890",
      {...}
      "query": "nike",
      "source": "yandex_search",
      {...}
          "rel": "results",
          "href": "http://data.oxylabs.io/v1/queries/12345678901234567890/results",
          "method": "GET"
        }
      ]
    },
    {
      "callback_url": "https://your.callback.url",
      {...}
      "created_at": "2019-10-01 00:00:01",
      "domain": "com",
      "id": "01234567899876543210",
      {...}
      "query": "reebok",
      "source": "yandex_search",
      {...}
          "rel": "results",
          "href": "http://data.oxylabs.io/v1/queries/01234567899876543210/results",
          "method": "GET"
        }
      ]
    }
  ]
}
</pre>
<hr />
<h4 id="get-notifier-ip-address-list"><strong>Get Notifier IP Address List</strong></h4>
<p>You may want to whitelist the IPs sending you callback messages or get the list of these IPs for other purposes. This can be done by <code>GET</code>ing this endpoint: <code>https://data.oxylabs.io/v1/info/callbacker_ips</code>.</p>
<pre>curl --user user:pass1 'https://data.oxylabs.io/v1/info/callbacker_ips'
</pre>
<p>The API will return the list of IPs making callback requests to your system:</p>
<pre>{
    "ips": [
        "x.x.x.x",
        "y.y.y.y"
    ]
}
</pre>
<hr />
<h4 id="upload-to-storage"><strong>Upload to Storage</strong></h4>
<p>By default RTC job results are stored in our databases. This means that you will need to query our results endpoint and retrieve content yourself. Custom storage feature allows you to store results in your own cloud storage. The advantage of this feature is that you don't have to make extra requests in order to fetch results &#8211; everything goes directly to your storage bucket.</p>
<p>We support Amazon S3 and Google Cloud Storage. If you would like to use a different type of storage, please contact your account manager to discuss the feature delivery timeline.</p>
<p id="amazon-s3"><strong>Amazon S3</strong></p>
<p>To get your job results uploaded to your Amazon S3 bucket, please set up access permissions for our service. To do that, go to <code>https://s3.console.aws.amazon.com/ &gt; S3 &gt; Storage &gt; Bucket Name (if don't have one, create new) &gt; Permissions &gt; Bucket Policy</code></p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8241" src="https://www.proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Yandex-Upload-to-Storage1.png" alt="Real-Time Crawler for Yandex Upload to Storage1" width="486" height="325" srcset="https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Yandex-Upload-to-Storage1.png 486w, https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Yandex-Upload-to-Storage1-300x201.png 300w" sizes="(max-width: 486px) 100vw, 486px" /></p>
<p>You can find bucket policy in this <a class="custom_link" href="https://docs.oxylabs.io/resources/s3_bucket_policy.json" target="_blank" rel="noopener">JSON</a> or in code sample area on the right. Don't forget to change bucket name under <code>YOUR_BUCKET_NAME</code>. This policy allows us to write to your bucket, give access to uploaded files to you, and know bucket location.</p>
<p id="google-cloud-storage"><strong>Google Cloud Storage</strong></p>
<p>To get your job results uploaded to your Google Cloud Storage bucket, please set up special permissions for our service. To do that, please create a custom role with the <code>storage.objects.create</code> permission and assign it to the Oxylabs service account email <code>oxyserps-storage@oxyserps-storage.iam.gserviceaccount.com</code>.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8242" src="https://www.proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Yandex-Upload-to-Storage2.png" alt="Real-Time Crawler for Yandex Upload to Storage2" width="480" height="331" srcset="https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Yandex-Upload-to-Storage2.png 480w, https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Yandex-Upload-to-Storage2-300x207.png 300w" sizes="(max-width: 480px) 100vw, 480px" /></p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8243" src="https://www.proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Yandex-Upload-to-Storage3.png" alt="Real-Time Crawler for Yandex Upload to Storage3" width="481" height="666" srcset="https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Yandex-Upload-to-Storage3.png 481w, https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Yandex-Upload-to-Storage3-217x300.png 217w" sizes="(max-width: 481px) 100vw, 481px" /></p>
<p id="usage"><strong>Usage</strong></p>
<p>To use this feature, please specify two additional parameters in your requests. Learn more <a href="#direct">here</a>.</p>
<p>The upload path looks like this: <code>YOUR_BUCKET_NAME/job_ID.json</code>. You will find job ID in response body that you receive from us after submitting a request. In <a href="#single-query">this example</a> job ID is <code>12345678900987654321</code>.</p>
<pre>{
    "Version": "2012-10-17",
    "Id": "Policy1577442634787",
    "Statement": [
        {
            "Sid": "Stmt1577442633719",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::324311890426:user/oxylabs.s3.uploader"
            },
            "Action": "s3:GetBucketLocation",
            "Resource": "arn:aws:s3:::YOUR_BUCKET_NAME"
        },
        {
            "Sid": "Stmt1577442633719",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::324311890426:user/oxylabs.s3.uploader"
            },
            "Action": [
                "s3:PutObject",
                "s3:PutObjectAcl"
            ],
            "Resource": "arn:aws:s3:::YOUR_BUCKET_NAME/*"
        }
    ]
}
</pre>
<hr />
<h3 id="realtime">Realtime</h3>
<p>The data submission is the same as in Push-Pull method, but Realtime case we will return the content on open connection. You send us a query, the connection remains open, we retrieve the content and bring it to you. The endpoint that handles that is this:</p>
<pre>POST https://realtime.oxylabs.io/v1/queries
</pre>
<p>There is a timeout limit of 150 seconds for open connections, therefore in rare cases of heavy load we may not be able to ensure the data gets to you.</p>
<p>You need to post query parameters as data in JSON body. Please see example for more details.</p>
<pre>curl --user user:pass1 'https://realtime.oxylabs.io/v1/queries' -H "Content-Type: application/json" 
 -d '{"source": "yandex_search", "domain": "com", "query": "adidas"}'
</pre>
<p>Example response body that will be returned on open connection:</p>
<pre>{
  "results": [
    {
      "content": "
      CONTENT
      "
      "created_at": "2019-10-01 00:00:01",
      "updated_at": "2019-10-01 00:00:15",
      "id": null,
      "page": 1,
      "url": "https://www.yandex.com/search?q=adidas&hl=en&gl=US",
      "job_id": "12345678900987654321",
      "status_code": 200
    }
  ]
}
</pre>
<hr />
<h3 id="superapi">SuperAPI</h3>
<p>If you ever used regular proxies for data scraping, integrating SuperAPI delivery method will be a breeze. All that needs to be done is to use our entry node as proxy, authorize with Real-Time Crawler credentials, and ignore certificates. In <code>cURL</code> it's <code>-k</code> or <code>--insecure</code>. Your data will reach you on open connection.</p>
<pre>GET realtime.oxylabs.io:60000
</pre>
<p>SuperAPI only supports a handful of parameters since it <strong>only works with <a href="#direct">Direct</a> data source</strong> where full URL is provided. These parameters should be sent as headers. This is a list of accepted parameters:</p>
<div class="su-table su-table-responsive su-table-alternate">
<table>
<tbody>
<tr>
<td><code>X-OxySERPs-User-Agent-Type</code></td>
<td>There is no way to indicate a specific User-Agent, but you can let us know which browser and platform to use. A list of supported User-Agents can be found <a href="#user-agent">here</a>.</td>
</tr>
<tr>
<td><code>X-OxySERPs-Geo-Location</code></td>
<td>Geographical location in Yandex <code>rstr</code> format</td>
</tr>
</tbody>
</table>
</div>
<p>If you need help setting up SuperAPI, drop a line at <a class="custom_link" href="mailto:support@oxylabs.io" target="_blank" rel="nofollow noopener">support@oxylabs.io</a>.</p>
<pre>curl -k -x realtime.oxylabs.io:60000 -U user:pass1 -H "X-OxySERPs-User-Agent-Type: desktop_chrome" 
-H "X-OxySERPs-Geo-Location: 15550" "https://yandex.com/search/?text=nike"
</pre>
<hr />
<h2 id="content-type">Content Type</h2>
<p>Real-Time Crawler returns <strong>raw HTML</strong>.</p>
<hr />
<h2 id="data-sources">Data Sources</h2>
<p>There are two approaches on how to retrieve data from Yandex using Real-Time Crawler. You can give us full URL via <a href="#direct">Direct</a>, or you can specify parameters via specifically built data source &#8211; <a href="#search">Search</a>.</p>
<p>Technically not a content type, but Real-Time Crawler is able to render JavaScript when scraping. This may be necessary in some Yandex pages. A checkmark under <code>Render JS</code> will indicate whether a particular data source can be scraped with JavaScript enabled.</p>
<p>If you are unsure which way to choose, drop us a line at <a class="custom_link" href="mailto:support@oxylabs.io" target="_blank" rel="nofollow noopener">support@oxylabs.io</a> or contact your account manager.</p>
<hr />
<h3 id="direct">Direct</h3>
<p><img loading="lazy" decoding="async" class="size-full wp-image-8248 alignnone" src="https://www.proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Yandex-Direct.png" alt="Real-Time Crawler for Yandex Direct" width="442" height="25" srcset="https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Yandex-Direct.png 442w, https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Yandex-Direct-300x17.png 300w" sizes="(max-width: 442px) 100vw, 442px" /></p>
<p><code>yandex</code> source is designed to retrieve content of direct URLs of various Yandex pages. This means that instead of sending multiple parameters, you can provide us with a direct URL to required Yandex page. We do not strip any parameters or alter your URLs in any other way.</p>
<p><span class="test">Query parameters</span></p>
<div class="su-table su-table-responsive su-table-alternate">
<table width="216">
<tbody>
<tr>
<td style="font-weight: 400;" width="72"><strong>Parameter</strong></td>
<td style="font-weight: 400;" width="72"><strong>Description</strong></td>
<td style="font-weight: 400;" width="72"><strong>Default Value</strong></td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">source</td>
<td style="font-weight: 400;" width="72">Data source</td>
<td style="font-weight: 400;" width="72">yandex</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">url</td>
<td style="font-weight: 400;" width="72">Direct URL (link) to Yandex page</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">user_agent_type</td>
<td style="font-weight: 400;" width="72">Device type and browser. The full list can be found <a href="#user-agent">here.</a></td>
<td style="font-weight: 400;" width="72">desktop</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">render</td>
<td style="font-weight: 400;" width="72">Enable JavaScript rendering. Use when the target requires JavaScript to load content. Only works via Push-Pull (a.k.a. Callback) method. There are two available values for this parameter: html(get raw output) and png (get a Base64-encoded screenshot).</td>
<td style="font-weight: 400;" width="72"></td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">callback_url</td>
<td style="font-weight: 400;" width="72">URL to your callback endpoint</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">storage_type</td>
<td style="font-weight: 400;" width="72">Storage service provider. We support Amazon S3 and Google Cloud Storage. The storage_type parameter values for these storage providers are, correspondingly, s3 and gcs. The full implementation can be found on the<a href="#upload-to-storage"> Upload to Storage </a>page. This feature only works via Push-Pull (Callback) method.</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">storage_url</td>
<td style="font-weight: 400;" width="72">Your storage bucket name. Only works via Push-Pull (Callback) method.</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" colspan="3" width="216">   &#8211; required parameter</td>
</tr>
</tbody>
</table>
</div>
<p>In this example the API will retrieve Yandex search for keyword <code>nike</code> in Push-Pull method:</p>
<pre>curl --user user:pass1 'https://data.oxylabs.io/v1/queries' -H "Content-Type: application/json"
 -d '{"source": "yandex", "url": "https://yandex.com/search/?text=nike&"}'
</pre>
<p>Here is the same example in Realtime:</p>
<pre>curl --user user:pass1 'https://realtime.oxylabs.io/v1/queries' -H "Content-Type: application/json"
 -d '{"source": "yandex", "url": "https://yandex.com/search/?text=nike&"}'
</pre>
<p>And via SuperAPI:</p>
<pre>curl -k -x realtime.oxylabs.io:60000 -U user:pass1 "https://yandex.com/search/?text=nike&"
</pre>
<hr />
<h3 id="search">Search</h3>
<p><img loading="lazy" decoding="async" class="size-full wp-image-8250 alignnone" src="https://www.proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Yandex-Search.png" alt="Real-Time Crawler for Yandex Search" width="424" height="27" srcset="https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Yandex-Search.png 424w, https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Yandex-Search-300x19.png 300w" sizes="(max-width: 424px) 100vw, 424px" /></p>
<p><code>yandex_search</code> source is designed to retrieve Yandex Search results (SERP).</p>
<p><span class="test">Query parameters</span></p>
<div class="su-table su-table-responsive su-table-alternate">
<table width="216">
<tbody>
<tr>
<td style="font-weight: 400;" width="72"><strong>Parameter</strong></td>
<td style="font-weight: 400;" width="72"><strong>Description</strong></td>
<td style="font-weight: 400;" width="72"><strong>Default Value</strong></td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">source</td>
<td style="font-weight: 400;" width="72">Data source</td>
<td style="font-weight: 400;" width="72">yandex_search</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">domain</td>
<td style="font-weight: 400;" width="72">Domain localization. Available domains: com, ru, ua, by, kz, tr</td>
<td style="font-weight: 400;" width="72">com</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">query</td>
<td style="font-weight: 400;" width="72">UTF-encoded keyword</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">start_page</td>
<td style="font-weight: 400;" width="72">Starting page number</td>
<td style="font-weight: 400;" width="72">1</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">pages</td>
<td style="font-weight: 400;" width="72">Number of pages to retrieve</td>
<td style="font-weight: 400;" width="72">1</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">limit</td>
<td style="font-weight: 400;" width="72">Number of results to retrieve in each page</td>
<td style="font-weight: 400;" width="72">10</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">locale</td>
<td style="font-weight: 400;" width="72">Language. Available languages: en, ru, by, fr, de, id, kk, tt, tr, uk.</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">geo_location</td>
<td style="font-weight: 400;" width="72">Geographical location in Yandex rstr format</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">user_agent_type</td>
<td style="font-weight: 400;" width="72">Device type and browser. The full list can be found<a href="#user-agent"> here.</a></td>
<td style="font-weight: 400;" width="72">desktop</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">callback_url</td>
<td style="font-weight: 400;" width="72">URL to your callback endpoint</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">storage_type</td>
<td style="font-weight: 400;" width="72">Storage service provider. We support Amazon S3 and Google Cloud Storage. The storage_type parameter values for these storage providers are, correspondingly, s3 and gcs. The full implementation can be found on the <a href="#upload-to-storage">Upload to Storage </a>page. This feature only works via Push-Pull (Callback) method.</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">storage_url</td>
<td style="font-weight: 400;" width="72">Your storage bucket name. Only works via Push-Pull (Callback) method.</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" colspan="3" width="216">   &#8211; required parameter</td>
</tr>
</tbody>
</table>
</div>
<p id="search">API makes request to <code>yandex.com</code> to retrieve search results pages from number 11 to number 20 for keyword <code>adidas</code>. The API will post a JSON request to <code>your.callback.url</code> containing the URL to download the raw HTML output once the data retrieval task is successfully finished. This is Push-Pull:</p>
<pre>curl --user user:pass1 'https://data.oxylabs.io/v1/queries' -H "Content-Type: application/json"
 -d '{"source": "yandex_search", "domain": "com", "query": "adidas", "start_page": 11, "pages": 10, "callback_url": "https://your.callback.url"}'
</pre>
<p>And here is the same example in Realtime:</p>
<pre>curl --user user:pass1 'https://realtime.oxylabs.io/v1/queries' -H "Content-Type: application/json"
 -d '{"source": "yandex_search", "domain": "com", "query": "adidas", "start_page": 11, "pages": 10, "callback_url": "https://your.callback.url"}'
</pre>
<hr />
<h2 id="parameter-values">Parameter Values</h2>
<h3 id="user-agent">User-Agent</h3>
<p>Download full list of <code>user_agent_type</code> values in JSON <a class="custom_link" href="https://docs.oxylabs.io/resources/user_agent_type.json" target="_blank" rel="noopener">here</a>.</p>
<pre>[
  {
    "user_agent_type": "desktop",
    "description": "Random desktop browser User-Agent"
  },
  {
    "user_agent_type": "desktop_firefox",
    "description": "Random User-Agent of one of the latest versions of desktop Firefox"
  },
  {
    "user_agent_type": "desktop_chrome",
    "description": "Random User-Agent of one of the latest versions of desktop Chrome"
  },
  {
    "user_agent_type": "desktop_opera",
    "description": "Random User-Agent of one of the latest versions of desktop Opera"
  },
  {
    "user_agent_type": "desktop_edge",
    "description": "Random User-Agent of one of the latest versions of desktop Edge"
  },
  {
    "user_agent_type": "desktop_safari",
    "description": "Random User-Agent of one of the latest versions of desktop Safari"
  },
  {
    "user_agent_type": "mobile",
    "description": "Random mobile browser User-Agent"
  },
  {
    "user_agent_type": "mobile_android",
    "description": "Random User-Agent of one of the latest versions of Android browser"
  },
  {
    "user_agent_type": "mobile_ios",
    "description": "Random User-Agent of one of the latest versions of iPhone browser"
  },
  {
    "user_agent_type": "tablet",
    "description": "Random tablet browser User-Agent"
  },
  {
    "user_agent_type": "tablet_android",
    "description": "Random User-Agent of one of the latest versions of Android tablet"
  },
  {
    "user_agent_type": "tablet_ios",
    "description": "Random User-Agent of one of the latest versions of iPad tablet"
  }
]
</pre>
<hr />
<h2 id="account-status">Account Status</h2>
<h3 id="usage-statistics">Usage Statistics</h3>
<p>You can find your usage statistics by querying the following endpoint:</p>
<pre>GET https://data.oxylabs.io/v1/stats
</pre>
<p>By default the API will return all time usage statistics. Adding <code>?group_by=month</code> will return monthly stats, while <code>?group_by=day</code> will return daily numbers.</p>
<p>This query will return all time statistics. You can find your daily and monthly usage by adding either <code>?group_by=day</code> or <code>?group_by=month</code></p>
<pre>curl --user user:pass1 'https://data.oxylabs.io/v1/stats'
</pre>
<p>Sample output:</p>
<pre>{
    "data": {
        "sources": [
            {
                "realtime_results_count": "90",
                "results_count": "10",
                "title": "yandex"
            },
            {
                "realtime_results_count": "19",
                "results_count": "87",
                "title": "yandex_search"
            }
        ]
    },
    "meta": {
        "group_by": null
    }
}
</pre>
<hr />
<h3 id="limits">Limits</h3>
<p>The following endpoint will give your monthly commitment information as well as how much has already been used:</p>
<pre>GET https://data.oxylabs.io/v1/stats/limits
</pre>
<pre>curl --user user:pass1 'https://data.oxylabs.io/v1/stats/limits'
</pre>
<p>Sample output:</p>
<pre>{
    "monthly_requests_commitment": 4500000,
    "used_requests": 985000
}
</pre>
<hr />
<h2 id="response-codes">Response Codes</h2>
<div class="su-table su-table-responsive su-table-alternate">
<table>
<thead>
<tr>
<th>Code</th>
<th>Status</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>204</code></td>
<td>No Content</td>
<td>You are trying to retrieve a job that has not been completed yet.</td>
</tr>
<tr>
<td><code>400</code></td>
<td>Multiple error messages</td>
<td>Bad request structure, could be a misspelled parameter or invalid value. Response body will have more specific error message.</td>
</tr>
<tr>
<td><code>401</code></td>
<td>&#8216;Authorization header not provided' / &#8216;Invalid authorization header' / &#8216;Client not found'</td>
<td>Missing authorization header or incorrect login credentials.</td>
</tr>
<tr>
<td><code>403</code></td>
<td>Forbidden</td>
<td>Your account does not have access to this resource.</td>
</tr>
<tr>
<td><code>404</code></td>
<td>Not Found</td>
<td>Job ID you are looking for is no longer available.</td>
</tr>
<tr>
<td><code>429</code></td>
<td>Too many requests</td>
<td>Exceeded rate limit. Please contact your account manager to increase limits.</td>
</tr>
<tr>
<td><code>500</code></td>
<td>Unknown Error</td>
<td>Service unavailable.</td>
</tr>
<tr>
<td><code>524</code></td>
<td>Timeout</td>
<td>Service unavailable.</td>
</tr>
<tr>
<td><code>612</code></td>
<td>Undefined Internal Error</td>
<td>Something went wrong and we failed the job you submitted. You can try again at no extra cost, as we don't charge you for <code>faulted</code> jobs. If that doesn't work, give us a shout.</td>
</tr>
<tr>
<td><code>613</code></td>
<td>Faulted After Too Many Retries</td>
<td>We tried scraping the job you submitted, but gave up after reaching our retry limit. You can try again at no extra cost, as we don't charge you for <code>faulted</code> jobs. If that doesn't work, give us a shout.</td>
</tr>
</tbody>
</table>
</div>
<p>Cloud storage upload response codes:</p>
<div class="su-table su-table-responsive su-table-alternate">
<table>
<thead>
<tr>
<th>Code</th>
<th>Status</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>10001</code></td>
<td>Unexpected Exception</td>
<td>Something terribly wrong happened. We probably know about this already and are fixing it. Let us know anyway.</td>
</tr>
<tr>
<td><code>13000</code></td>
<td>Upload Success</td>
<td>All good!</td>
</tr>
<tr>
<td><code>13001</code></td>
<td>Upload Failed</td>
<td>We couldn't upload job results your bucket.</td>
</tr>
<tr>
<td><code>13102</code></td>
<td>No Such Path</td>
<td>We couldn't find a bucket with such name. Please double check.</td>
</tr>
<tr>
<td><code>13103</code></td>
<td>Access Denied</td>
<td>Bucket doesn't have required permissions. To find out how to give us required access, see <a href="#upload-to-storage">here</a>.</td>
</tr>
</tbody>
</table>
</div>
<hr />
<h4>References</h4>
<ul>
<li><a href="https://docs.oxylabs.io/rtc/source/yandex/index.html#quick-start" target="_blank" rel="nofollow noopener">https://docs.oxylabs.io/rtc/source/yandex/index.html</a></li>
<li><a href="https://docs.oxylabs.io/rtc/index.html" target="_blank" rel="nofollow noopener">https://docs.oxylabs.io/rtc/index.html</a></li>
</ul>
<p>&nbsp;</p>
<hr />
<blockquote><p><strong>Disclaimer:</strong> This part of the content is mainly from the merchant. If the merchant does not want it to be displayed on my website, please <a href="https://www.proxysp.com/contact-us/">contact us</a> to delete your content.</p></blockquote>
]]></content:encoded>
					
					<wfw:commentRss>https://proxysp.com/oxylabs-yandex-real-time-crawler/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7633</post-id>	</item>
		<item>
		<title>How to Use OxyLabs Real-Time Crawler [Part 1]: Real-Time Crawler for Google</title>
		<link>https://proxysp.com/oxylabs-real-time-crawler/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=oxylabs-real-time-crawler</link>
					<comments>https://proxysp.com/oxylabs-real-time-crawler/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
				<category><![CDATA[How to Use OxyLabs Proxy (OxyLabs User Manual Navigation)]]></category>
		<guid isPermaLink="false">https://www.proxysp.com/?p=7623</guid>

					<description><![CDATA[Do you know how to use OxyLabs Real-time Crawler for Google? This is the most comprehensive introduction from OxyLabs official. Quick Start Real-Time Crawler is built &#8230;<p class="read-more"> <a class="ast-button" href="https://proxysp.com/oxylabs-real-time-crawler/"> <span class="screen-reader-text">How to Use OxyLabs Real-Time Crawler [Part 1]: Real-Time Crawler for Google</span> Read More &#187;</a></p>]]></description>
										<content:encoded><![CDATA[<blockquote>
<p class="src grammarSection" data-group="1-1">Do you know how to use OxyLabs Real-time Crawler for Google? This is the most comprehensive introduction from OxyLabs official.</p>
</blockquote>
<h2 id="quick-start">Quick Start</h2>
<p>Real-Time Crawler is built for heavy-duty data retrieval operations. You can use Real-Time Crawler to access various Google pages, including regular search, hotel availability and Google Shopping. It enables effortless web data extraction from search engines without any delays or errors.</p>
<p>Real-Time Crawler for Google uses <a class="custom_link" href="https://en.wikipedia.org/wiki/Basic_access_authentication" target="_blank" rel="nofollow noopener">basic HTTP authentication</a> that requires sending username and password.</p>
<p>This is by far the fastest way to start using Real-Time Crawler for Google. You will send a query <code>adidas</code> to <code>google_search</code> using <a href="#realtime">Realtime</a> integration method. Don't forget to replace <code>USERNAME</code> and <code>PASSWORD</code> with your proxy user credentials.</p>
<pre>curl --user "USERNAME:PASSWORD" 'https://realtime.oxylabs.io/v1/queries' -H "Content-Type: application/json" -d '{"source": "google_search", "domain": "com", "query": "adidas"}'
</pre>
<p>If you have any questions not covered by this documentation, please contact your account manager or our support staff at <a class="custom_link" href="mailto:support@oxylabs.io" target="_blank" rel="nofollow noopener">support@oxylabs.io</a>.</p>
<hr />
<h2 id="postman">Postman</h2>
<p>Download and import <a class="custom_link" href="https://docs.oxylabs.io/resources/Real-Time%20Crawler%20-%20Google.postman_collection.json" target="_blank" rel="noopener">this Postman collection </a>to try out all of the Google crawler functions and data delivery methods documented on this page.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8201" src="https://www.proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Postman.png" alt="Real-Time Crawler for Google Postman" width="296" height="442" srcset="https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Postman.png 296w, https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Postman-201x300.png 201w" sizes="(max-width: 296px) 100vw, 296px" /></p>
<hr />
<h2 id="integration-methods">Integration Methods</h2>
<p>Real-Time Crawler for Google supports three integration methods which have their unique benefits:</p>
<ul>
<li><a href="#push-pull">Push-Pull</a>. Using this method it is now required to mainain an active connection with our endpoint to retrieve the data. Upon making a request, our system is able to automatically ping users server when the job is done (see <a href="#callback">Callback</a>). This method saves computing resources and can be scaled easily.</li>
<li><a href="#realtime">Realtime</a>. The method requires user to maintain an active connection with our endpoint in order to get the results successfully when the job is completed. This method can be implemented into one service while Push-Pull method is a two step process.</li>
<li><a href="#superapi">SuperAPI</a>. This method is very similar to Realtime but instead posting data to our endpoint, user can use HTML Cralwer as a proxy. To retrieve the data, user must set up a proxy endpoint and make GET request to a desired URL. Additional parameters must be added using headers.</li>
</ul>
<p>Our recommended data extraction method is <a href="#push-pull">Push-Pull</a>.</p>
<hr />
<h3 id="push-pull">Push-Pull</h3>
<p>This is the most simple yet the most reliable and recommended data delivery method. In Push-Pull scenario you send us a query, we return you job <code>id</code>, and once the job is done you can use that <code>id</code> to retrieve content from <code>/results</code> endpoint. You can check job completion status yourself, or you can set up a simple listener that is able to accept POST queries. This way we will send you a callback message once the job is ready to be retrieved. In this particular example the results will be automatically <a href="#upload-to-storage">uploaded to your S3 bucket</a> named <code>YOUR_BUCKET_NAME</code>.</p>
<p>You can also try and see how Push-Pull method works via Postman. Download <a class="custom_link" href="https://docs.oxylabs.io/resources/Real-Time%20Crawler%20-%20Google.postman_collection.json" target="_blank" rel="noopener">this file</a> to get started.</p>
<hr />
<h4><strong>Single Query</strong></h4>
<p>The following endpoint will handle single queries for one keyword or URL. The API will return a confirmation message containing job information, including job <code>id</code>. You can check job completion status using that <code>id</code>, or you can ask us to ping your callback endpoint once the scraping task is finished by adding <code>callback_url</code> in the query.</p>
<pre>POST https://data.oxylabs.io/v1/queries
</pre>
<p>You need to post query parameters as data in JSON body.</p>
<pre>curl --user user:pass1 'https://data.oxylabs.io/v1/queries' -H "Content-Type: application/json" 
 -d '{"source": "google_search", "domain": "com", "query": "adidas", "callback_url": "https://your.callback.url", "storage_type": "s3", "storage_url": "YOUR_BUCKET_NAME"}'
</pre>
<p>The API will respond with query information in JSON format, by printing it in response body, similar to this:</p>
<pre>{
  "callback_url": "https://your.callback.url",
  "client_id": 5,
  "context": [
    {
      "key": "results_language",
      "value": null
    },
    {
      "key": "safe_search",
      "value": null
    },
    {
      "key": "tbm",
      "value": null
    },
    {
      "key": "cr",
      "value": null
    },
    {
      "key": "filter",
      "value": null
    }
  ],
  "created_at": "2019-10-01 00:00:01",
  "domain": "com",
  "geo_location": null,
  "id": "12345678900987654321",
  "limit": 10,
  "locale": null,
  "pages": 1,
  "parse": false,
  "render": null,
  "query": "adidas",
  "source": "google_search",
  "start_page": 1,
  "status": "pending",
  "storage_type": "s3",
  "storage_url": "YOUR_BUCKET_NAME/12345678900987654321.json",
  "subdomain": "www",
  "updated_at": "2019-10-01 00:00:01",
  "user_agent_type": "desktop",
  "_links": [
    {
      "rel": "self",
      "href": "http://data.oxylabs.io/v1/queries/12345678900987654321",
      "method": "GET"
    },
    {
      "rel": "results",
      "href": "http://data.oxylabs.io/v1/queries/12345678900987654321/results",
      "method": "GET"
    }
  ]
}
</pre>
<h4 id="check-job-status"><strong>Check Job Status</strong></h4>
<p>If your query had <code>callback_url</code>, we will send you a message containing link to content once the scraping task is done. However, if there was no <code>callback_url</code> in the query, you will need to check job status yourself. For that you need to use the URL in <code>href</code> under <code>rel</code>:<code>self</code> in the response message you received after submitting your query to our API. It should look similar to this: <code>http://data.oxylabs.io/v1/queries/12345678900987654321</code>.</p>
<pre>GET https://data.oxylabs.io/v1/queries/{id}
</pre>
<p>Querying this link will return job information, including its <code>status</code>. There are 3 possible <code>status</code> values:</p>
<div class="su-table su-table-responsive su-table-alternate">
<table>
<tbody>
<tr>
<td><code>pending</code></td>
<td>The job is still in the queue and has not been completed.</td>
</tr>
<tr>
<td><code>done</code></td>
<td>The job is completed, you may retrieve the result by querying the URL in <code>href</code> under <code>rel</code>:<code>results</code> : <code>http://data.oxylabs.io/v1/queries/12345678900987654321/results</code></td>
</tr>
<tr>
<td><code>faulted</code></td>
<td>There was an issue with the job and we couldn't complete it, most likely due to a server error on the target site's side.</td>
</tr>
</tbody>
</table>
</div>
<pre>curl --user user:pass1 'http://data.oxylabs.io/v1/queries/12345678900987654321'
</pre>
<p>The API will respond with query information in JSON format, by printing it in response body. Notice that job <code>status</code> has been changed to <code>done</code>. You can now retrieve content by querying <code>http://data.oxylabs.io/v1/queries/12345678900987654321/results</code>.</p>
<p>You can also see that the task has been <code>updated_at</code> <code>2019-10-01 00:00:15</code> &#8211; the query took 14 seconds to complete.</p>
<pre>{
  "client_id": 5,
  "context": [
    {
      "key": "results_language",
      "value": null
    },
    {
      "key": "safe_search",
      "value": null
    },
    {
      "key": "tbm",
      "value": null
    },
    {
      "key": "cr",
      "value": null
    },
    {
      "key": "filter",
      "value": null
    }
  ],
  "created_at": "2019-10-01 00:00:01",
  "domain": "com",
  "geo_location": null,
  "id": "12345678900987654321",
  "limit": 10,
  "locale": null,
  "pages": 1,
  "parse": false,
  "render": null,
  "query": "adidas",
  "source": "google_search",
  "start_page": 1,
  "status": "done",
  "subdomain": "www",
  "updated_at": "2019-10-01 00:00:15",
  "user_agent_type": "desktop",
  "_links": [
    {
      "rel": "self",
      "href": "http://data.oxylabs.io/v1/queries/12345678900987654321",
      "method": "GET"
    },
    {
      "rel": "results",
      "href": "http://data.oxylabs.io/v1/queries/12345678900987654321/results",
      "method": "GET"
    }
  ]
}
</pre>
<hr />
<h4 id="retrieve-job-content"><strong>Retrieve Job Content</strong></h4>
<p>Once you know the job is ready to retrieved either by checking its status or receiving a callback from us, you can GET it using the URL in <code>href</code> under <code>rel</code>:<code>results</code> in either our initial response or in callback message. It should look similar to this: <code>http://data.oxylabs.io/v1/queries/12345678900987654321/results</code>.</p>
<pre>GET https://data.oxylabs.io/v1/queries/{id}/results
</pre>
<p>The results can be automatically retrieved without periodically checking job status by setting up <a href="#callback">Callback</a> service. User needs to specfy the IP or domain of the server where the Callback service is running. When our system completes a job, it will send a message to the provided IP or domain and the Callback service will download the results as described in the <a href="#callback">Callback implementation example</a>.</p>
<pre>curl --user user:pass1 'http://data.oxylabs.io/v1/queries/12345678900987654321/results'
</pre>
<p>The API will return job content:</p>
<pre>{
  "results": [
    {
      "content": "&lt;!doctype html&gt;
        CONTENT      
      ",
      "created_at": "2019-10-01 00:00:01",
      "updated_at": "2019-10-01 00:00:15",
      "page": 1,
      "url": "https://www.google.com/search?q=adidas&hl=en&gl=US",
      "job_id": "12345678900987654321",
      "status_code": 200
    }
  ]
}
</pre>
<hr />
<h4 id="callback"><strong>Callback</strong></h4>
<p>A callback is a <code>POST</code> request we send to your machine, informing that the data extraction task is completed and providing URL to download scraped content. This means that you no longer need to <a href="#check-job-status">check job status</a> manually. Once the data is here, we will let you know, and all you need to do now is <a href="#retrieve-job-content">retrieve it</a>.</p>
<pre># Please see code samples in Python and PHP.
</pre>
<p>Sample callback output</p>
<pre>{  
   "created_at":"2019-10-01 00:00:01",
   "updated_at":"2019-10-01 00:00:15",
   "locale":null,
   "client_id":163,
   "user_agent_type":"desktop",
   "source":"google_search",
   "pages":1,
   "subdomain":"www",
   "status":"done",
   "start_page":1,
   "parse":0,
   "render":null,
   "priority":0,
   "ttl":0,
   "origin":"api",
   "persist":true,
   "id":"12345678900987654321",
   "callback_url":"http://your.callback.url/",
   "query":"adidas",
   "domain":"com",
   "limit":10,
   "geo_location":null,
   {...}
   "_links":[
      {  
         "href":"https://data.oxylabs.io/v1/queries/12345678900987654321",
         "method":"GET",
         "rel":"self"
      },
      {  
         "href":"https://data.oxylabs.io/v1/queries/12345678900987654321/results",
         "method":"GET",
         "rel":"results"
      }
   ],
}
</pre>
<hr />
<h4 id="batch-query"><strong>Batch Query</strong></h4>
<p>Real-Time Crawler also supports executing multiple keywords, up to 1,000 keywords with each batch. The following endpoint will submit multiple keywords to the extraction queue.</p>
<pre>POST https://data.oxylabs.io/v1/queries/batch
</pre>
<p>You need to post query parameters as data in JSON body.</p>
<p>The system will handle every keyword as a separate request. If you provided callback URL, you will get a separate call for each keyword. Otherwise, our initial response will contain job <code>id</code>s for all keywords. For example, if you sent 50 keywords, we will return 50 unique job <code>id</code>s.</p>
<p>Important! <code>query</code> is the only parameter that can have multiple values. All other parameters are the same for that batch query.</p>
<pre>curl --user user:pass1 'https://data.oxylabs.io/v1/queries/batch' -H 'Content-Type: application/json'
 -d '@keywords.json'
</pre>
<p><code>keywords.json</code> content:</p>
<pre>{  
   "query":[  
      "adidas",
      "nike",
      "reebok"
   ],
   "source": "google_search",
   "domain": "com",
   "callback_url": "https://your.callback.url"
}
</pre>
<p>The API will respond with query information in JSON format, by printing it in response body, similar to this:</p>
<pre>{
  "queries": [
    {
      "callback_url": "https://your.callback.url",
      {...}
      "created_at": "2019-10-01 00:00:01",
      "domain": "com",
      "id": "12345678900987654321",
      {...}
      "query": "adidas",
      "source": "google_search",
      {...}
          "rel": "results",
          "href": "http://data.oxylabs.io/v1/queries/12345678900987654321/results",
          "method": "GET"
        }
      ]
    },
    {
      "callback_url": "https://your.callback.url",
      {...}
      "created_at": "2019-10-01 00:00:01",
      "domain": "com",
      "id": "12345678901234567890",
      {...}
      "query": "nike",
      "source": "google_search",
      {...}
          "rel": "results",
          "href": "http://data.oxylabs.io/v1/queries/12345678901234567890/results",
          "method": "GET"
        }
      ]
    },
    {
      "callback_url": "https://your.callback.url",
      {...}
      "created_at": "2019-10-01 00:00:01",
      "domain": "com",
      "id": "01234567899876543210",
      {...}
      "query": "reebok",
      "source": "google_search",
      {...}
          "rel": "results",
          "href": "http://data.oxylabs.io/v1/queries/01234567899876543210/results",
          "method": "GET"
        }
      ]
    }
  ]
}
</pre>
<hr />
<h4 id="get-notifier-ip-address-list"><strong>Get Notifier IP Address List</strong></h4>
<p>You may want to whitelist the IPs sending you callback messages or get the list of these IPs for other purposes. This can be done by <code>GET</code>ing this endpoint: <code>https://data.oxylabs.io/v1/info/callbacker_ips</code>.</p>
<pre>curl --user user:pass1 'https://data.oxylabs.io/v1/info/callbacker_ips'
</pre>
<p>The API will return the list of IPs making callback requests to your system:</p>
<pre>{
    "ips": [
        "x.x.x.x",
        "y.y.y.y"
    ]
}
</pre>
<hr />
<h4 id="upload-to-storage"><strong>Upload to Storage</strong></h4>
<p>By default RTC job results are stored in our databases. This means that you will need to query our results endpoint and retrieve content yourself. Custom storage feature allows you to store results in your own cloud storage. The advantage of this feature is that you don't have to make extra requests in order to fetch results &#8211; everything goes directly to your storage bucket.</p>
<p>We support Amazon S3 and Google Cloud Storage. If you would like to use a different type of storage, please contact your account manager to discuss the feature delivery timeline.</p>
<p id="amazon-s3"><strong>Amazon S3</strong></p>
<p>To get your job results uploaded to your Amazon S3 bucket, please set up access permissions for our service. To do that, go to <code>https://s3.console.aws.amazon.com/ &gt; S3 &gt; Storage &gt; Bucket Name (if don't have one, create new) &gt; Permissions &gt; Bucket Policy</code></p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8202" src="https://www.proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Upload-to-Storage1.png" alt="Real-Time Crawler for Google Upload to Storage1" width="478" height="324" srcset="https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Upload-to-Storage1.png 478w, https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Upload-to-Storage1-300x203.png 300w" sizes="(max-width: 478px) 100vw, 478px" /></p>
<p>You can find bucket policy in this <a class="custom_link" href="https://docs.oxylabs.io/resources/s3_bucket_policy.json" target="_blank" rel="noopener">JSON</a> or in code sample area on the right. Don't forget to change bucket name under <code>YOUR_BUCKET_NAME</code>. This policy allows us to write to your bucket, give access to uploaded files to you, and know bucket location.</p>
<p id="google-cloud-storage"><strong>Google Cloud Storage</strong></p>
<p>To get your job results uploaded to your Google Cloud Storage bucket, please set up special permissions for our service. To do that, please create a custom role with the <code>storage.objects.create</code> permission and assign it to the Oxylabs service account email <code>oxyserps-storage@oxyserps-storage.iam.gserviceaccount.com</code>.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8203" src="https://www.proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Upload-to-Storage2.png" alt="Real-Time Crawler for Google Upload to Storage2" width="480" height="305" srcset="https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Upload-to-Storage2.png 480w, https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Upload-to-Storage2-300x191.png 300w" sizes="(max-width: 480px) 100vw, 480px" /></p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8204" src="https://www.proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Upload-to-Storage3.png" alt="Real-Time Crawler for Google Upload to Storage3" width="483" height="667" srcset="https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Upload-to-Storage3.png 483w, https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Upload-to-Storage3-217x300.png 217w" sizes="(max-width: 483px) 100vw, 483px" /></p>
<p id="usage"><strong>Usage</strong></p>
<p>To use this feature, please specify two additional parameters in your requests. Learn more <a href="#direct">here</a>.</p>
<p>The upload path looks like this: <code>YOUR_BUCKET_NAME/job_ID.json</code>. You will find job ID in response body that you receive from us after submitting a request. In <a href="#single-query">this example</a> job ID is <code>12345678900987654321</code>.</p>
<pre>{
    "Version": "2012-10-17",
    "Id": "Policy1577442634787",
    "Statement": [
        {
            "Sid": "Stmt1577442633719",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::324311890426:user/oxylabs.s3.uploader"
            },
            "Action": "s3:GetBucketLocation",
            "Resource": "arn:aws:s3:::YOUR_BUCKET_NAME"
        },
        {
            "Sid": "Stmt1577442633719",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::324311890426:user/oxylabs.s3.uploader"
            },
            "Action": [
                "s3:PutObject",
                "s3:PutObjectAcl"
            ],
            "Resource": "arn:aws:s3:::YOUR_BUCKET_NAME/*"
        }
    ]
}
</pre>
<hr />
<h3 id="realtime">Realtime</h3>
<p>The data submission is the same as in Push-Pull method, but Realtime case we will return the content on open connection. You send us a query, the connection remains open, we retrieve the content and bring it to you. The endpoint that handles that is this:</p>
<pre>POST https://realtime.oxylabs.io/v1/queries
</pre>
<p>There is a timeout limit of 150 seconds for open connections, therefore in rare cases of heavy load we may not be able to ensure the data gets to you.</p>
<p>You need to post query parameters as data in JSON body. Please see example for more details.</p>
<pre>curl --user user:pass1 'https://realtime.oxylabs.io/v1/queries' -H "Content-Type: application/json" 
 -d '{"source": "google_search", "domain": "com", "query": "adidas"}'
</pre>
<p>Example response body that will be returned on open connection:</p>
<pre>{
  "results": [
    {
      "content": "
      CONTENT
      "
      "created_at": "2019-10-01 00:00:01",
      "updated_at": "2019-10-01 00:00:15",
      "id": null,
      "page": 1,
      "url": "https://www.google.com/search?q=adidas&hl=en&gl=US",
      "job_id": "12345678900987654321",
      "status_code": 200
    }
  ]
}
</pre>
<hr />
<h3 id="superapi">SuperAPI</h3>
<p>If you ever used regular proxies for data scraping, integrating SuperAPI delivery method will be a breeze. All that needs to be done is to use our entry node as proxy, authorize with Real-Time Crawler credentials, and ignore certificates. In <code>cURL</code> it's <code>-k</code> or <code>--insecure</code>. Your data will reach you on open connection.</p>
<pre>GET realtime.oxylabs.io:60000
</pre>
<p>SuperAPI only supports a handful of parameters since it <strong>only works with a <a href="#direct">Direct</a> data source</strong> where full URL is provided. These parameters should be sent as headers. This is a list of accepted parameters:</p>
<div class="su-table su-table-responsive su-table-alternate">
<table>
<tbody>
<tr>
<td><code>X-OxySERPs-User-Agent-Type</code></td>
<td>There is no way to indicate a specific User-Agent, but you can let us know which browser and platform to use. A list of supported User-Agents can be found <a href="#user-agent">here</a>.</td>
</tr>
<tr>
<td><code>X-OxySERPs-Geo-Location</code></td>
<td>In some cases you may need to indicate the geographical location that the result should be adapted for. This parameter corresponds to the <code>geo_location</code>. Read about our suggested <code>geo_location</code> parameter structures <a href="#geo_location">here</a>.</td>
</tr>
</tbody>
</table>
</div>
<p>If you need help setting up SuperAPI, drop a line at <a class="custom_link" href="mailto:support@oxylabs.io" target="_blank" rel="nofollow noopener">support@oxylabs.io</a>.</p>
<pre>curl -k -x realtime.oxylabs.io:60000 -U user:pass1 -H "X-OxySERPs-User-Agent-Type: desktop_chrome" -H "X-OxySERPs-Geo-Location: New York,New York,United States" "https://www.google.com/search?q=adidas"
</pre>
<hr />
<h2 id="content-type">Content Type</h2>
<p>Real-Time Crawler can return either <strong>raw HTML</strong>, or <strong>structured (parsed) JSON</strong>. Bear in mind that not all data sources can be returned structured. An icon under each data source in this documentation will indicate whether we are able to parse it, or we can only return raw HTML.</p>
<p>Please see <a href="#parsed-data">Parsed Data</a> to see which fields we return with each Data Source.</p>
<hr />
<h2 id="data-sources">Data Sources</h2>
<p>There are multiple approaches how to retrieve data from Google using Real-Time Crawler. You can give us full URL via <a href="#direct">Direct</a>, or you can specify parameters via specifically built data sources, such as <a href="#search">Search</a>, <a href="#shopping-product">Shopping Product</a> or <a href="#images">Images</a>.</p>
<p>Technically not a content type, but Real-Time Crawler is able to render JavaScript when scraping. This is necessary in some Google pages, such as Flights and Patents. A checkmark under <code>Render JS</code> will indicate whether a particular data source can be scraped with JavaScript enabled.</p>
<p>If you are unsure which way to choose, drop us a line at <a class="custom_link" href="mailto:support@oxylabs.io" target="_blank" rel="nofollow noopener">support@oxylabs.io</a> or contact your account manager.</p>
<hr />
<h3 id="direct">Direct</h3>
<p><img loading="lazy" decoding="async" class="size-full wp-image-8206 alignnone" src="https://www.proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Direct-1.png" alt="Real-Time Crawler for Google Direct" width="473" height="19" srcset="https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Direct-1.png 473w, https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Direct-1-300x12.png 300w" sizes="(max-width: 473px) 100vw, 473px" /></p>
<p><code>google</code> source is designed to retrieve content of direct URLs of various Google pages. This means that instead of sending multiple parameters, you can provide us with a direct URL to required Google page. We do not strip any parameters or alter your URLs in any other way.</p>
<p>This data source also supports parsed data (Parsed JSON), as long as the URL submitted is for Google Search (SERP page). If we are unable to confirm this is a SERP page request, a failure message will be returned.</p>
<p><span class="test">Query parameters</span></p>
<div class="su-table su-table-responsive su-table-alternate">
<table width="216">
<tbody>
<tr>
<td style="font-weight: 400;" width="72"><strong>Parameter</strong></td>
<td style="font-weight: 400;" width="72"><strong>Description</strong></td>
<td style="font-weight: 400;" width="72"><strong>Default Value</strong></td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">source</td>
<td style="font-weight: 400;" width="72">Data source</td>
<td style="font-weight: 400;" width="72">google</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">url</td>
<td style="font-weight: 400;" width="72">Direct URL (link) to Google page</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">user_agent_type</td>
<td style="font-weight: 400;" width="72">Device type and browser. The full list can be found<a href="#user-agent"> here.</a></td>
<td style="font-weight: 400;" width="72">desktop</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">render</td>
<td style="font-weight: 400;" width="72">Enable JavaScript rendering. Use when the target requires JavaScript to load content. Only works via Push-Pull (a.k.a. Callback) method. There are two available values for this parameter: html(get raw output) and png (get a Base64-encoded screenshot).</td>
<td style="font-weight: 400;" width="72"></td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">callback_url</td>
<td style="font-weight: 400;" width="72">URL to your callback endpoint</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">geo_location</td>
<td style="font-weight: 400;" width="72">The geographical location that the result should be adapted for. Using this parameter correctly is extremely important to get the right data. For more information, read about our suggested geo_location parameter structures <a href="#geo_location">here</a></td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">parse</td>
<td style="font-weight: 400;" width="72">true will return parsed data, as long as the URL submitted is for Google Search. See <a href="#parsed-data">Parsed Data </a>for more information.</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">storage_type</td>
<td style="font-weight: 400;" width="72">Storage service provider. We support Amazon S3 and Google Cloud Storage. The storage_type parameter values for these storage providers are, correspondingly, s3 and gcs. The full implementation can be found on the <a href="#upload-to-storage">Upload to Storage </a>page. This feature only works via Push-Pull (Callback) method.</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">storage_url</td>
<td style="font-weight: 400;" width="72">Your storage bucket name. Only works via Push-Pull (Callback) method.</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" colspan="3" width="216">   &#8211; required parameter</td>
</tr>
</tbody>
</table>
</div>
<p>In this example the API will retrieve Google Scholar search for keyword <code>newton</code> in Push-Pull method:</p>
<pre>curl --user user:pass1 'https://data.oxylabs.io/v1/queries' -H "Content-Type: application/json"
 -d '{"source": "google", "url": "https://scholar.google.com/scholar?hl=en&q=newton&btnG=&as_sdt=1%2C5&as_sdtp="}'
</pre>
<p>Here is the same example in Realtime:</p>
<pre>curl --user user:pass1 'https://realtime.oxylabs.io/v1/queries' -H "Content-Type: application/json"
 -d '{"source": "google", "url": "https://scholar.google.com/scholar?hl=en&q=newton&btnG=&as_sdt=1%2C5&as_sdtp="}'
</pre>
<p>And via SuperAPI:</p>
<pre>curl -k -x realtime.oxylabs.io:60000 -U user:pass1 "https://scholar.google.com/scholar?hl=en&q=newton&btnG=&as_sdt=1%2C5&as_sdtp="
</pre>
<hr />
<h3 id="search">Search</h3>
<p><img loading="lazy" decoding="async" class="size-full wp-image-8207 alignnone" src="https://www.proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Search.png" alt="Real-Time Crawler for Google Search" width="561" height="24" srcset="https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Search.png 561w, https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Search-300x13.png 300w" sizes="(max-width: 561px) 100vw, 561px" /></p>
<p><code>google_search</code> source is designed to retrieve Google Search results (SERP).</p>
<p><span class="test">Query parameters</span></p>
<div class="su-table su-table-responsive su-table-alternate">
<table width="216">
<tbody>
<tr>
<td style="font-weight: 400;" width="72"><strong>Parameter</strong></td>
<td style="font-weight: 400;" width="72"><strong>Description</strong></td>
<td style="font-weight: 400;" width="72"><strong>Default Value</strong></td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">source</td>
<td style="font-weight: 400;" width="72">Data source</td>
<td style="font-weight: 400;" width="72">google_search</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">domain</td>
<td style="font-weight: 400;" width="72">Domain localization</td>
<td style="font-weight: 400;" width="72">com</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">query</td>
<td style="font-weight: 400;" width="72">UTF-encoded keyword</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">start_page</td>
<td style="font-weight: 400;" width="72">Starting page number</td>
<td style="font-weight: 400;" width="72">1</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">pages</td>
<td style="font-weight: 400;" width="72">Number of pages to retrieve</td>
<td style="font-weight: 400;" width="72">1</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">limit</td>
<td style="font-weight: 400;" width="72">Number of results to retrieve in each page</td>
<td style="font-weight: 400;" width="72">10</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">locale</td>
<td style="font-weight: 400;" width="72">Accept-Language header value. This will change Google search page web interface language (not results). For example if you use domain com and use locale parameter de-DE, the results will still be American, but Accept-Language will be set to de-DE,de;q=0.8. This would imitate person from US searching in com domain, who has his browser's UI set to German. If you don't use this parameter we will set &#8216;Accept-Language' parameter according to domain (i.e. en-US for com). List of available Google locales can be found <a href="#locale">here.</a></td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">geo_location</td>
<td style="font-weight: 400;" width="72">The geographical location that the result should be adapted for. Using this parameter correctly is extremely important to get the right data. For more information, read about our suggested geo_location parameter structures <a href="#geo_location">here</a></td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">user_agent_type</td>
<td style="font-weight: 400;" width="72">Device type and browser. The full list can be found<a href="#user-agent"> here.</a></td>
<td style="font-weight: 400;" width="72">desktop</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">render</td>
<td style="font-weight: 400;" width="72">Enable JavaScript rendering. Use when the target requires JavaScript to load content. Only works via Push-Pull (a.k.a. Callback) method. There are two available values for this parameter: html(get raw output) and png (get a Base64-encoded screenshot).</td>
<td style="font-weight: 400;" width="72"></td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">callback_url</td>
<td style="font-weight: 400;" width="72">URL to your callback endpoint</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">parse</td>
<td style="font-weight: 400;" width="72">true will return parsed data. See <a href="#parsed-data">Parsed Data </a>for more information.</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">parser_type</td>
<td style="font-weight: 400;" width="72">Leave blank to get the default layout, or set the value to v2 to make use of the updated Google Search parsed output schema and/or receive the result in CSV format (only works with Google Web Search). See<a href="#parsed-data"> Parsed Data </a>for more information.</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">context:</td>
<td style="font-weight: 400;" rowspan="2" width="72">Setting the fpstate value to aig will make Google load more apps. This parameter is only useful if used together with the render parameter.</td>
<td style="font-weight: 400;" rowspan="2" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">fpstate</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">context:</td>
<td style="font-weight: 400;" rowspan="2" width="72">true will turn off spelling auto-correction.</td>
<td style="font-weight: 400;" rowspan="2" width="72">FALSE</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">nfpr</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">context:</td>
<td style="font-weight: 400;" rowspan="2" width="72">Results language. List of supported Google languages can be found<a href="#results-language"> here.</a></td>
<td style="font-weight: 400;" rowspan="2" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">results_language</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">context:</td>
<td style="font-weight: 400;" rowspan="2" width="72">To-be-matched or tbm parameter. Accepted values are: app, blg, bks, dsc, isch, nws, pts, plcs, rcp, lcl</td>
<td style="font-weight: 400;" rowspan="2" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">tbm</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">context:</td>
<td style="font-weight: 400;" rowspan="2" width="72">tbs parameter. This parameter is like a container for more obscure google parameters, like limiting/sorting results by date as well as other filters some of which depend on the tbm parameter (e.g. tbs=app_os:1 is only available with tbm value app). More info<a href="https://stenevang.wordpress.com/2013/02/22/google-advanced-power-search-url-request-parameters/" target="_blank" rel="noopener"> here.</a></td>
<td style="font-weight: 400;" rowspan="2" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">tbs</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">storage_type</td>
<td style="font-weight: 400;" width="72">Storage service provider. We support Amazon S3 and Google Cloud Storage. The storage_type parameter values for these storage providers are, correspondingly, s3 and gcs. The full implementation can be found on the  <a class="custom_link" href="https://docs.oxylabs.io/rtc/source/google/index.html?shell#upload-to-storage" target="_blank" rel="noopener">Upload to Storage</a>  page. This feature only works via Push-Pull (Callback) method.</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">storage_url</td>
<td style="font-weight: 400;" width="72">Your storage bucket name. Only works via Push-Pull (Callback) method.</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" colspan="3" width="216">   &#8211; required parameter</td>
</tr>
</tbody>
</table>
</div>
<p>API makes request to <code>google.nl</code> to retrieve search results pages from number 11 to number 20 for keyword <code>adidas</code>. The results will be displayed in French, since <code>results_language</code> parameter is also passed through via <code>context</code>. The API will post a JSON request to <code>your.callback.url</code> containing the URL to download the raw HTML output once the data retrieval task is successfully finished. This is Push-Pull:</p>
<pre>curl --user user:pass1 'https://data.oxylabs.io/v1/queries' -H "Content-Type: application/json"
 -d '{"source": "google_search", "domain": "nl", "query": "adidas", "start_page": 11, "pages": 10, "callback_url": "https://your.callback.url", "context": [{"key": "results_language", "value": "fr"}]}}'
</pre>
<p>And here is the same example in Realtime:</p>
<pre>curl --user user:pass1 'https://realtime.oxylabs.io/v1/queries' -H "Content-Type: application/json"
 -d '{"source": "google_search", "domain": "nl", "query": "adidas", "start_page": 11, "pages": 10, "callback_url": "https://your.callback.url", "context": [{"key": "results_language", "value": "fr"}]}}'
</pre>
<hr />
<h3 id="ads">Ads</h3>
<p><img loading="lazy" decoding="async" class="size-full wp-image-8210 alignnone" src="https://www.proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Ads.png" alt="Real-Time Crawler for Google Ads" width="472" height="26" srcset="https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Ads.png 472w, https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Ads-300x17.png 300w" sizes="(max-width: 472px) 100vw, 472px" /></p>
<p><code>google_ads</code> source is optimized to retrieve Google Search results page (SERP) with paid ads. This source will return only 10 results per page, ensuring highest changes of paid results showing up. Other than that, it supports the same parameters as regular <a href="#search">Search</a></p>
<p><span class="test">Query parameters</span></p>
<div class="su-table su-table-responsive su-table-alternate">
<table width="216">
<tbody>
<tr>
<td style="font-weight: 400;" width="72"><strong>Parameter</strong></td>
<td style="font-weight: 400;" width="72"><strong>Description</strong></td>
<td style="font-weight: 400;" width="72"><strong>Default Value</strong></td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">source</td>
<td style="font-weight: 400;" width="72">Data source</td>
<td style="font-weight: 400;" width="72">google_ads</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">domain</td>
<td style="font-weight: 400;" width="72">Domain localization</td>
<td style="font-weight: 400;" width="72">com</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">query</td>
<td style="font-weight: 400;" width="72">UTF-encoded keyword</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">start_page</td>
<td style="font-weight: 400;" width="72">Starting page number</td>
<td style="font-weight: 400;" width="72">1</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">pages</td>
<td style="font-weight: 400;" width="72">Number of pages to retrieve</td>
<td style="font-weight: 400;" width="72">1</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">locale</td>
<td style="font-weight: 400;" width="72">Accept-Language header value. This will change Google search page web interface language (not results). For example if you use domain com and use locale parameter de-DE, the results will still be American, but Accept-Language will be set to de-DE,de;q=0.8. This would imitate person from US searching in com domain, who has his browser's UI set to German. If you don't use this parameter we will set &#8216;Accept-Language' parameter according to domain (i.e. en-US for com). List of available Google locales can be found<a href="#locale"> here.</a></td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">geo_location</td>
<td style="font-weight: 400;" width="72">The geographical location that the result should be adapted for. Using this parameter correctly is extremely important to get the right data. For more information, read about our suggested geo_location parameter structures<a href="#geo_location"> here</a></td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">user_agent_type</td>
<td style="font-weight: 400;" width="72">Device type and browser. The full list can be found<a href="#user-agent"> here.</a></td>
<td style="font-weight: 400;" width="72">desktop</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">callback_url</td>
<td style="font-weight: 400;" width="72">URL to your callback endpoint</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">parse</td>
<td style="font-weight: 400;" width="72">true will return parsed data. See <a href="#parsed-data">Parsed Data</a> for more information.</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">context:</td>
<td style="font-weight: 400;" rowspan="2" width="72">true will turn off spelling auto-correction.</td>
<td style="font-weight: 400;" rowspan="2" width="72">FALSE</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">nfpr</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">context:</td>
<td style="font-weight: 400;" rowspan="2" width="72">Results language. List of supported Google languages can be found <a href="#results-language">here.</a></td>
<td style="font-weight: 400;" rowspan="2" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">results_language</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">context:</td>
<td style="font-weight: 400;" rowspan="2" width="72">To-be-matched or tbm parameter. Accepted values are: app, blg, bks, dsc, isch, nws, pts, plcs, rcp, lcl</td>
<td style="font-weight: 400;" rowspan="2" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">tbm</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">context:</td>
<td style="font-weight: 400;" rowspan="2" width="72">tbs parameter. This parameter is like a container for more obscure google parameters, like limiting/sorting results by date as well as other filters some of which depend on the tbm parameter (e.g. tbs=app_os:1 is only available with tbm value app). More info<a href="https://stenevang.wordpress.com/2013/02/22/google-advanced-power-search-url-request-parameters/" target="_blank" rel="nofollow noopener"> here.</a></td>
<td style="font-weight: 400;" rowspan="2" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">tbs</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">storage_type</td>
<td style="font-weight: 400;" width="72">Storage service provider. We support Amazon S3 and Google Cloud Storage. The storage_type parameter values for these storage providers are, correspondingly, s3 and gcs. The full implementation can be found on the <a href="#upload-to-storage">Upload to Storage </a>page. This feature only works via Push-Pull (Callback) method.</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">storage_url</td>
<td style="font-weight: 400;" width="72">Your storage bucket name. Only works via Push-Pull (Callback) method.</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" colspan="3" width="216">   &#8211; required parameter</td>
</tr>
</tbody>
</table>
</div>
<p>API makes request to <code>google.nl</code> to retrieve search results for keyword <code>adidas</code>. The API will post a JSON request to <code>your.callback.url</code> containing the URL to download the raw HTML output once the data retrieval task is successfully finished. This is Push-Pull:</p>
<pre>curl --user user:pass1 'https://data.oxylabs.io/v1/queries' -H "Content-Type: application/json"
 -d '{"source": "google_ads", "domain": "nl", "query": "adidas", "callback_url": "https://your.callback.url"}'
</pre>
<p>And here is the same example in Realtime:</p>
<pre>curl --user user:pass1 'https://realtime.oxylabs.io/v1/queries' -H "Content-Type: application/json"
 -d '{"source": "google_ads", "domain": "nl", "query": "adidas"}'
</pre>
<hr />
<h3 id="hotels">Hotels</h3>
<p><img loading="lazy" decoding="async" class="size-full wp-image-8211 alignnone" src="https://www.proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Hotels.png" alt="Real-Time Crawler for Google Hotels" width="480" height="24" srcset="https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Hotels.png 480w, https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Hotels-300x15.png 300w" sizes="(max-width: 480px) 100vw, 480px" /></p>
<p><code>google_hotels</code> data source is designed to retrieve Google Hotel search results.</p>
<p><span class="test">Query parameters</span></p>
<div class="su-table su-table-responsive su-table-alternate">
<table width="216">
<tbody>
<tr>
<td style="font-weight: 400;" width="72"><strong>Parameter</strong></td>
<td style="font-weight: 400;" width="72"><strong>Description</strong></td>
<td style="font-weight: 400;" width="72"><strong>Default Value</strong></td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">source</td>
<td style="font-weight: 400;" width="72">Data source</td>
<td style="font-weight: 400;" width="72">google_hotels</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">domain</td>
<td style="font-weight: 400;" width="72">Domain localization</td>
<td style="font-weight: 400;" width="72">com</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">query</td>
<td style="font-weight: 400;" width="72">UTF-encoded keyword</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">start_page</td>
<td style="font-weight: 400;" width="72">Starting page number</td>
<td style="font-weight: 400;" width="72">1</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">pages</td>
<td style="font-weight: 400;" width="72">Number of pages to retrieve</td>
<td style="font-weight: 400;" width="72">1</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">limit</td>
<td style="font-weight: 400;" width="72">Number of results to retrieve in each page</td>
<td style="font-weight: 400;" width="72">10</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">locale</td>
<td style="font-weight: 400;" width="72">Accept-Language header value. This will change Google search page web interface language (not results). For example if you use domain com and use locale parameter de-DE, the results will still be American, but Accept-Language will be set to de-DE,de;q=0.8. This would imitate person from US searching in com domain, who has his browser's UI set to German. If you don't use this parameter we will set &#8216;Accept-Language' parameter according to domain (i.e. en-US for com). List of available Google locales can be found <a href="#locale">here.</a></td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">results_language</td>
<td style="font-weight: 400;" width="72">Results language. List of supported Google languages can be found <a href="#results-language">here.</a></td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">geo_location</td>
<td style="font-weight: 400;" width="72">The geographical location that the result should be adapted for. Using this parameter correctly is extremely important to get the right data. For more information, read about our suggested geo_location parameter structures <a href="#geo_location">here</a></td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">user_agent_type</td>
<td style="font-weight: 400;" width="72">Device type and browser. The full list can be found <a href="#user-agent">here.</a></td>
<td style="font-weight: 400;" width="72">desktop</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">render</td>
<td style="font-weight: 400;" width="72">Enable JavaScript rendering. Use when the target requires JavaScript to load content. Only works via Push-Pull (a.k.a. Callback) method. There are two available values for this parameter: html(get raw output) and png (get a Base64-encoded screenshot).</td>
<td style="font-weight: 400;" width="72"></td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">callback_url</td>
<td style="font-weight: 400;" width="72">URL to your callback endpoint</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">context:</td>
<td style="font-weight: 400;" rowspan="2" width="72">true will turn off spelling auto-correction.</td>
<td style="font-weight: 400;" rowspan="2" width="72">FALSE</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">nfpr</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">context:</td>
<td style="font-weight: 400;" rowspan="2" width="72">Number of guests</td>
<td style="font-weight: 400;" rowspan="2" width="72">2</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">hotel_occupancy</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">context:</td>
<td style="font-weight: 400;" rowspan="2" width="72">Length for staying in the hotel, from &#8211; to. Example: 2017-07-12,2017-07-13</td>
<td style="font-weight: 400;" rowspan="2" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">hotel_dates</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">storage_type</td>
<td style="font-weight: 400;" width="72">Storage service provider. We support Amazon S3 and Google Cloud Storage. The storage_type parameter values for these storage providers are, correspondingly, s3 and gcs. The full implementation can be found on the <a href="#upload-to-storage">Upload to Storage </a>page. This feature only works via Push-Pull (Callback) method.</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">storage_url</td>
<td style="font-weight: 400;" width="72">Your storage bucket name. Only works via Push-Pull (Callback) method.</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" colspan="3" width="216">   &#8211; required parameter</td>
</tr>
</tbody>
</table>
</div>
<p>Please note that with Google hotels you always need to send a keyword with &#8216;hotels' word inside, for example &#8216;hotels in Los Angeles', &#8216;hotels in Paris, France', etc. Both &#8216;hotel' and &#8216;hotels' work. Google also supports local languages, so you can send &#8216;Hotelli Helsingissä' for hotels in Helsinki or &#8216;viešbučiai Vilnius' for hotels in Vilnius.</p>
<p>In this example API will retrieve first 3 pages of hotel availability for <code>1</code> guest between <code>2019-10-01</code> and <code>2019-10-10</code> for <code>hotels in Paris</code> from <code>google.com</code>. This is Push-Pull method.</p>
<pre>curl --user user:pass1 'https://data.oxylabs.io/v1/queries' -H "Content-Type: application/json"
 -d '{"source": "google_hotels", "domain": "com", "pages": 3, "query": "hotels in Paris", "context": [{"key": "hotel_occupancy", "value": 1}, {"key": "hotel_dates", "value": "2019-10-01,2019-10-10"}]}'
</pre>
<p>This is in Realtime:</p>
<pre>curl --user user:pass1 'https://realtime.oxylabs.io/v1/queries' -H "Content-Type: application/json"
 -d '{"source": "google_hotels", "domain": "com", "pages": 3, "query": "hotels in Paris", "context": [{"key": "hotel_occupancy", "value": 1}, {"key": "hotel_dates", "value": "2019-10-01,2019-10-10"}]}'
</pre>
<hr />
<h3 id="travel-hotels">Travel: Hotels</h3>
<p><img loading="lazy" decoding="async" class="size-full wp-image-8212 alignnone" src="https://www.proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Travel-Hotels.png" alt="Real-Time Crawler for Google Travel Hotels" width="470" height="20" srcset="https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Travel-Hotels.png 470w, https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Travel-Hotels-300x13.png 300w" sizes="(max-width: 470px) 100vw, 470px" /></p>
<p><code>google_travel_hotels</code> data source is designed to retrieve Google Travel service's hotel search results.</p>
<p><span class="test">Query parameters</span></p>
<div class="su-table su-table-responsive su-table-alternate">
<table width="216">
<tbody>
<tr>
<td style="font-weight: 400;" width="72"><strong>Parameter</strong></td>
<td style="font-weight: 400;" width="72"><strong>Description</strong></td>
<td style="font-weight: 400;" width="72"><strong>Default Value</strong></td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">source</td>
<td style="font-weight: 400;" width="72">Data source</td>
<td style="font-weight: 400;" width="72">google_travel_hotels</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">domain</td>
<td style="font-weight: 400;" width="72">Domain localization</td>
<td style="font-weight: 400;" width="72">com</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">query</td>
<td style="font-weight: 400;" width="72">UTF-encoded keyword</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">start_page</td>
<td style="font-weight: 400;" width="72">Starting page number</td>
<td style="font-weight: 400;" width="72">1</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">locale</td>
<td style="font-weight: 400;" width="72">Accept-Language header value. This will change Google search page web interface language (not results). For example if you use domain com and use locale parameter de-DE, the results will still be American, but Accept-Language will be set to de-DE,de;q=0.8. This would imitate person from US searching in com domain, who has his browser's UI set to German. If you don't use this parameter we will set &#8216;Accept-Language' parameter according to domain (i.e. en-US for com). List of available Google locales can be found <a href="#locale">here.</a></td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">geo_location</td>
<td style="font-weight: 400;" width="72">The geographical location that the result should be adapted for. Using this parameter correctly is extremely important to get the right data. Please note that this source can accept a limited number of geo_location values &#8211; please check <a href="https://docs.oxylabs.io/resources/google_travel_hotels-bad_geo_locations.csv" target="_blank" rel="noopener">this file </a>to see geo_location values that don't yield accurate results.</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">user_agent_type</td>
<td style="font-weight: 400;" width="72">Device type and browser. The full list can be found <a href="#user-agent">here.</a></td>
<td style="font-weight: 400;" width="72">desktop</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">render</td>
<td style="font-weight: 400;" width="72">Enable JavaScript rendering. Use when the target requires JavaScript to load content. Only works via Push-Pull (a.k.a. Callback) method. There are two available values for this parameter: html(get raw output) and png (get a Base64-encoded screenshot). Please note that without JavaScript rendering, Google Travel Hotels will not return any useful content.</td>
<td style="font-weight: 400;" width="72"></td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">callback_url</td>
<td style="font-weight: 400;" width="72">URL to your callback endpoint</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">context:</td>
<td style="font-weight: 400;" rowspan="2" width="72">Number of guests</td>
<td style="font-weight: 400;" rowspan="2" width="72">2</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">hotel_occupancy</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">context:</td>
<td style="font-weight: 400;" rowspan="2" width="72">Filter results by # of hotel stars. You may specify one or more values between 2 and 5. Example: [3,4]</td>
<td style="font-weight: 400;" rowspan="2" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">hotel_classes</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">context:</td>
<td style="font-weight: 400;" rowspan="2" width="72">Dates for staying at the hotel, from &#8211; to. Example: 2017-07-12,2017-07-13</td>
<td style="font-weight: 400;" rowspan="2" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">hotel_dates</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">storage_type</td>
<td style="font-weight: 400;" width="72">Storage service provider. At the moment only Amazon S3 is supported: s3. Full implementation can be found on the <a href="#upload-to-storage">Upload to Storage</a> page.</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">storage_url</td>
<td style="font-weight: 400;" width="72">Your Amazon S3 bucket name</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" colspan="3" width="216">   &#8211; required parameter</td>
</tr>
</tbody>
</table>
</div>
<p>Please note that with Google hotels you always need to send a keyword with &#8216;hotels' word inside, for example &#8216;hotels in Los Angeles', &#8216;hotels in Paris, France', etc. Both &#8216;hotel' and &#8216;hotels' work. Google also supports local languages, so you can send &#8216;Hotelli Helsingissä' for hotels in Helsinki or &#8216;viešbučiai Vilnius' for hotels in Vilnius.</p>
<p>In this example API will retrieve the 2nd page of results for of hotel availability for <code>2</code> guests between <code>2020-10-01</code> and <code>2020-10-10</code> for <code>hotels in Paris</code> from <code>google.com</code>. The results will be filtered to only show 2 and 4 star hotels. This is Push-Pull method.</p>
<pre>curl --user user:pass1 'https://data.oxylabs.io/v1/queries' -H "Content-Type: application/json"
 -d '{"source": "google_travel_hotels", "domain": "com", "start_page": 2, "query": "hotels in Paris", "callback_url": "https://your.callback.url", "context": [{"key": "hotel_occupancy", "value": 2}, {"key": "hotel_dates", "value": "2020-10-01,2020-10-10"}, {"key": "hotel_classes", "value": [2,4]}]}'
</pre>
<p>This is in Realtime:</p>
<pre>curl --user user:pass1 'https://realtime.oxylabs.io/v1/queries' -H "Content-Type: application/json"
 -d '{"source": "google_travel_hotels", "domain": "com", "start_page": 2, "query": "hotels in Paris", "context": [{"key": "hotel_occupancy", "value": 2}, {"key": "hotel_dates", "value": "2020-10-01,2020-10-10"}, {"key": "hotel_classes", "value": [2,4]}]}'
</pre>
<hr />
<h3 id="shopping-search">Shopping Search</h3>
<p><img loading="lazy" decoding="async" class="size-full wp-image-8213 alignnone" src="https://www.proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Shopping-Search.png" alt="Real-Time Crawler for Google Shopping Search" width="474" height="26" srcset="https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Shopping-Search.png 474w, https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Shopping-Search-300x16.png 300w" sizes="(max-width: 474px) 100vw, 474px" /></p>
<p><code>google_shopping_search</code> source is designed to retrieve Google Shopping search results.</p>
<pre>POST https://data.oxylabs.io/v1/queries
</pre>
<p>Query parameters</p>
<div class="su-table su-table-responsive su-table-alternate">
<table width="216">
<tbody>
<tr>
<td style="font-weight: 400;" width="72"><strong>Parameter</strong></td>
<td style="font-weight: 400;" width="72"><strong>Description</strong></td>
<td style="font-weight: 400;" width="72"><strong>Default Value</strong></td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">source</td>
<td style="font-weight: 400;" width="72">Data source</td>
<td style="font-weight: 400;" width="72">google_shopping_search</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">domain</td>
<td style="font-weight: 400;" width="72">Domain localization</td>
<td style="font-weight: 400;" width="72">com</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">query</td>
<td style="font-weight: 400;" width="72">UTF-encoded keyword</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">start_page</td>
<td style="font-weight: 400;" width="72">Starting page number</td>
<td style="font-weight: 400;" width="72">1</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">pages</td>
<td style="font-weight: 400;" width="72">Number of pages to retrieve</td>
<td style="font-weight: 400;" width="72">1</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">locale</td>
<td style="font-weight: 400;" width="72">Accept-Language header value. This will change Google search page web interface language (not results). For example if you use domain com and use locale parameter de-DE, the results will still be American, but Accept-Language will be set to de-DE,de;q=0.8. This would imitate person from US searching in com domain, who has his browser's UI set to German. If you don't use this parameter we will set &#8216;Accept-Language' parameter according to domain (i.e. en-US for com). List of available Google locales can be found <a href="#locale">here.</a></td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">results_language</td>
<td style="font-weight: 400;" width="72">Results language. List of supported Google languages can be found <a href="#results-language">here.</a></td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">geo_location</td>
<td style="font-weight: 400;" width="72">The geographical location that the result should be adapted for. Using this parameter correctly is extremely important to get the right data. For more information, read about our suggested geo_location parameter structures <a href="#geo_location">here</a></td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">user_agent_type</td>
<td style="font-weight: 400;" width="72">Device type and browser. The full list can be found <a href="#user-agent">here.</a></td>
<td style="font-weight: 400;" width="72">desktop</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">render</td>
<td style="font-weight: 400;" width="72">Enable JavaScript rendering. Use when the target requires JavaScript to load content. Only works via Push-Pull (a.k.a. Callback) method. There are two available values for this parameter: html(get raw output) and png (get a Base64-encoded screenshot).</td>
<td style="font-weight: 400;" width="72"></td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">callback_url</td>
<td style="font-weight: 400;" width="72">URL to your callback endpoint</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">parse</td>
<td style="font-weight: 400;" width="72">true will return <a href="#parsed-data">parsed data</a>. See Parsed Data for more information.</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">context:</td>
<td style="font-weight: 400;" rowspan="2" width="72">true will turn off spelling auto-correction.</td>
<td style="font-weight: 400;" rowspan="2" width="72">FALSE</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">nfpr</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">context:</td>
<td style="font-weight: 400;" rowspan="2" width="72">Sort product list by given criteria. r applies default Google sorting, rv &#8211; by review score, p &#8211; by price ascending, pd &#8211; by price descending</td>
<td style="font-weight: 400;" rowspan="2" width="72">r</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">sort_by</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">context:</td>
<td style="font-weight: 400;" rowspan="2" width="72">Minimum price of products to filter</td>
<td style="font-weight: 400;" rowspan="2" width="72"></td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">min_price</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">context:</td>
<td style="font-weight: 400;" rowspan="2" width="72">Maximum price of products to filter</td>
<td style="font-weight: 400;" rowspan="2" width="72"></td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">max_price</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">storage_type</td>
<td style="font-weight: 400;" width="72">Storage service provider. We support Amazon S3 and Google Cloud Storage. The storage_type parameter values for these storage providers are, correspondingly, s3 and gcs. The full implementation can be found on the<a href="#upload-to-storage"> Upload to Storage </a>page. This feature only works via Push-Pull (Callback) method.</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">storage_url</td>
<td style="font-weight: 400;" width="72">Your storage bucket name. Only works via Push-Pull (Callback) method.</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" colspan="3" width="216">   &#8211; required parameter</td>
</tr>
</tbody>
</table>
</div>
<p>The API will download first <code>4</code> pages of Google Shopping search for keyword <code>adidas</code>, sorted by descending price and minimum price of $20. This is how it's done in Push-Pull:</p>
<pre>curl --user user:pass1 'https://data.oxylabs.io/v1/queries' -H "Content-Type: application/json"
 -d '{"source": "google_shopping_search", "domain": "com", "query": "adidas", "pages": 4, "context": [{"key": "sort_by", "value": "pd"}, {"key": "min_price", "value": 20}]}'
</pre>
<p>Here is the same example in Realtime:</p>
<pre>curl --user user:pass1 'https://realtime.oxylabs.io/v1/queries' -H "Content-Type: application/json"
 -d '{"source": "google_shopping_search", "domain": "com", "query": "adidas", "pages": 4, "context": [{"key": "sort_by", "value": "pd"}, {"key": "min_price", "value": 20}]}'
</pre>
<hr />
<h3 id="shopping-product">Shopping Product</h3>
<p><img loading="lazy" decoding="async" class="size-full wp-image-8214 alignnone" src="https://www.proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Shopping-Product.png" alt="Real-Time Crawler for Google Shopping Product" width="467" height="26" srcset="https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Shopping-Product.png 467w, https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Shopping-Product-300x17.png 300w" sizes="(max-width: 467px) 100vw, 467px" /></p>
<p><code>google_shopping_product</code> source is designed to retrieve Google Shopping product page for specified product.</p>
<p><span class="test">Query parameters</span></p>
<div class="su-table su-table-responsive su-table-alternate">
<table width="216">
<tbody>
<tr>
<td style="font-weight: 400;" width="72"><strong>Parameter</strong></td>
<td style="font-weight: 400;" width="72"><strong>Description</strong></td>
<td style="font-weight: 400;" width="72"><strong>Default Value</strong></td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">source</td>
<td style="font-weight: 400;" width="72">Data source</td>
<td style="font-weight: 400;" width="72">google_shopping_product</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">domain</td>
<td style="font-weight: 400;" width="72">Domain localization</td>
<td style="font-weight: 400;" width="72">com</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">query</td>
<td style="font-weight: 400;" width="72">UTF-encoded product code</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">start_page</td>
<td style="font-weight: 400;" width="72">Starting page number</td>
<td style="font-weight: 400;" width="72">1</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">pages</td>
<td style="font-weight: 400;" width="72">Number of pages to retrieve</td>
<td style="font-weight: 400;" width="72">1</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">locale</td>
<td style="font-weight: 400;" width="72">Accept-Language header value. This will change Google search page web interface language (not results). For example if you use domain com and use locale parameter de-DE, the results will still be American, but Accept-Language will be set to de-DE,de;q=0.8. This would imitate person from US searching in com domain, who has his browser's UI set to German. If you don't use this parameter we will set &#8216;Accept-Language' parameter according to domain (i.e. en-US for com). List of available Google locales can be found <a href="#locale">here.</a></td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">results_language</td>
<td style="font-weight: 400;" width="72">Results language. List of supported Google languages can be found <a href="#results-language">here.</a></td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">geo_location</td>
<td style="font-weight: 400;" width="72">The geographical location that the result should be adapted for. Using this parameter correctly is extremely important to get the right data. For more information, read about our suggested geo_location parameter structures <a href="#geo_location">here</a></td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">user_agent_type</td>
<td style="font-weight: 400;" width="72">Device type and browser. The full list can be found <a href="#user-agent">here.</a></td>
<td style="font-weight: 400;" width="72">desktop</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">render</td>
<td style="font-weight: 400;" width="72">Enable JavaScript rendering. Use when the target requires JavaScript to load content. Only works via Push-Pull (a.k.a. Callback) method. There are two available values for this parameter: html(get raw output) and png (get a Base64-encoded screenshot).</td>
<td style="font-weight: 400;" width="72"></td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">callback_url</td>
<td style="font-weight: 400;" width="72">URL to your callback endpoint</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">parse</td>
<td style="font-weight: 400;" width="72">true will return parsed data. See <a href="#parsed-data">Parsed Data</a> for more information.</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">storage_type</td>
<td style="font-weight: 400;" width="72">Storage service provider. We support Amazon S3 and Google Cloud Storage. The storage_type parameter values for these storage providers are, correspondingly, s3 and gcs. The full implementation can be found on the <a href="#upload-to-storage">Upload to Storage</a> page. This feature only works via Push-Pull (Callback) method.</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">storage_url</td>
<td style="font-weight: 400;" width="72">Your storage bucket name. Only works via Push-Pull (Callback) method.</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" colspan="3" width="216">   &#8211; required parameter</td>
</tr>
</tbody>
</table>
</div>
<p>Here the API will download product page for product ID <code>5007040952399054528</code> from Google Shopping on <code>google.com</code>. It will also get first 4 pages with pricing information. This is how it looks in Push-Pull:</p>
<pre>curl --user user:pass1 'https://data.oxylabs.io/v1/queries' -H "Content-Type: application/json"
 -d '{"source": "google_shopping_product", "domain": "com", "query": "5007040952399054528"}'
</pre>
<p>The same in Realtime:</p>
<pre>curl --user user:pass1 'https://realtime.oxylabs.io/v1/queries' -H "Content-Type: application/json"
 -d '{"source": "google_shopping_product", "domain": "com", "query": "5007040952399054528"}'
</pre>
<hr />
<h3 id="shopping-product-pricing">Shopping Product Pricing</h3>
<p><img loading="lazy" decoding="async" class="size-full wp-image-8215 alignnone" src="https://www.proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Shopping-Product-Pricing.png" alt="Real-Time Crawler for Google Shopping Product Pricing" width="475" height="23" srcset="https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Shopping-Product-Pricing.png 475w, https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Shopping-Product-Pricing-300x15.png 300w" sizes="(max-width: 475px) 100vw, 475px" /></p>
<p><code>google_shopping_pricing</code> source is designed to retrieve Google Shopping product pricing page for specified product.</p>
<p><span class="test">Query parameters</span></p>
<div class="su-table su-table-responsive su-table-alternate">
<table width="216">
<tbody>
<tr>
<td style="font-weight: 400;" width="72"><strong>Parameter</strong></td>
<td style="font-weight: 400;" width="72"><strong>Description</strong></td>
<td style="font-weight: 400;" width="72"><strong>Default Value</strong></td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">source</td>
<td style="font-weight: 400;" width="72">Data source</td>
<td style="font-weight: 400;" width="72">google_shopping_pricing</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">domain</td>
<td style="font-weight: 400;" width="72">Domain localization</td>
<td style="font-weight: 400;" width="72">com</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">query</td>
<td style="font-weight: 400;" width="72">UTF-encoded product code</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">start_page</td>
<td style="font-weight: 400;" width="72">Starting page number</td>
<td style="font-weight: 400;" width="72">1</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">pages</td>
<td style="font-weight: 400;" width="72">Number of pages to retrieve</td>
<td style="font-weight: 400;" width="72">1</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">locale</td>
<td style="font-weight: 400;" width="72">Accept-Language header value. This will change Google search page web interface language (not results). For example if you use domain com and use locale parameter de-DE, the results will still be American, but Accept-Language will be set to de-DE,de;q=0.8. This would imitate person from US searching in com domain, who has his browser's UI set to German. If you don't use this parameter we will set &#8216;Accept-Language' parameter according to domain (i.e. en-US for com). List of available Google locales can be found <a href="#locale">here.</a></td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">results_language</td>
<td style="font-weight: 400;" width="72">Results language. List of supported Google languages can be found <a href="#results-language">here.</a></td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">geo_location</td>
<td style="font-weight: 400;" width="72">The geographical location that the result should be adapted for. Using this parameter correctly is extremely important to get the right data. For more information, read about our suggested geo_location parameter structures <a href="#geo_location">here</a></td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">user_agent_type</td>
<td style="font-weight: 400;" width="72">Device type and browser. The full list can be found <a href="#user-agent">here.</a></td>
<td style="font-weight: 400;" width="72">desktop</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">render</td>
<td style="font-weight: 400;" width="72">Enable JavaScript rendering. Use when the target requires JavaScript to load content. Only works via Push-Pull (a.k.a. Callback) method. There are two available values for this parameter: html(get raw output) and png (get a Base64-encoded screenshot).</td>
<td style="font-weight: 400;" width="72"></td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">callback_url</td>
<td style="font-weight: 400;" width="72">URL to your callback endpoint</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">parse</td>
<td style="font-weight: 400;" width="72">true will return parsed data. See <a href="#parsed-data">Parsed Data</a> for more information.</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">storage_type</td>
<td style="font-weight: 400;" width="72">Storage service provider. We support Amazon S3 and Google Cloud Storage. The storage_type parameter values for these storage providers are, correspondingly, s3 and gcs. The full implementation can be found on the<a href="#upload-to-storage"> Upload to Storage</a> page. This feature only works via Push-Pull (Callback) method.</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">storage_url</td>
<td style="font-weight: 400;" width="72">Your storage bucket name. Only works via Push-Pull (Callback) method.</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" colspan="3" width="216">   &#8211; required parameter</td>
</tr>
</tbody>
</table>
</div>
<p>Here the API will download product pricing page for product ID <code>5007040952399054528</code> from Google Shopping on <code>google.com</code>. Here is an example in Push-Pull:</p>
<pre>curl --user user:pass1 'https://data.oxylabs.io/v1/queries' -H "Content-Type: application/json"
 -d '{"source": "google_shopping_pricing", "domain": "com", "query": "5007040952399054528"}'
</pre>
<p>The same in Realtime:</p>
<pre>curl --user user:pass1 'https://realtime.oxylabs.io/v1/queries' -H "Content-Type: application/json"
 -d '{"source": "google_shopping_pricing", "domain": "com", "query": "5007040952399054528"}'
</pre>
<hr />
<h3 id="images">Images</h3>
<p><img loading="lazy" decoding="async" class="size-full wp-image-8216 alignnone" src="https://www.proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Images.png" alt="Real-Time Crawler for Google Images" width="477" height="27" srcset="https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Images.png 477w, https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Images-300x17.png 300w" sizes="(max-width: 477px) 100vw, 477px" /></p>
<p><code>google_images</code> source is designed to retrieve Images search page for images that are similar to the one provided with <code>query</code> parameter, as well as websites containing those images.</p>
<p><span class="test">Query parameters</span></p>
<div class="su-table su-table-responsive su-table-alternate">
<table width="216">
<tbody>
<tr>
<td style="font-weight: 400;" width="72"><strong>Parameter</strong></td>
<td style="font-weight: 400;" width="72"><strong>Description</strong></td>
<td style="font-weight: 400;" width="72"><strong>Default Value</strong></td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">source</td>
<td style="font-weight: 400;" width="72">Data source</td>
<td style="font-weight: 400;" width="72">google_images</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">domain</td>
<td style="font-weight: 400;" width="72">Domain localization</td>
<td style="font-weight: 400;" width="72">com</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">query</td>
<td style="font-weight: 400;" width="72">URL to image</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">start_page</td>
<td style="font-weight: 400;" width="72">Starting page number</td>
<td style="font-weight: 400;" width="72">1</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">pages</td>
<td style="font-weight: 400;" width="72">Number of pages to retrieve</td>
<td style="font-weight: 400;" width="72">1</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">locale</td>
<td style="font-weight: 400;" width="72">Accept-Language header value. This will change Google search page web interface language (not results). For example if you use domain com and use locale parameter de-DE, the results will still be American, but Accept-Language will be set to de-DE,de;q=0.8. This would imitate person from US searching in com domain, who has his browser's UI set to German. If you don't use this parameter we will set &#8216;Accept-Language' parameter according to domain (i.e. en-US for com). List of available Google locales can be found <a href="#locale">here.</a></td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">geo_location</td>
<td style="font-weight: 400;" width="72">The geographical location that the result should be adapted for. Using this parameter correctly is extremely important to get the right data. For more information, read about our suggested geo_location parameter structures <a href="#geo_location">here</a></td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">user_agent_type</td>
<td style="font-weight: 400;" width="72">Device type and browser. The full list can be found <a href="#user-agent">here.</a></td>
<td style="font-weight: 400;" width="72">desktop</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">render</td>
<td style="font-weight: 400;" width="72">Enable JavaScript rendering. Use when the target requires JavaScript to load content. Only works via Push-Pull (a.k.a. Callback) method. There are two available values for this parameter: html(get raw output) and png (get a Base64-encoded screenshot).</td>
<td style="font-weight: 400;" width="72"></td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">callback_url</td>
<td style="font-weight: 400;" width="72">URL to your callback endpoint</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">context:</td>
<td style="font-weight: 400;" rowspan="2" width="72">true will turn off spelling auto-correction.</td>
<td style="font-weight: 400;" rowspan="2" width="72">FALSE</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">nfpr</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">context:</td>
<td style="font-weight: 400;" rowspan="2" width="72">Results language. List of supported Google languages can be found <a href="#results-language">here.</a></td>
<td style="font-weight: 400;" rowspan="2" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">results_language</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">storage_type</td>
<td style="font-weight: 400;" width="72">Storage service provider. We support Amazon S3 and Google Cloud Storage. The storage_type parameter values for these storage providers are, correspondingly, s3 and gcs. The full implementation can be found on the <a href="#upload-to-storage">Upload to Storage</a> page. This feature only works via Push-Pull (Callback) method.</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">storage_url</td>
<td style="font-weight: 400;" width="72">Your storage bucket name. Only works via Push-Pull (Callback) method.</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" colspan="3" width="216">   &#8211; required parameter</td>
</tr>
</tbody>
</table>
</div>
<p>In this example the API will download Image search page of similar images for image <code>https://newsneakernews-wpengine.netdna-ssl.com/wp-content/uploads/2017/03/adidas-boost-march-25-2017.jpg</code> from <code>google.com</code>. This is Push-Pull method:</p>
<pre>curl --user user:pass1 'https://data.oxylabs.io/v1/queries' -H "Content-Type: application/json"
 -d '{"source": "google_images", "domain": "com", "query": "https://newsneakernews-wpengine.netdna-ssl.com/wp-content/uploads/2017/03/adidas-boost-march-25-2017.jpg"}'
</pre>
<p>And this is the same request in Realtime:</p>
<pre>curl --user user:pass1 'https://realtime.oxylabs.io/v1/queries' -H "Content-Type: application/json"
 -d '{"source": "google_images", "domain": "com", "query": "https://www.example.com/img/image.jpg"}'
</pre>
<hr />
<h3 id="suggestions">Suggestions</h3>
<p><img loading="lazy" decoding="async" class="size-full wp-image-8217 alignnone" src="https://www.proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Suggestions.png" alt="Real-Time Crawler for Google Suggestions" width="476" height="25" srcset="https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Suggestions.png 476w, https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Suggestions-300x16.png 300w" sizes="(max-width: 476px) 100vw, 476px" /></p>
<p><code>google_suggest</code> source is designed to retrieve Google keyword suggestions.</p>
<p><span class="test">Query parameters</span></p>
<div class="su-table su-table-responsive su-table-alternate">
<table width="216">
<tbody>
<tr>
<td style="font-weight: 400;" width="72"><strong>Parameter</strong></td>
<td style="font-weight: 400;" width="72"><strong>Description</strong></td>
<td style="font-weight: 400;" width="72"><strong>Default Value</strong></td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">source</td>
<td style="font-weight: 400;" width="72">Data source</td>
<td style="font-weight: 400;" width="72">google_suggest</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">query</td>
<td style="font-weight: 400;" width="72">UTF-encoded keyword</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">locale</td>
<td style="font-weight: 400;" width="72">Accept-Language header value. This will change Google search page web interface language (not results). For example if you use domain com and use locale parameter de-DE, the results will still be American, but Accept-Language will be set to de-DE,de;q=0.8. This would imitate person from US searching in com domain, who has his browser's UI set to German. If you don't use this parameter we will set &#8216;Accept-Language' parameter according to domain (i.e. en-US for com). List of available Google locales can be found<a href="#locale"> here.</a></td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">geo_location</td>
<td style="font-weight: 400;" width="72">The geographical location that the result should be adapted for. Using this parameter correctly is extremely important to get the right data. For more information, read about our suggested geo_location parameter structures <a href="#geo_location">here</a></td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">user_agent_type</td>
<td style="font-weight: 400;" width="72">Device type and browser. The full list can be found<a href="#user-agent"> here.</a></td>
<td style="font-weight: 400;" width="72">desktop</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">render</td>
<td style="font-weight: 400;" width="72">Enable JavaScript rendering. Use when the target requires JavaScript to load content. Only works via Push-Pull (a.k.a. Callback) method. There are two available values for this parameter: html(get raw output) and png (get a Base64-encoded screenshot).</td>
<td style="font-weight: 400;" width="72"></td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">callback_url</td>
<td style="font-weight: 400;" width="72">URL to your callback endpoint</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">storage_type</td>
<td style="font-weight: 400;" width="72">Storage service provider. We support Amazon S3 and Google Cloud Storage. The storage_type parameter values for these storage providers are, correspondingly, s3 and gcs. The full implementation can be found on the<a href="#upload-to-storage"> Upload to Storage</a> page. This feature only works via Push-Pull (Callback) method.</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">storage_url</td>
<td style="font-weight: 400;" width="72">Your storage bucket name. Only works via Push-Pull (Callback) method.</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" colspan="3" width="216">   &#8211; required parameter</td>
</tr>
</tbody>
</table>
</div>
<p>API makes request to Google Suggestions page to retrieve suggestions for keyword <code>adidas</code>. The API will post a JSON payload to <code>your.callback.url</code> containing the URL to download the result once the task is finished. Here is an example with Push-Pull:</p>
<pre>curl --user user:pass1 'https://data.oxylabs.io/v1/queries' -H "Content-Type: application/json"
 -d '{"source": "google_suggest", "query": "adidas", "callback_url": "https://your.callback.url"}'
</pre>
<p>The same request with Realtime:</p>
<pre>curl --user user:pass1 'https://realtime.oxylabs.io/v1/queries' -H "Content-Type: application/json"
 -d '{"source": "google_suggest", "query": "adidas"}'
</pre>
<hr />
<h3 id="keyword-data">Keyword Data</h3>
<p><img loading="lazy" decoding="async" class="size-full wp-image-8218 alignnone" src="https://www.proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Keyword-Data.png" alt="Real-Time Crawler for Google Keyword Data" width="472" height="23" srcset="https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Keyword-Data.png 472w, https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Keyword-Data-300x15.png 300w" sizes="(max-width: 472px) 100vw, 472px" /></p>
<p><code>google_msv</code> data source will retrieve Google keyword data for specified keywords, as well as suggested keywords (unless passing ideas=False in context). Keywords are passed in query parameter as a string. Keywords are separated by commas. Commas within a keyword are not supported, so a keyword &#8220;Water Bottle 5,0L&#8221; will actually be interpreted as 2 keywords: &#8220;Water Bottle 5&#8221; and &#8220;0L&#8221;. See output example on the right for more details.</p>
<p><span class="test">Query parameters</span></p>
<div class="su-table su-table-responsive su-table-alternate">
<table width="216">
<tbody>
<tr>
<td style="font-weight: 400;" width="72"><strong>Parameter</strong></td>
<td style="font-weight: 400;" width="72"><strong>Description</strong></td>
<td style="font-weight: 400;" width="72"><strong>Default Value</strong></td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">source</td>
<td style="font-weight: 400;" width="72">Data source</td>
<td style="font-weight: 400;" width="72">google_msv</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">query</td>
<td style="font-weight: 400;" width="72">UTF-encoded keywords, separated by commas</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">geo_location</td>
<td style="font-weight: 400;" width="72">The geographical location that the result should be adapted for. Using this parameter correctly is extremely important to get the right data. For more information, read about our suggested geo_location parameter structures<a href="#geo_location"> here</a></td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">context:</td>
<td style="font-weight: 400;" rowspan="2" width="72">Language, for example english or french. No parameter or empty value will return results for all languages.</td>
<td style="font-weight: 400;" rowspan="2" width="72"></td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">language</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">context:</td>
<td style="font-weight: 400;" rowspan="2" width="72">3-symbol currency code</td>
<td style="font-weight: 400;" rowspan="2" width="72">EUR</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">currency</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">context:</td>
<td style="font-weight: 400;" rowspan="2" width="72">If true, returns keyword ideas, false will return only data for requested keywords</td>
<td style="font-weight: 400;" rowspan="2" width="72">TRUE</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">ideas</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">context:</td>
<td style="font-weight: 400;" rowspan="2" width="72">When fetching ideas, will limit the number of idea keywords to retrieve to provided limit rounded up to the nearest multiple of 50 (e.g. 20 -&gt; 50, 123 -&gt; 150). 0 means no limit.</td>
<td style="font-weight: 400;" rowspan="2" width="72">0</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">ideas_limit</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">context:</td>
<td style="font-weight: 400;" rowspan="2" width="72">When fetching ideas, will filter out idea keywords that have a lower average monthly search volume than the provided number. 0 means no filter.</td>
<td style="font-weight: 400;" rowspan="2" width="72">0</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">min_amsv</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">context:</td>
<td style="font-weight: 400;" rowspan="2" width="72">When fetching ideas, will filter out idea keywords that have a higher average monthly search volume than the provided number. 0 means no filter.</td>
<td style="font-weight: 400;" rowspan="2" width="72">0</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">max_amsv</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">context:</td>
<td style="font-weight: 400;" rowspan="2" width="72">When fetching ideas, will filter out idea keywords that do not fall into the provided category. Available categories in .</td>
<td style="font-weight: 400;" rowspan="2" width="72">null</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">category</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">storage_type</td>
<td style="font-weight: 400;" width="72">Storage service provider. We support Amazon S3 and Google Cloud Storage. The storage_type parameter values for these storage providers are, correspondingly, s3 and gcs. The full implementation can be found on the <a href="#upload-to-storage">Upload to Storage</a> page. This feature only works via Push-Pull (Callback) method.</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="72">storage_url</td>
<td style="font-weight: 400;" width="72">Your storage bucket name. Only works via Push-Pull (Callback) method.</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" colspan="3" width="216">   &#8211; required parameter</td>
</tr>
</tbody>
</table>
</div>
In this example API will keyword data for <code>meilleur restaurant</code> and all suggested keywords. Keyword language is <code>french</code>, and geo location is <code>Paris,Ile-de-France,France</code> and currency is <code>EUR</code>.</p>
<pre>curl --user user:pass1 'https://data.oxylabs.io/v1/queries' -H "Content-Type: application/json"
-d '{"source": "google_msv", "query": "meilleur restaurant", "geo_location": "Paris,Ile-de-France,France", "context": [{"key": "language", "value": "french"},{"key": "currency", "value": "EUR"}, {"key": "ideas", "value": true}]}'

# OR if you don't want ideas:

curl --user user:pass1 'https://data.oxylabs.io/v1/queries' -H "Content-Type: application/json"
-d '{"source": "google_msv", "query": "meilleur restaurant", "geo_location": "Paris,Ile-de-France,France", "context": [{"key": "language", "value": "french"},{"key": "currency", "value": "EUR"}, {"key": "ideas", "value": false}]}'
</pre>
<p>Sample output (historicalSearchVolume entries and ideas entries cut):</p>
<pre>{
    "results": [
    {
        "content":
        {
            "ideas": [
            {
                "cpc": 4.712038,
                "keyword": "meilleur restaurant a paris",
                "currency": "EUR",
                "competition": 0.3385383889238515,
                "averageSearchVolume": 1900,
                "historicalSearchVolume": [
                {
                    "date": "201803",
                    "searchVolume": 1600
                },
                {
                    "date": "201802",
                    "searchVolume": 1900
                }]
            }],
            "seeds": [
            {
                "cpc": 4.05351,
                "keyword": "meilleur restaurant",
                "currency": "EUR",
                "competition": 0.3385341239238515,
                "averageSearchVolume": 2900,
                "historicalSearchVolume": [
                {
                    "date": "201803",
                    "searchVolume": 3600
                },
                {
                    "date": "201802",
                    "searchVolume": 2900
                }]
            }]
        }
    }]
}
</pre>
<hr />
<h2 id="parsed-data">Parsed data</h2>
<p>Google Web Search (SERP) page is the only one that is extensively supported in parsed data delivery. Below you can find which particular SERP page fields we parse. Structure data is available with <a href="#search">Search</a> (all the time) and <a href="#direct">Direct</a> (as long as SERP page URL is submitted).</p>
<p>Google Web Search (<code>"source": "google_search"</code>) supports CSV output. To access it, please include these parameters in your Google Web Search job <code>{"source": "google_search", "parse": true, "parser_type": "v2"}</code>. The result retrieval URL for a CSV job is structured like this: <code>http://data.oxylabs.io/v1/queries/{job_id}/results/normalized?format=csv</code>.</p>
<hr />
<h3 id="search-2">Search</h3>
<h4 id="organic-amp-paid"><strong>Organic & Paid</strong></h4>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8220" src="https://www.proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Organic-Paid.png" alt="Real-Time Crawler for Google Organic & Paid" width="603" height="437" srcset="https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Organic-Paid.png 603w, https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Organic-Paid-300x217.png 300w" sizes="(max-width: 603px) 100vw, 603px" /></p>
<pre>"results": {
  "paid": [
    {
      "pos": 1,
      "url": "https://www.adidas.com/us",
      "desc": "New York · 10 locations nearby",
      "title": "adidas.com | adidas® Official Site | Official adidas® Online Store‎",
      "url_shown": "www.adidas.com/Official/Site",
      "pos_overall": 1
    }
  ],
  "organic": [
    {
      "pos": 1,
      "url": "https://www.adidas.com/us",
      "desc": "Welcome to adidas Shop for adidas shoes, clothing and view new collections for adidas Originals, running, football, training and much more.",
      "title": "adidas Official Website | adidas US",
      "url_shown": "https://www.adidas.com › ...",
      "pos_overall": 2
    },
    {
      "pos": 2,
      "url": "https://www.mena.adidas.com/",
      "desc": "Browse for adidas shoes, clothing and collections, adidas Originals, Running, Football, Training and more on the official adidas website.",
      "title": "adidas Official Website | adidas",
      "url_shown": "https://www.mena.adidas.com",
      "pos_overall": 6
    },
    {
      "pos": 3,
      "url": "https://www.adidas-group.com/",
      "desc": "adidas AG Supervisory Board announces candidates as shareholder ... adidas celebrates its 70th anniversary and the opening of the Arena building. August 9 ...",
      "title": "adidas - Home",
      "url_shown": "https://www.adidas-group.com",
      "pos_overall": 7
    },
    {
      "pos": 4,
      "url": "https://www.nycgo.com/shopping/the-adidas-store",
      "desc": "You don't so much shop in this flagship Adidas store as you experience it. With an interior modeled on a high school stadium, this four-story Midtown outlet—the  ...",
      "title": "The Adidas Store (Midtown) | NYCgo - NYCgo.com",
      "url_shown": "https://www.nycgo.com › shopping › the-adidas-store",
      "pos_overall": 8
    },
    {
      "pos": 5,
      "url": "https://www.yelp.com/search?find_desc=adidas+store&find_loc=Manhattan%2C+NY",
      "desc": "Reviews on Adidas Store in Manhattan, NY - Adidas, Adidas Originals New York SoHo, adidas Sport Performance, Upper 90 Soccer - Manhattan, Nike Soho, ...",
      "title": "Adidas Store Manhattan, NY - Last Updated August 2019 - Yelp",
      "url_shown": "https://www.yelp.com › search › find_desc=adidas+store",
      "pos_overall": 9
    },
    {
      "pos": 6,
      "url": "https://en.wikipedia.org/wiki/Adidas",
      "desc": "Adidas AG is a multinational corporation, founded and headquartered in Herzogenaurach, Germany, that designs and manufactures shoes, clothing and ...",
      "title": "Adidas - Wikipedia",
      "url_shown": "https://en.wikipedia.org › wiki › Adidas",
      "pos_overall": 10
    }
  ]
</pre>
<hr />
<h4 id="product-listing-ads"><strong>Product Listing Ads</strong></h4>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8221" src="https://www.proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Product-Listing-Ads.png" alt="Real-Time Crawler for Google Product Listing Ads" width="605" height="429" srcset="https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Product-Listing-Ads.png 605w, https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Product-Listing-Ads-300x213.png 300w" sizes="(max-width: 605px) 100vw, 605px" /></p>
<pre>"pla": [
  {
    "pos": 1,
    "url": "http://www.adidas.com/us/asweego-shoes/F37038.html?cm_mmc=AdieSEM_Feeds-_-GoogleProductAds-_-NA-_-F37038&cm_mmca1=US&cm_mmca2=NA&kpid=F37038&sourceid=543457011",
    "price": "$40.00",
    "title": "adidas Asweego Shoes Black 10.5 - Mens Running Shoes",
    "seller": "adidas",
    "source": ""
  },
  {
    "pos": 2,
    "url": "http://www.adidas.com/us/baseline-shoes/AW4299.html?cm_mmc=AdieSEM_Feeds-_-GoogleProductAds-_-NA-_-AW4299&cm_mmca1=US&cm_mmca2=NA&kpid=AW4299&sourceid=543457011",
    "price": "$50.00",
    "title": "adidas Baseline Shoes White 13K - Originals Shoes",
    "seller": "adidas",
    "source": ""
  },
  ...
  {
    "pos": 29,
    "url": "https://www.zappos.com/product/8466374/color/21766",
    "price": "$79.95",
    "title": "adidas Superstar W Originals Women's Classic Shoes White/Black/White : 9 B - Medium",
    "seller": "Zappos.com",
    "source": ""
  }
]
</pre>
<hr />
<h4 id="top-stories"><strong>Top Stories</strong></h4>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8222" src="https://www.proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Top-Stories.png" alt="Real-Time Crawler for Google Top Stories" width="609" height="427" srcset="https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Top-Stories.png 609w, https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Top-Stories-300x210.png 300w" sizes="(max-width: 609px) 100vw, 609px" /></p>
<pre>"top_stories": [
  {
    "url": "https://www.cnet.com/news/spacex-starhopper-prototype-takes-giant-leap-for-elon-musk/",
    "source": "Cnet",
    "headline": "SpaceX Starhopper rocket prototype takes giant leap for Elon Musk",
    "timeframe": "13 hours ago"
  },
  {
    "url": "https://electrek.co/2019/08/27/elon-musk-tesla-china-made-model-3-rumor/",
    "source": "Electrek",
    "headline": "Elon Musk is rumored to unveil first China-made Tesla Model 3 at event this \nweek",
    "timeframe": "16 hours ago"
  },
  {
    "url": "https://www.bloomberg.com/news/articles/2019-08-28/musk-to-join-china-ai-summit-despite-trump-ordering-firms-out",
    "source": "Bloomberg",
    "headline": "Elon Musk and Jack Ma Will Debate AI at China Summit",
    "timeframe": "4 hours ago"
  }
]
</pre>
<hr />
<h4 id="featured-snippet"><strong>Featured Snippet</strong></h4>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8223" src="https://www.proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Featured-Snippet.png" alt="Real-Time Crawler for Google Featured Snippet" width="612" height="435" srcset="https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Featured-Snippet.png 612w, https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Featured-Snippet-300x213.png 300w" sizes="(max-width: 612px) 100vw, 612px" /></p>
<pre>"featured_snippet": [
  {
    "url": "https://en.wikipedia.org/wiki/Contract_for_difference",
    "desc": "In finance, a contract for difference (CFD) is a contract between two parties, typically described as \"buyer\" and \"seller\", stipulating that the seller will pay to the buyer the difference between the current value of an asset and its value at contract time (if the difference is negative, then the buyer pays instead to ...",
    "title": "Contract for difference - Wikipedia",
    "url_shown": "https://en.wikipedia.org › wiki › Contract_for_difference",
    "pos_overall": 1
  }
]
</pre>
<hr />
<h4 id="knowledge-base"><strong>Knowledge Base</strong></h4>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8224" src="https://www.proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Knowledge-Base.png" alt="Real-Time Crawler for Google Knowledge Base" width="611" height="430" srcset="https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Knowledge-Base.png 611w, https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Knowledge-Base-300x211.png 300w" sizes="(max-width: 611px) 100vw, 611px" /></p>
<pre>"knowledge": {
  "title": "Adidas",
  "factoids": [
    {
      "title": "Stock price",
      "content": "ADDDF (OTCMKTS) $291.81 +2.74 (+0.95%)Aug 23, 4:00 PM EDT - Disclaimer"
    },
    {
      "title": "Founder",
      "content": "Adolf Dassler"
    },
    {
      "title": "Founded",
      "content": "August 18, 1949, Herzogenaurach, Germany"
    },
    {
      "title": "Headquarters",
      "content": "Herzogenaurach, Germany"
    },
    {
      "title": "Subsidiaries",
      "content": "Reebok, Five Ten Footwear, Runtastic, Ashworth, MORE"
    },
    {
      "title": "Website",
      "content": "https://www.adidas.com/us"
    }
  ],
  "subtitle": "Design company",
  "description": "DescriptionAdidas AG is a multinational corporation, founded and headquartered in Herzogenaurach, Germany, that designs and manufactures shoes, clothing and accessories. It is the largest sportswear manufacturer in Europe, and the second largest in the world, after Nike. Wikipedia"
}
</pre>
<hr />
<h4 id="local-pack"><strong>Local Pack</strong></h4>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8225" src="https://www.proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Local-Pack.png" alt="Real-Time Crawler for Google Local Pack" width="613" height="434" srcset="https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Local-Pack.png 613w, https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Local-Pack-300x212.png 300w" sizes="(max-width: 613px) 100vw, 613px" /></p>
<pre>"local_pack": [
  {
    "links": [
      {
        "href": "https://www.adidas.com/us?utm_source=gmb&utm_medium=organic&utm_campaign=US470198_local",
        "title": "Website"
      },
      {
        "href": "#",
        "title": "Directions"
      }
    ],
    "phone": "",
    "title": "adidas Originals Flagship Store",
    "rating": 0,
    "address": "Open ⋅ Closes 7PM",
    "subtitle": "(212) 966-0954",
    "pos_overall": 3,
    "rating_count": 0
  }
]
</pre>
<hr />
<h4 id="twitter-feed"><strong>Twitter Feed</strong></h4>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8226" src="https://www.proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Twitter-Feed.png" alt="Real-Time Crawler for Google Twitter Feed" width="617" height="433" srcset="https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Twitter-Feed.png 617w, https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Twitter-Feed-300x211.png 300w" sizes="(max-width: 617px) 100vw, 617px" /></p>
<pre>"twitter": [
  {
    "pos": 1,
    "url": "https://twitter.com/elonmusk",
    "title": "Elon Musk (@elonmusk) · Twitter",
    "tweets": [
      {
        "url": "https://twitter.com/elonmusk/status/1166081488648949760?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Etweet",
        "content": "Starhopper flight currently tracking to 5pm Texas time for 150m / ~500ft hover test",
        "timeframe": "11 hours ago"
      },
      {
        "url": "https://twitter.com/elonmusk/status/1165377786338406400?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Etweet",
        "content": "Looks like @SpaceX Starhopper flight may be as soon as Monday. FAA support is much appreciated!",
        "timeframe": "2 days ago"
      },
      {
        "url": "https://twitter.com/elonmusk/status/1165371975528640512?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Etweet",
        "content": "If you’re a utility or public utilities commission, please consider using the Tesla Megapack. Better for the environment & usually lower cost than fossil fuel peaker plants! www.tesla.com/megapack",
        "timeframe": "2 days ago"
      }
    ],
    "pos_overall": 1
  }
]
</pre>
<hr />
<h4 id="job-listings"><strong>Job Listings</strong></h4>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8227" src="https://www.proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Job-Listings.png" alt="Real-Time Crawler for Google Job Listings" width="620" height="432" srcset="https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Job-Listings.png 620w, https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Job-Listings-300x209.png 300w" sizes="(max-width: 620px) 100vw, 620px" /></p>
<pre>"jobs": {
  "listings": [
    {
      "title": "SR SOFTWARE DEVELOPER",
      "source": "via LinkedIn",
      "employer": "Jobs @ TheJobNetwork",
      "location": "Tulsa, OK",
      "extra_details": [
        "1 day ago",
        "Full-time"
      ]
    },
    {
      "title": "Autonomous Vehicle Simulation Software Engineer",
      "source": "via Built In Colorado",
      "employer": "Azevtec",
      "location": "United States",
      "extra_details": [
        "17 hours ago",
        "Full-time"
      ]
    },
    {
      "title": "Senior Software Engineer - Oracle Transportation Management",
      "source": "via LinkedIn",
      "employer": "XPO Logistics, Inc.",
      "location": "United States",
      "extra_details": [
        "21 hours ago",
        "Full-time"
      ]
    }
  ],
  "location_header": "Near United States"
}
</pre>
<hr />
<h4 id="carousel"><strong>Carousel</strong></h4>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8229" src="https://www.proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Carousel.png" alt="Real-Time Crawler for Google Carousel" width="617" height="437" srcset="https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Carousel.png 617w, https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Carousel-300x212.png 300w" sizes="(max-width: 617px) 100vw, 617px" /></p>
<pre>"item_carousel": {
  "items": [
    {
      "title": "Chris Evans",
      "subtitle": "Captain America"
    },
    {
      "title": "Mark Ruffalo",
      "subtitle": "Hulk"
    },
    {
      "title": "Tom Holland",
      "subtitle": "Spider-Man"
    },
    {
      "title": "Stan Lee",
      "subtitle": "Old Man in TV Report, Bus Driver"
    },
    {
      "title": "Chris Pratt",
      "subtitle": "Star-Lord"
    }
  ],
  "title": "The Avengers/Cast"
}
</pre>
<hr />
<h4 id="images-2"><strong>Images</strong></h4>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8230" src="https://www.proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Parsed-data-Images.png" alt="Real-Time Crawler for Google Parsed data Images" width="610" height="435" srcset="https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Parsed-data-Images.png 610w, https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Parsed-data-Images-300x214.png 300w" sizes="(max-width: 610px) 100vw, 610px" /></p>
<pre>"images": [
  {
    "alt": "Image result for contemporary wall clock",
    "href": "/search?q=contemporary+wall+clock&safe=off&hl=en&gl=US&tbm=isch&source=iu&ictx=1&fir=Qspcw8WiAmXYzM%253A%252C-m-5575uWYilbM%252C_&vet=1&usg=AI4_-kTGLIU9LAzoCJxO8gp7kK322MV8Yg&sa=X&ved=2ahUKEwjFy8rSy7HkAhWkDrkGHck7A24Q9QEwAXoECAkQBg#imgrc=Qspcw8WiAmXYzM:",
    "source": "https://www.allmodern.com/decor-pillows/sb0/wall-clocks-c429917.html"
  },
  {
    "alt": "Image result for contemporary wall clock",
    "href": "/search?q=contemporary+wall+clock&safe=off&hl=en&gl=US&tbm=isch&source=iu&ictx=1&fir=G0pFK8TQ91ls6M%253A%252Cr5nLxZQfxnA3MM%252C_&vet=1&usg=AI4_-kStPZh1tpSdQ5vTAZUIXwW4zThzQg&sa=X&ved=2ahUKEwjFy8rSy7HkAhWkDrkGHck7A24Q9QEwAnoECAkQCQ#imgrc=G0pFK8TQ91ls6M:",
    "source": "https://www.wayfair.com/decor-pillows/cat/modern-wall-clocks-c1869680.html"
  },
  ...
  {
    "alt": "Image result for contemporary wall clock",
    "href": "/search?q=contemporary+wall+clock&safe=off&hl=en&gl=US&tbm=isch&source=iu&ictx=1&fir=o4ZXIngZyr9HAM%253A%252C-m-5575uWYilbM%252C_&vet=1&usg=AI4_-kTIJMWyTs07HFcVKHTfTd6otLL82w&sa=X&ved=2ahUKEwjFy8rSy7HkAhWkDrkGHck7A24Q9QEwCnoECAkQIQ#imgrc=o4ZXIngZyr9HAM:",
    "source": "https://www.allmodern.com/decor-pillows/sb0/wall-clocks-c429917.html"
  }
]
</pre>
<hr />
<h4 id="related-questions"><strong>Related Questions</strong></h4>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8231" src="https://www.proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Related-Questions.png" alt="Real-Time Crawler for Google Related Questions" width="625" height="433" srcset="https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Related-Questions.png 625w, https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Related-Questions-300x208.png 300w" sizes="(max-width: 625px) 100vw, 625px" /></p>
<pre>"related_questions": [
  {
    "pos": 1,
    "question": "What does Adidas stand for?"
  },
  {
    "pos": 2,
    "question": "Is Adidas German?"
  },
  {
    "pos": 3,
    "question": "Are Jordans Adidas?"
  },
  {
    "pos": 4,
    "question": "What shoe brands does adidas own?"
  }
]
</pre>
<hr />
<h3 id="shopping-search-2">Shopping Search</h3>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8232" src="https://www.proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Shopping-Search2.png" alt="Real-Time Crawler for Google Shopping Search2" width="612" height="398" srcset="https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Shopping-Search2.png 612w, https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Shopping-Search2-300x195.png 300w" sizes="(max-width: 612px) 100vw, 612px" /></p>
<pre>...
"organic": [
            {
              "pos": 1,
              "url": "/aclk?sa=l&ai=DChcSEwju8fmd84jpAhUPTxgKHQshDIcYABAHGgJsZQ&sig=AOD64_1BTHVcnNzI5775j9xNkILrCU2KYA&ctype=5&q=&ved=0ahUKEwjpr_Sd84jpAhVI2aYKHYn1CeMQvxMI4wQ&adurl=",
              "type": "grid",
              "price": 85,
              "title": "Adidas Women's Swift Run Casual Shoes in White ...",
              "merchant": {
                "url": "/aclk?sa=l&ai=DChcSEwju8fmd84jpAhUPTxgKHQshDIcYABAHGgJsZQ&sig=AOD64_1BTHVcnNzI5775j9xNkILrCU2KYA&ctype=5&q=&ved=0ahUKEwjpr_Sd84jpAhVI2aYKHYn1CeMQg-UECOoE&adurl=",
                "name": "Finish Line"
              },
              "price_str": "$85.00.",
              "pos_overall": 1
            },
            {
              "pos": 2,
              "url": "/shopping/product/4092922174439754197?uule=w+CAIQICIXQ29sb3JhZG8sIFVuaXRlZCBTdGF0ZXM&q=adidas&prds=epd:6096059639745774212,paur:ClkAsKraX5cxKGk1E_r15f66xbFqydL47KoF9cO04jau1Hw_EeaJnz0EV5mb_JEjRlE5_m7N_B5Vg-krR5766rvdESfkczSSBqkGVDV7A5Ts8BlTUCNfpUxgtxIZAFPVH73vXbe47J5qGlzkfYH83D9zVPSv8w,prmr:1&sa=X&ved=0ahUKEwjpr_Sd84jpAhVI2aYKHYn1CeMQvxMI7AQ",
              "type": "grid",
              "price": 139.97,
              "title": "adidas Mens Alphaboost Training Shoes White ...",
              "merchant": {
                "url": "/aclk?sa=l&ai=DChcSEwju8fmd84jpAhUPTxgKHQshDIcYABAEGgJsZQ&sig=AOD64_3S0xuLlA1GOzNxCvYQdpeTLZkRyQ&ctype=5&q=&ved=0ahUKEwjpr_Sd84jpAhVI2aYKHYn1CeMQg-UECPQE&adurl=",
                "name": "Baseball Savings.com"
              },
              "price_str": "$139.97.",
              "pos_overall": 2
            },
...
</pre>
<hr />
<h3 id="shopping-product-2">Shopping Product</h3>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8233" src="https://www.proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Shopping-Product2.png" alt="Real-Time Crawler for Google Shopping Product2" width="611" height="429" srcset="https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Shopping-Product2.png 611w, https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Shopping-Product2-300x211.png 300w" sizes="(max-width: 611px) 100vw, 611px" /></p>
<pre>...
{
  "type": "Bundle",
  "items": [
    {
      "value": "Console Only",
      "selected": true,
      "available": true,
      "product_id": "5007040952399054528"
    },
    {
      "value": "Splatoon 2 Bundle",
      "available": false,
      "product_id": "6767220879106424425"
    },
    {
      "value": "Super Mario Odyssey Edition",
      "available": false,
      "product_id": "11634753303078094444"
    }
  ]
}
...
</pre>
<hr />
<h3 id="shopping-product-pricing-2">Shopping Product Pricing</h3>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8234" src="https://www.proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Shopping-Product-Pricing2.png" alt="Real-Time Crawler for Google Shopping Product Pricing2" width="614" height="432" srcset="https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Shopping-Product-Pricing2.png 614w, https://proxysp.com/wp-content/uploads/2021/09/Real-Time-Crawler-for-Google-Shopping-Product-Pricing2-300x211.png 300w" sizes="(max-width: 614px) 100vw, 614px" /></p>
<pre>"content": {
  "url": "https://www.google.com/shopping/product/5007040952399054528/online",
  "title": "Nintendo Switch with Joy-Con - 32 GB - Gray/Black",
  "rating": 4.5,
  "pricing": [
    {
      "price": 319.99,
      "seller": "Electronic Express",
      "details": "Free shipping",
      "currency": "$",
      "price_tax": 0,
      "price_total": 319.99,
      "seller_link": "/aclk?sa=l&ai=DChcSEwi9t9HqoJ7mAhVCXw0KHdyPBEYYABABGgJxYg&sig=AOD64_2gaL_J1BQ5J5PR-JazDM86N23Nww&adurl=&ctype=5&q=",
      "price_shipping": 0
    },
    {
      "price": 334.99,
      "seller": "ShopZodys",
      "details": "Arrives Dec 9 – 13",
      "currency": "$",
      "price_tax": 27.69,
      "price_total": 412.67,
      "seller_link": "/aclk?sa=l&ai=DChcSEwi9t9HqoJ7mAhVCXw0KHdyPBEYYABADGgJxYg&sig=AOD64_1Rqy4wxKvZXAaoX9FNDBy379EAAA&adurl=&ctype=5&q=",
      "price_shipping": 49.99
    }
</pre>
<hr />
<h2 id="parameter-values">Parameter Values</h2>
<h3 id="user-agent">User-Agent</h3>
<p>Download full list of <code>user_agent_type</code> values in JSON <a class="custom_link" href="https://docs.oxylabs.io/resources/user_agent_type.json" target="_blank" rel="noopener">here</a>.</p>
<pre>[
  {
    "user_agent_type": "desktop",
    "description": "Random desktop browser User-Agent"
  },
  {
    "user_agent_type": "desktop_firefox",
    "description": "Random User-Agent of one of the latest versions of desktop Firefox"
  },
  {
    "user_agent_type": "desktop_chrome",
    "description": "Random User-Agent of one of the latest versions of desktop Chrome"
  },
  {
    "user_agent_type": "desktop_opera",
    "description": "Random User-Agent of one of the latest versions of desktop Opera"
  },
  {
    "user_agent_type": "desktop_edge",
    "description": "Random User-Agent of one of the latest versions of desktop Edge"
  },
  {
    "user_agent_type": "desktop_safari",
    "description": "Random User-Agent of one of the latest versions of desktop Safari"
  },
  {
    "user_agent_type": "mobile",
    "description": "Random mobile browser User-Agent"
  },
  {
    "user_agent_type": "mobile_android",
    "description": "Random User-Agent of one of the latest versions of Android browser"
  },
  {
    "user_agent_type": "mobile_ios",
    "description": "Random User-Agent of one of the latest versions of iPhone browser"
  },
  {
    "user_agent_type": "tablet",
    "description": "Random tablet browser User-Agent"
  },
  {
    "user_agent_type": "tablet_android",
    "description": "Random User-Agent of one of the latest versions of Android tablet"
  },
  {
    "user_agent_type": "tablet_ios",
    "description": "Random User-Agent of one of the latest versions of iPad tablet"
  }
]
</pre>
<hr />
<h3 id="locale">Locale</h3>
<p>Download full list of <code>locale</code> values in JSON <a class="custom_link" href="https://docs.oxylabs.io/resources/locale.json" target="_blank" rel="noopener">here</a>.</p>
<pre>[  
   {  
      "locale":{  
         "en-ai":{  
            "description":"Anguilla - English",
            "domain":"com.ai"
         },
         "es-pr":{  
            "description":"Puerto Rico - Spanish",
            "domain":"com.pr"
         },
         ...
         "en-by":{  
            "description":"Belarus - English",
            "domain":"by"
         },
         "en-in":{  
            "description":"India - English",
            "domain":"co.in"
         }
      }
   }
]
</pre>
<hr />
<h3 id="results-language">Results Language</h3>
<p>Download full list of <code>results_language</code> values in JSON <a class="custom_link" href="https://docs.oxylabs.io/resources/results_language.json" target="_blank" rel="noopener">here</a>.</p>
<pre>[
 {
   "results_language": "af",
   "language": "Afrikaans"
 },
 {
   "results_language": "ar",
   "language": "Arabic"
 },
 ...
 {
   "results_language": "vi",
   "language": "Vietnamese"
 }
]
</pre>
<hr />
<h3 id="geo_location">Geo_location</h3>
<p>There are a few ways you can use the <code>geo_location</code> parameter to get correctly-localized Google results.</p>
<ul>
<li><strong>Using Google’s Canonical Location Name</strong>. This is very straightforward. Just pass us one of the values found on the CSV download <a class="custom_link" href="https://developers.google.com/adwords/api/docs/appendix/geotargeting" target="_blank" rel="nofollow noopener">here</a>. Example: <code>“geo_location”: “New York,New York,United States”</code>.</li>
<li><strong>Using a state name</strong>. Strip the first part of a Google's Canonical Location Name and pass a <code>geo_location</code> value in a <code>“State,Country”</code> format. Works with United States, Australia, India and other countries with federated states. Example: <code>“geo_location”: “California,United States”</code>.</li>
<li><strong>Using a country name</strong>. To get results localized for the geographical center point of a country, pass an official country name. Example: <code>“geo_location”: “United Kingdom”</code>.</li>
<li><strong>Using coordinates and radius</strong>. To get hyperlocal search results (especially useful for searches such as “restaurants near me”), you can pass latitude, longitude and radius values. The following example passes the coordinates of Space Needle in Seattle, WA: <code>“geo_location”: “lat: 47.6205, lng: -122.3493, rad: 25000”</code>.</li>
</ul>
<p>If you pass a misspelled <code>geo_location</code> parameter, chances are, either us or Google will interpret and correct it for you. Nonetheless, we recommend using the parameter structures outlined above, combined with the <code>locale</code> and <code>domain</code> parameters, to get the most accurate results.</p>
<hr />
<h2 id="account-status">Account Status</h2>
<h3 id="usage-statistics">Usage Statistics</h3>
<p>You can find your usage statistics by querying the following endpoint:</p>
<pre>GET https://data.oxylabs.io/v1/stats
</pre>
<p>By default the API will return all time usage statistics. Adding <code>?group_by=month</code> will return monthly stats, while <code>?group_by=day</code> will return daily numbers.</p>
<p>This query will return all time statistics. You can find your daily and monthly usage by adding either <code>?group_by=day</code> or <code>?group_by=month</code></p>
<pre>curl --user user:pass1 'https://data.oxylabs.io/v1/stats'
</pre>
<p>Sample output:</p>
<pre>{
    "data": {
        "sources": [
            {
                "realtime_results_count": "90",
                "results_count": "10",
                "title": "google_hotels"
            },
            {
                "realtime_results_count": "19",
                "results_count": "87",
                "title": "google_search"
            }
        ]
    },
    "meta": {
        "group_by": null
    }
}
</pre>
<hr />
<h3 id="limits">Limits</h3>
<p>The following endpoint will give your monthly commitment information as well as how much has already been used:</p>
<pre>GET https://data.oxylabs.io/v1/stats/limits
</pre>
<pre>curl --user user:pass1 'https://data.oxylabs.io/v1/stats/limits'
</pre>
<p>Sample output:</p>
<pre>{
    "monthly_requests_commitment": 4500000,
    "used_requests": 985000
}
</pre>
<hr />
<h2 id="response-codes">Response Codes</h2>
<div class="su-table su-table-responsive su-table-alternate">
<table>
<thead>
<tr>
<th>Code</th>
<th>Status</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>204</code></td>
<td>No Content</td>
<td>You are trying to retrieve a job that has not been completed yet.</td>
</tr>
<tr>
<td><code>400</code></td>
<td>Multiple error messages</td>
<td>Bad request structure, could be a misspelled parameter or invalid value. Response body will have more specific error message.</td>
</tr>
<tr>
<td><code>401</code></td>
<td>&#8216;Authorization header not provided' / &#8216;Invalid authorization header' / &#8216;Client not found'</td>
<td>Missing authorization header or incorrect login credentials.</td>
</tr>
<tr>
<td><code>403</code></td>
<td>Forbidden</td>
<td>Your account does not have access to this resource.</td>
</tr>
<tr>
<td><code>404</code></td>
<td>Not Found</td>
<td>Job ID you are looking for is no longer available.</td>
</tr>
<tr>
<td><code>429</code></td>
<td>Too many requests</td>
<td>Exceeded rate limit. Please contact your account manager to increase limits.</td>
</tr>
<tr>
<td><code>500</code></td>
<td>Unknown Error</td>
<td>Service unavailable.</td>
</tr>
<tr>
<td><code>524</code></td>
<td>Timeout</td>
<td>Service unavailable.</td>
</tr>
<tr>
<td><code>612</code></td>
<td>Undefined Internal Error</td>
<td>Something went wrong and we failed the job you submitted. You can try again at no extra cost, as we don't charge you for <code>faulted</code> jobs. If that doesn't work, give us a shout.</td>
</tr>
<tr>
<td><code>613</code></td>
<td>Faulted After Too Many Retries</td>
<td>We tried scraping the job you submitted, but gave up after reaching our retry limit. You can try again at no extra cost, as we don't charge you for <code>faulted</code> jobs. If that doesn't work, give us a shout.</td>
</tr>
</tbody>
</table>
</div>
<p>Parsed data response codes:</p>
<div class="su-table su-table-responsive su-table-alternate">
<table>
<thead>
<tr>
<th>Code</th>
<th>Status</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>12000</code></td>
<td>Success</td>
<td>The parsed content returned is full and there should be no missing or broken fields.</td>
</tr>
<tr>
<td><code>12002</code></td>
<td>Failure</td>
<td>We couldn't parse the page entirely. There may be an issue with the target website changing its HTML structure.</td>
</tr>
<tr>
<td><code>12003</code></td>
<td>Not Supported</td>
<td>The web page you asked us to parse is not supported.</td>
</tr>
<tr>
<td><code>12004</code></td>
<td>Partial Success</td>
<td>We were able to parse the majority of the page, but there are a few missing fields.</td>
</tr>
<tr>
<td><code>12005</code></td>
<td>Partial Success</td>
<td>We were able to parse the majority of the page, but there might be some fields with default values because we could not find them in the HTML.</td>
</tr>
<tr>
<td><code>12006</code></td>
<td>Failure</td>
<td>Unexpected error. Let us know you got this response and we'll check what went wrong.</td>
</tr>
<tr>
<td><code>12007</code></td>
<td>Unknown</td>
<td>Unknown parsed data status. The actual result could range anywhere from a complete failure to a total success.</td>
</tr>
<tr>
<td><code>12008</code></td>
<td>Failure</td>
<td>Parsed content is missing.</td>
</tr>
<tr>
<td><code>12009</code></td>
<td>Failure</td>
<td>Product not found. Check the URL you submitted.</td>
</tr>
</tbody>
</table>
</div>
<p>Cloud storage upload response codes:</p>
<div class="su-table su-table-responsive su-table-alternate">
<table>
<thead>
<tr>
<th>Code</th>
<th>Status</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>10001</code></td>
<td>Unexpected Exception</td>
<td>Something terribly wrong happened. We probably know about this already and are fixing it. Let us know anyway.</td>
</tr>
<tr>
<td><code>13000</code></td>
<td>Upload Success</td>
<td>All good!</td>
</tr>
<tr>
<td><code>13001</code></td>
<td>Upload Failed</td>
<td>We couldn't upload job results your bucket.</td>
</tr>
<tr>
<td><code>13102</code></td>
<td>No Such Path</td>
<td>We couldn't find a bucket with such name. Please double check.</td>
</tr>
<tr>
<td><code>13103</code></td>
<td>Access Denied</td>
<td>Bucket doesn't have required permissions. To find out how to give us required access, see <a href="#upload-to-storage">here</a>.</td>
</tr>
</tbody>
</table>
</div>
<hr />
<h4>References</h4>
<ul>
<li><a href="https://docs.oxylabs.io/rtc/source/google/index.html" target="_blank" rel="nofollow noopener">https://docs.oxylabs.io/rtc/source/google/index.html</a></li>
<li><a href="https://docs.oxylabs.io/rtc/source/google/index.html" target="_blank" rel="nofollow noopener">https://docs.oxylabs.io/rtc/index.html</a></li>
</ul>
<p>&nbsp;</p>
<hr />
<blockquote><p><strong>Disclaimer:</strong> This part of the content is mainly from the merchant. If the merchant does not want it to be displayed on my website, please <a href="https://www.proxysp.com/contact-us/">contact us</a> to delete your content.</p></blockquote>
]]></content:encoded>
					
					<wfw:commentRss>https://proxysp.com/oxylabs-real-time-crawler/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7623</post-id>	</item>
		<item>
		<title>How to Use OxyLabs Proxy [Part 3]: OxyLabs Next-Gen Residential Proxies</title>
		<link>https://proxysp.com/oxylabs-next-gen-residential-proxies/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=oxylabs-next-gen-residential-proxies</link>
					<comments>https://proxysp.com/oxylabs-next-gen-residential-proxies/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
				<category><![CDATA[How to Use OxyLabs Proxy (OxyLabs User Manual Navigation)]]></category>
		<guid isPermaLink="false">https://www.proxysp.com/?p=7622</guid>

					<description><![CDATA[Did you heard of the Next-Gen Residential Proxies by Oxylabs? This article will show you how to use it in detail. Quick Start Next-Gen Residential Proxies &#8230;<p class="read-more"> <a class="ast-button" href="https://proxysp.com/oxylabs-next-gen-residential-proxies/"> <span class="screen-reader-text">How to Use OxyLabs Proxy [Part 3]: OxyLabs Next-Gen Residential Proxies</span> Read More &#187;</a></p>]]></description>
										<content:encoded><![CDATA[<blockquote><p>Did you heard of the Next-Gen Residential Proxies by Oxylabs? This article will show you how to use it in detail.</p></blockquote>
<h2 id="quick-start">Quick Start</h2>
<p>Next-Gen Residential Proxies are built for heavy-duty data retrieval operations. They enable effortless web data extraction without any delays or errors. The product is as customizable as a regular proxy, but at the same time it guarantees a much higher success rate. Custom headers and IP stickiness are both supported, alongside reusable cookies and POST requests.</p>
<p>If you have ever used regular proxies for data scraping, integrating Next-Gen Residential Proxies will be a breeze. The only difference is that we require to accept our certificate, or ignore it altogether with <code>-k</code> or <code>--insecure</code> cURL flags (or an equivalent expression in the language of your choice).</p>
<p>To make a request using Next-Gen Residential Proxies, we need to use <code>ngrp.oxylabs.io:60000</code> endpoint. Below is an example in cURL. You can find code samples in other languages <a href="#making-requests">here</a> or full code examples on our <a class="custom_link" href="https://github.com/oxylabs/product-integrations/tree/master/next-gen-residential-proxies" target="_blank" rel="nofollow noopener">GitHub</a>.</p>
<pre>curl -k -x ngrp.oxylabs.io:60000 -U "USERNAME:PASSWORD" http://ip.oxylabs.io
</pre>
<p>If you have any questions not covered by this documentation, please contact your account manager or our support staff at <a class="custom_link" href="mailto:support@oxylabs.io" target="_blank" rel="nofollow noopener">support@oxylabs.io</a>.</p>
<hr />
<h2 id="making-requests">Making requests</h2>
<pre>GET ngrp.oxylabs.io:60000
</pre>
<p>The easiest way to start is to send us a simple query without any custom options. We will add all standard headers on our end, pick the fastest proxy and deliver you the response body.</p>
<p>To utilize desired functionalities of Next-Gen Residential Proxies such as setting up proxy geolocation or reusing the same IP via session control, we need to send additional headers with the request.</p>
<p>Here's the full list of supported functionalities and headers:</p>
<p><span class="test">Query parameters</span></p>
<div class="su-table su-table-responsive su-table-alternate">
<table>
<thead>
<tr>
<th>Parameter</th>
<th>Description</th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><code>X-Oxylabs-Session-Id</code></td>
<td>If you need to reuse the same IP for multiple requests, add a session ID which can be a random string of characters</td>
<td></td>
</tr>
<tr>
<td><code>X-Oxylabs-Geo-Location</code></td>
<td>To use an IP address from a specific location, specify a country of or a city, for example <code>Germany</code>. Supported geo-locations can be found <a class="custom_link" href="https://docs.oxylabs.io/resources/universal-supported-geo_location-values.csv" target="_blank" rel="noopener">here</a>.</td>
<td></td>
</tr>
<tr>
<td><code>Headers</code></td>
<td>You can add your own headers such as <code>User-Agent</code>, or any other, insted of using pre-generated ones.</td>
<td></td>
</tr>
<tr>
<td><code>Cookies</code></td>
<td>You can add your own cookies, for example <code>Cookie: NID=1234567890</code>, to your requests.</td>
<td></td>
</tr>
<tr>
<td><code>X-Oxylabs-Status-Code</code></td>
<td>In case your target returns a custom status code with a successful response, you can send the status code of the response and our system will not retry the request.</td>
<td></td>
</tr>
<tr>
<td><code>X-Oxylabs-Render</code></td>
<td>If you wish to render JavaScript use <code>html</code> to get a rendered HTML or <code>png</code> to get a screenshot of the page.</td>
<td></td>
</tr>
<tr>
<td><code>X-Oxylabs-Parser-Type</code></td>
<td>This header can be used to select parser type. Currently <code>ecommerce-product</code> is supported.</td>
<td></td>
</tr>
<tr>
<td><code>X-Oxylabs-Parse</code></td>
<td>THe headers is used to to parse the data from the website. Value <code>1</code> must pe passed to enable parsing.</td>
</tr>
</tbody>
</table>
</div>
<pre>curl -k -v -x ngrp.oxylabs.io:60000 -U user:pass1 "https://ip.oxylabs.io"
</pre>
<hr />
<h3 id="session">Session</h3>
<p>If you want to use the same proxy to make multiple requests, you can do that by adding the <code>X-Oxylabs-Session-Id</code> header with a randomly-generated string for the session ID. We will assign a proxy to this ID and keep it for up to 10 minutes. After that a new proxy will be assigned to that particular session ID.</p>
<pre>curl -k -v -x ngrp.oxylabs.io:60000 -U user:pass1 "https://ip.oxylabs.io" -H "X-Oxylabs-Session-Id: 123randomString"
</pre>
<hr />
<h3 id="geo-location">Geo-Location</h3>
<p>Some websites will not serve content if accessed from unsupported geo-locations. You can specify in your request which country you want to access the target from. Just add the <code>X-Oxylabs-Geo-Location</code> header with the value set to a country name, for example, <code>Germany</code> for Germany or <code>United States</code> for the United States.</p>
<p>Next-Gen Residential Proxies also support city-level targeting. If you want to add a city, simply add the city name before the country, e.g,: <code>Munich, Germany</code>.</p>
<p>The full list of supported geo-location parameter values can be found <a class="custom_link" href="https://docs.oxylabs.io/resources/universal-supported-geo_location-values.csv" target="_blank" rel="noopener">here</a>.</p>
<pre>curl -k -v -x ngrp.oxylabs.io:60000 -U user:pass1 "https://ip.oxylabs.io" -H "X-Oxylabs-Geo-Location: Munich,Germany"
</pre>
<hr />
<h3 id="headers">Headers</h3>
<p>If you know more than we do about a particular target, you can add your own headers to your request. It can be both standard headers, such as <code>User-Agent</code> or <code>Accept-Language</code>, and something completely custom and target-specific.</p>
<pre>curl -k -v -x ngrp.oxylabs.io:60000 -U user:pass1 "https://ip.oxylabs.io" -H "Your-Custom-Header: interesting header content" -H "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/73.0.3683.86 Chrome/73.0.3683.86 Safari/537.36" -H "Accept-Language: en-US"
</pre>
<hr />
<h3 id="cookies">Cookies</h3>
<p>The system also allows setting custom cookies to target website. With your initial request we will return all response headers and cookies. You can modify them on your end and send them back to our system with the next request. It may be a good idea to reuse the cookies if you use the same IP address to make a few consecutive requests (see <a href="#session">Session</a> for more)</p>
<pre>curl -k -v -x ngrp.oxylabs.io:60000 -U user:pass1 "https://ip.oxylabs.io" -H "Cookie: NID=1234567890; 1P_JAR=0987654321"
</pre>
<hr />
<h3 id="custom-status-code">Custom Status Code</h3>
<p>By default we assume that the request is successful as long as it returns a 2xx or a 4xx status code. However, sometimes websites return the required content together with a non-standard HTTPS status code. If one of your targets does that, you can indicate which status codes are acceptable and actually valuable for you. Simply add <code>X-Oxylabs-Status-Code</code> header with all HTTP response codes that actually work for you. Please note that 2xx and 4xx will still be automatically marked as successful.</p>
<pre>curl -k -v -x ngrp.oxylabs.io:60000 -U user:pass1 "https://ip.oxylabs.io" -H "X-Oxylabs-Status-Code: 500,501,502,503" 
</pre>
<hr />
<h3 id="post-requests">POST Requests</h3>
<p>Next-Gen Residential Proxies don't only support sending <code>GET</code> requests, but also let you <code>POST</code> to a web endpoint of your choice. This means that you can send data to a target website, which can then make the website return a different result.</p>
<pre>curl -X POST -k -v -x ngrp.oxylabs.io:60000 -U user:pass1 "https://ip.oxylabs.io" -d "@/path/to/file.json"
</pre>
<hr />
<h3 id="javascript-rendering">JavaScript rendering</h3>
<p>Enable JavaScript rendering. Use when the target requires JavaScript to load content. There are two available values for this parameter: <code>html</code> (get raw output) and <code>png</code> (get a Base64-encoded screenshot).</p>
<pre>curl -k -v -x ngrp.oxylabs.io:60000 -U user:pass1 "https://ip.oxylabs.io" -H "X-Oxylabs-Render: html"
</pre>
<hr />
<h3 id="adaptive-parsing">Adaptive parsing</h3>
<p>Adaptive parsing is capable of parsing the most important fields from any e-commerce product page. To enable adaptive parsing for e-commerce product pages it is required to send two additional headers: <code>X-Oxylabs-Parser-Type: ecommerce_product</code> to select the parser type and <code>X-Oxylabs-Parse: 1</code> to parse the retrieved page.</p>
<p>Fields that can be parsed by Next-Gen Residential Proxies Adaptive Parsing for e-commerce product pages:</p>
<ul>
<li>Title</li>
<li>Regular price</li>
<li>Offer price</li>
<li>Currency</li>
<li>Product description</li>
<li>Product IDs</li>
<li>Image URLs</li>
<li>URLs from the page</li>
</ul>
<pre>curl -v -k -x ngrp.oxylabs.io:60000 -U user:pass1 "https://ip.oxylabs.io" -H "X-Oxylabs-Parser-Type: ecommerce_product" -H "X-Oxylabs-Parse: 1"
</pre>
<p>Sample output:</p>
<pre>{
    "results": [
        {
            "content": {
                "url": "https://ip.oxylabs.io/product/product_example.html",
                "body": {
                    "price": 11.99,
                    "title": "Example product title",
                    "currency": "$",
                    "old_price": 15.99,
                    "description": null,
                    "image_links": [
                        "https://ip.oxylabs.io/img/product_example.png"
                    ],
                    "ids_from_url": [],
                    "simple_links": [
                        {
                            "link": "https://ip.oxylabs.io/product/another_example.html",
                            "description": "Another product example"
                        }
                    ],
                    "ids_from_html": [
                        {
                            "Product number": "14158288"
                        }
                    ],
                    "price_range_lower": null,
                    "price_range_upper": null
                },
                "meta": {
                    "title": "Example product meta title",
                    "keywords": [],
                    "description": "Example product description"
                },
                "parse_status_code": 12000
            },
            "created_at": "2020-01-01 10:00:00",
            "updated_at": "2020-01-01 10:00:07",
            "id": 29964797,
            "page": 1,
            "url": "https://ip.oxylabs.io/product/product_example.html",
            "job_id": "6699272813062145025",
            "status_code": 200
        }
    ]
}
</pre>
<hr />
<h2 id="usage-statistics">Usage Statistics</h2>
<p>You can find your usage statistics by visiting our <a class="custom_link" href="https://client-monitor.oxylabs.io/v1/dashboard" target="_blank" rel="nofollow noopener">Dashboard</a> or by querying the following endpoint:</p>
<pre>GET https://data.oxylabs.io/v1/stats
</pre>
<p>By default the API will return all time usage statistics. Adding <code>?group_by=month</code> will return monthly stats, while <code>?group_by=day</code> will return daily numbers. Traffic is being displayed in bytes.</p>
<p>his query will return all time statistics. You can find your daily and monthly usage by adding either <code>?group_by=day</code> or <code>?group_by=month</code>. Traffic is being displayed in bytes.</p>
<pre>curl --user user:pass1 'https://data.oxylabs.io/v1/stats'
</pre>
<p>Sample output:</p>
<pre>{
    "meta": {
        "group_by": null,
        "date_from": null,
        "date_to": null,
        "source": null
    },
    "data": {
        "sources": [
            {
                "results_count_all": "1482",
                "results_count": "0",
                "realtime_results_count": "0",
                "super_api_results_count": "12777",
                "render": "0",
                "geo_location": "0",
                "average_response_time": 2.18,
                "request_traffic": "6629", 
                "response_traffic": "17850",
                "title": "universal"
            }
        ]
    }
}
</pre>
<hr />
<h2 id="sample-response">Sample Response</h2>
<p>This is what the response looks like. To see headers and cookies, Verbose mode must be enabled.</p>
<pre>HTTP/1.1 200 OK
X-Job-Id: 1234567890123456
X-Session-Id: 123randomString
cf-cache-status: DYNAMIC
cf-ray: 55c2ab837eddcba8-VIE
content-encoding: gzip
content-length: 72657
content-type: text/html
date: Tue, 1 Jan 2020 00:00:01 GMT,expect-ct: max-age=604800,report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
last-modified: Tue, 1 Dec 2020 00:00:00 GMT
server: cloudflare
status: 200
strict-transport-security: max-age=31536000
X-DNS-Prefetch-Control: off
Set-Cookie: NID=1234567890; expires=Wed, 29-Jul-2020 10:56:21 GMT
Set-Cookie: 1P_JAR=0987654321; expires=Wed, 29-Jul-2020 10:56:21 GMT
x-cache: MISS from localhost
x-cache-lookup: MISS from localhost:3129content here
</pre>
<p>&nbsp;</p>
<hr />
<h4>References</h4>
<p><a href="https://docs.oxylabs.io/next-gen-residential-proxies/index.html#quick-start" target="_blank" rel="nofollow noopener">https://docs.oxylabs.io/next-gen-residential-proxies/index.html#quick-start</a></p>
<hr />
<blockquote><p><strong>Disclaimer:</strong> This part of the content is mainly from the merchant. If the merchant does not want it to be displayed on my website, please <a href="https://www.proxysp.com/contact-us/">contact us</a> to delete your content.</p></blockquote>
]]></content:encoded>
					
					<wfw:commentRss>https://proxysp.com/oxylabs-next-gen-residential-proxies/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7622</post-id>	</item>
		<item>
		<title>How to Use OxyLabs Proxy [Part 2]: OxyLabs Residential Proxies Manual</title>
		<link>https://proxysp.com/oxylabs-residential-proxies/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=oxylabs-residential-proxies</link>
					<comments>https://proxysp.com/oxylabs-residential-proxies/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
				<category><![CDATA[How to Use OxyLabs Proxy (OxyLabs User Manual Navigation)]]></category>
		<guid isPermaLink="false">https://www.proxysp.com/?p=7621</guid>

					<description><![CDATA[Want to use OxyLabs' residential proxies? Then you can't miss this article. It is the most comprehensive OxyLabs residential proxies user guide. Quick Start This is &#8230;<p class="read-more"> <a class="ast-button" href="https://proxysp.com/oxylabs-residential-proxies/"> <span class="screen-reader-text">How to Use OxyLabs Proxy [Part 2]: OxyLabs Residential Proxies Manual</span> Read More &#187;</a></p>]]></description>
										<content:encoded><![CDATA[<blockquote><p>Want to use OxyLabs' residential proxies? Then you can't miss this article. It is the most comprehensive OxyLabs residential proxies user guide.</p></blockquote>
<h2 id="quick-start">Quick Start</h2>
<p>This is by far the fastest way to start using Residential Proxies. You will make a request to <code>https://ipinfo.io</code> using a residential proxy from a random location through our <a href="#basic-query">Backconnect Entry</a>. Don't forget to replace <code>USERNAME</code> and <code>PASSWORD</code> with your proxy user credentials.</p>
<pre>curl -x pr.oxylabs.io:7777 -U "customer-USERNAME:PASSWORD" https://ipinfo.io
</pre>
<p>Let's make a request using a proxy from France. All you need to do is add <code>cc-FR</code> to your username string. Below is an example in cURL, and <a href="#select-country">here</a> you can find code samples in other languages.</p>
<pre>curl -x pr.oxylabs.io:7777 -U "customer-USERNAME-cc-FR:PASSWORD" https://ipinfo.io
</pre>
<p>Here is one more example of a request that goes through a proxy from London, United Kingdom. Adding <code>cc-GB-city-london</code> to username string enables you to do just that. Click <a href="#select-city">here</a> to get more information on how to master city-level proxy targeting.</p>
<pre>curl -x pr.oxylabs.io:7777 -U "customer-USERNAME-cc-GB-city-london:PASSWORD" https://ipinfo.io
</pre>
<p>What if you want to keep the same proxy for more than one request? <a href="#session-control">Session control</a> enables that. Just add <code>sessid-abc12345</code> to your username string, where <code>abc12345</code> can be any random string, and as long as you keep sending requests with this string (session ID), we will try our best to give you the same proxy IP.</p>
<pre>curl -x pr.oxylabs.io:7777 -U "customer-USERNAME-sessid-randomString123:PASSWORD" https://ipinfo.io
</pre>
<p>Check out our <a href="#3rd-party-integrations">integration tutorials</a> with the most popular 3rd party tools, such as <a href="#multilogin">Multilogin</a>, <a href="#shadowrocket">ShadowRocket</a>, or <a href="#switchyomega">SwitchyOmega</a>.</p>
<p>If you have any additional questions, please contact your account manager or our support team at <a class="custom_link" href="mailto:support@oxylabs.io" target="_blank" rel="nofollow noopener">support@oxylabs.io</a>.</p>
<p>To find out your usage statistics, generated traffic, request count and more, please login to <a class="custom_link" href="https://dashboard.oxylabs.io/" target="_blank" rel="nofollow noopener">dashboard.oxylabs.io</a>. You can also add proxy users (subusers) and track their statistics separately.</p>
<hr />
<h2 id="backconnect-entry-node">Backconnect Entry Node</h2>
<pre>pr.oxylabs.io:7777
</pre>
<p>The single backconnect proxy enables to choose a specific country or city proxy via additional parameters in the username. This approach also supports session control. Below is a sample credentials structure:</p>
<pre>customer-USERNAME-cc-US-city-CITY-sessid-abcde12345:PASSWORD
</pre>
<div class="su-table su-table-responsive su-table-alternate">
<table>
<thead>
<tr>
<th>Parameter</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code class="required"><code>customer</code></code></td>
<td>Username</td>
</tr>
<tr>
<td><code>cc</code></td>
<td>Case insensitive country code in 2-letter <a class="custom_link" href="https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2" target="_blank" rel="nofollow noopener">3166-1 alpha-2 format</a>. For example, <code>DE</code> for Germany, <code>GB</code> for United Kingdom, <code>TH</code> for Thailand. More details on how to use country-specific proxies can be found <a href="#select-country">here</a>.</td>
</tr>
<tr>
<td><code>city</code></td>
<td>Case insensitive city name in English. This parameter has to accompanied by <code>cc</code> for better accuracy. For example, <code>cc-GB-city-london</code> for London, United Kingdom; <code>cc-DE-city-berlin</code> for Berlin, Germany. For a city with more than two words, replace space with <code>_</code>, for example <code>city-st_petersburg</code> or <code>city-rio_de_janeiro</code>.</p>
<p>We support every city in the world, but we do not guarantee we will have proxies there. Most popular cities are well covered, and will have many proxies to choose from. For reference, you can check <a class="custom_link" href="https://docs.oxylabs.io/resources/supported_cities.csv" target="_blank" rel="noopener">this list</a> of what cities you can expect to find. Click <a href="#select-city">here</a> for more information on city-level targeting.</td>
</tr>
<tr>
<td><code>st</code></td>
<td>Case insensitive US state name with us_ in the beginning, for example <code>us_california</code>, <code>us_illinois</code>. Full list of supported cities in TXT format can be downloaded <a class="custom_link" href="https://docs.oxylabs.io/resources/us_states.txt" target="_blank" rel="nofollow noopener">here</a>.</td>
</tr>
<tr>
<td><code>sessid</code></td>
<td>Session ID to keep the same IP with upcoming queries. Session expires after 10 minutes, after that a new IP is assigned to that ID. Random string; 0-9, A-z characters are supported.</td>
</tr>
<tr>
<td><code class="required"><code>password</code></code></td>
<td>Password</td>
</tr>
</tbody>
</table>
<p><code class="required">  </code> &#8211; required parameter</p>
</div>
We also support targeting by ASN number. It enables to choose proxies from specific carriers. This feature is enabled upon request.</p>
<p>If you add more than one <em>location</em> parameter in the username, the system will ignore all but one. Therefore it's important to understand which parameters get prioritized. The hierarchy is as follows:</p>
<ol>
<li><code>city</code></li>
<li><code>state</code></li>
<li><code>cc</code></li>
</ol>
<p>For example, if your query has these parameters <code>customer-username-cc-US-city-paris-st-us_california</code>, you will get a proxy from Paris, US.</p>
<hr />
<h3 id="entry-node-for-china">Entry Node for China</h3>
<pre>https://a81298871.com:8000 - Hong Kong
</pre>
<pre>https://cnt9t1is.com:8000 - Beijing
</pre>
<p>For better connectivity from China, we have configured entry nodes in Hong Kong and Beijing regions. Note that it is an HTTPS proxy node. All username parameters are identical to the regular entry node.</p>
<p>Please note that some 3rd party tools currently do not work with Hong Kong and Beijing entry nodes. 3rd party tools that work with said entry nodes are:</p>
<ol>
<li style="list-style-type: none;">
<ol>
<li style="list-style-type: none;">
<ol>
<li><a href="#oxylabs-proxy-manager">Oxylabs Proxy Manager</a></li>
<li><a href="#switchyomega">SwitchyOmega</a></li>
<li><a href="#shadowrocket">Shadowrocket</a></li>
<li><a href="#postern">Postern</a></li>
</ol>
</li>
</ol>
</li>
</ol>
<p><span style="font-size: 16px;">We are currently working on fixing the rest of the integrations on which HTTPS protocol will be supported.</span></p>
<p>If you are connecting to our residential network from China and still have issues with provided entry nodes, please get in touch at <a class="custom_link" href="mailto:support@oxylabs.io" target="_blank" rel="nofollow noopener">support@oxylabs.io</a> and we will figure out a solution together.</p>
<hr />
<h2 id="basic-query">Basic Query</h2>
<p>Basic query only requires to pass <code>username</code> and <code>password</code>. No other parameters are needed. Such query will result in the request being made from a random IP address (proxy). Every new request will use a different proxy.</p>
<p>In this example a query to <code>ipinfo.io</code> is performed from a random IP:</p>
<pre>curl -x pr.oxylabs.io:7777 -U "customer-USERNAME:PASSWORD" https://ipinfo.io
</pre>
<hr />
<h2 id="select-country">Select Country</h2>
<p><img loading="lazy" decoding="async" class="size-full wp-image-8123 alignnone" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxies-Select-Country.png" alt="OxyLabs Residential Proxies Select Country" width="270" height="22" /></p>
<p>Adding <code>cc</code> flag to the authorization header enables to specify which country IP to use to process the request. The value of this parameter is a case insensitive country code in 2-letter <a class="custom_link" href="https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2" target="_blank" rel="nofollow noopener">3166-1 alpha-2 format</a>. For example, <code>DE</code> for Germany, <code>GB</code> for the United Kingdom, <code>TH</code> for Thailand proxy. See examples for more details.</p>
<p>In this example a query to <code>ipinfo.io</code> is performed from a random IP address from Germany:</p>
<pre>curl -x pr.oxylabs.io:7777 -U "customer-USERNAME-cc-DE:PASSWORD" https://ipinfo.io
</pre>
<hr />
<h2 id="select-state">Select State</h2>
<p><img loading="lazy" decoding="async" class="size-full wp-image-8124 alignnone" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxies-Select-State.png" alt="OxyLabs Residential Proxies Select State" width="272" height="24" /></p>
<p>To get proxy from a specified US state, add <code>st</code> flag to the authorization string. For example, <code>us_california</code>, <code>us_illinois</code>. Full list of supported cities in TXT format can be downloaded <a class="custom_link" href="https://docs.oxylabs.io/resources/us_states.txt" target="_blank" rel="nofollow noopener">here</a>.</p>
<p>In this example a query to <code>ipinfo.io</code> is performed from a random IP address from California, USA:</p>
<pre>curl -x pr.oxylabs.io:7777 -U "customer-USERNAME-st-us_california:PASSWORD" https://ipinfo.io
</pre>
<hr />
<h2 id="select-city">Select City</h2>
<p><img loading="lazy" decoding="async" class="size-full wp-image-8125 alignnone" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxies-Select-City.png" alt="OxyLabs Residential Proxies Select City" width="271" height="31" /></p>
<p>To narrow down to a city-level targeting, a <code>city</code> parameter needs to be added. For example, <code>cc-DE-city-munich</code> means that a proxy from Munich, Germany, will handle the query. We support every city in the world, but we do not guarantee we will have proxies there. Most popular cities are well covered, and will have many proxies to choose from.</p>
<p>Here are a few examples of valid combinations of <code>cc</code> and <code>city</code> parameters:<br />
<code>cc-US-city-los_angeles</code><br />
<code>cc-IT-city-rome</code><br />
<code>cc-TH-city-bangkok</code><br />
<code>cc-JP-city-tokyo</code><br />
<code>cc-AU-city-sydney</code><br />
<code>cc-ES-city-barcelona</code></p>
<p>In this example a query to <code>ipinfo.io</code> is performed from a random IP address from Munich, Germany:</p>
<pre>curl -x pr.oxylabs.io:7777 -U "customer-USERNAME-cc-DE-city-munich:PASSWORD" https://ipinfo.io
</pre>
<hr />
<h2 id="session-control">Session Control</h2>
<p><img loading="lazy" decoding="async" class="size-full wp-image-8126 alignnone" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxies-Session-Control.png" alt="OxyLabs Residential Proxies Session Control" width="268" height="29" /></p>
<p>Adding <code>sessid</code> parameter with session ID string, for example <code>sessid-abc12345</code>, enables session control. This means that the proxy will not change with the following requests. The example below shows how session control works:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8127" src="https://www.proxysp.com/wp-content/uploads/2021/09/session-control.gif" alt="session-control" width="853" height="378" /></p>
<p>The system keeps the same IP associated with a particular session ID as long as there is some activity (requests). After 60 seconds of inactivity, the IP is automatically changed to a different one.</p>
<p>For example: * Your initial query with <code>sessid-random123</code> got assigned proxy IP address <code>1.1.1.1</code> * As long as you keep sending new requests with the same session ID and that IP address is online and available, the system will route your queries through <code>1.1.1.1</code> * If you stop sending requests or the IP address is no longer online, the system will assign a new proxy IP after 60 seconds. * This means that your next query with <code>sessid-random123</code> will be routed through a different IP address.</p>
<p>Standard session time is 10 minutes, but it can be increased. Contact your account manager to learn more.</p>
<p>German IP will be chosen for the first request, and then the same IP will be kept with new queries (session control):</p>
<pre>curl -x pr.oxylabs.io:7777 -U "customer-USERNAME-cc-DE-sessid-abcde12345:PASSWORD" https://ipinfo.io
</pre>
<hr />
<h2 id="country-specific-entry-nodes">Country Specific Entry Nodes</h2>
<h3 id="random-proxy-entry-nodes">Random Proxy Entry Nodes</h3>
<p>Oxylabs residential network has coverage in almost every country in the world. Country-specific random proxy entry point will return new IP with every new request.</p>
<p>You do not need to pass any additional parameters, just <code>customer-username:password</code>. If you have whitelisted IPs, you do not need to pass login credentials. Country-specific ports do not support city-level results.</p>
<p>Please see the dashboard for entry point information or download a full list of random entry points in XLS <a class="custom_link" href="https://docs.oxylabs.io/resources/random-proxy-entry-points-oxylabs.xls" target="_blank" rel="nofollow noopener">here</a>.</p>
<div class="su-table su-table-responsive su-table-alternate">
<table width="443">
<tbody>
<tr>
<td style="font-weight: 400;" width="138">Random</td>
<td style="font-weight: 400;" width="140">USA</td>
<td style="font-weight: 400;" width="165">Canada</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">pr.oxylabs.io:7777</td>
<td style="font-weight: 400;" width="140">us-pr.oxylabs.io:10000</td>
<td style="font-weight: 400;" width="165">ca-pr.oxylabs.io:30000</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">GB</td>
<td style="font-weight: 400;" width="140">Germany</td>
<td style="font-weight: 400;" width="165">France</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">gb-pr.oxylabs.io:20000</td>
<td style="font-weight: 400;" width="140">de-pr.oxylabs.io:30000</td>
<td style="font-weight: 400;" width="165">fr-pr.oxylabs.io:40000</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">Spain</td>
<td style="font-weight: 400;" width="140">Italy</td>
<td style="font-weight: 400;" width="165">Sweden</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">es-pr.oxylabs.io:10000</td>
<td style="font-weight: 400;" width="140">it-pr.oxylabs.io:20000</td>
<td style="font-weight: 400;" width="165">se-pr.oxylabs.io:30000</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">Greece</td>
<td style="font-weight: 400;" width="140">Portugal</td>
<td style="font-weight: 400;" width="165">Netherlands</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">gr-pr.oxylabs.io:40000</td>
<td style="font-weight: 400;" width="140">pt-pr.oxylabs.io:10000</td>
<td style="font-weight: 400;" width="165">nl-pr.oxylabs.io:20000</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">Belgium</td>
<td style="font-weight: 400;" width="140">Russia</td>
<td style="font-weight: 400;" width="165">Ukraine</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">be-pr.oxylabs.io:30000</td>
<td style="font-weight: 400;" width="140">ru-pr.oxylabs.io:40000</td>
<td style="font-weight: 400;" width="165">ua-pr.oxylabs.io:10000</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">Poland</td>
<td style="font-weight: 400;" width="140">Israel</td>
<td style="font-weight: 400;" width="165">Turkey</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">pl-pr.oxylabs.io:20000</td>
<td style="font-weight: 400;" width="140">il-pr.oxylabs.io:20000</td>
<td style="font-weight: 400;" width="165">tr-pr.oxylabs.io:30000</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">Australia</td>
<td style="font-weight: 400;" width="140">Malaysia</td>
<td style="font-weight: 400;" width="165">Thailand</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">au-pr.oxylabs.io:40000</td>
<td style="font-weight: 400;" width="140">my-pr.oxylabs.io:10000</td>
<td style="font-weight: 400;" width="165">th-pr.oxylabs.io:20000</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">South Korea</td>
<td style="font-weight: 400;" width="140">Japan</td>
<td style="font-weight: 400;" width="165">Philippines</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">kr-pr.oxylabs.io:30000</td>
<td style="font-weight: 400;" width="140">jp-pr.oxylabs.io:40000</td>
<td style="font-weight: 400;" width="165">ph-pr.oxylabs.io:10000</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">Singapore</td>
<td style="font-weight: 400;" width="140">China</td>
<td style="font-weight: 400;" width="165">Hong Kong</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">sg-pr.oxylabs.io:20000</td>
<td style="font-weight: 400;" width="140">cn-pr.oxylabs.io:30000</td>
<td style="font-weight: 400;" width="165">hk-pr.oxylabs.io:40000</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">Taiwan</td>
<td style="font-weight: 400;" width="140">India</td>
<td style="font-weight: 400;" width="165">Pakistan</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">tw-pr.oxylabs.io:10000</td>
<td style="font-weight: 400;" width="140">in-pr.oxylabs.io:20000</td>
<td style="font-weight: 400;" width="165">pk-pr.oxylabs.io:30000</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">Iran</td>
<td style="font-weight: 400;" width="140">Indonesia</td>
<td style="font-weight: 400;" width="165">Azerbaijan</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">ir-pr.oxylabs.io:40000</td>
<td style="font-weight: 400;" width="140">id-pr.oxylabs.io:10000</td>
<td style="font-weight: 400;" width="165">az-pr.oxylabs.io:20000</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">Kazakhstan</td>
<td style="font-weight: 400;" width="140">UAE</td>
<td style="font-weight: 400;" width="165">Mexico</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">kz-pr.oxylabs.io:30000</td>
<td style="font-weight: 400;" width="140">ae-pr.oxylabs.io:40000</td>
<td style="font-weight: 400;" width="165">mx-pr.oxylabs.io:10000</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">Brazil</td>
<td style="font-weight: 400;" width="140">Argentina</td>
<td style="font-weight: 400;" width="165">Chile</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">br-pr.oxylabs.io:20000</td>
<td style="font-weight: 400;" width="140">ar-pr.oxylabs.io:30000</td>
<td style="font-weight: 400;" width="165">cl-pr.oxylabs.io:40000</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">Peru</td>
<td style="font-weight: 400;" width="140">Ecuador</td>
<td style="font-weight: 400;" width="165">Colombia</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">pe-pr.oxylabs.io:10000</td>
<td style="font-weight: 400;" width="140">ec-pr.oxylabs.io:20000</td>
<td style="font-weight: 400;" width="165">co-pr.oxylabs.io:30000</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">South Africa</td>
<td style="font-weight: 400;" width="140">Egypt</td>
<td style="font-weight: 400;" width="165">Angola</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">za-pr.oxylabs.io:40000</td>
<td style="font-weight: 400;" width="140">eg-pr.oxylabs.io:10000</td>
<td style="font-weight: 400;" width="165">ao-pr.oxylabs.io:40000</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">Cameroon</td>
<td style="font-weight: 400;" width="140">Central African Republic</td>
<td style="font-weight: 400;" width="165">Chad</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">cm-pr.oxylabs.io:41000</td>
<td style="font-weight: 400;" width="140">cf-pr.oxylabs.io:42000</td>
<td style="font-weight: 400;" width="165">td-pr.oxylabs.io:43000</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">Benin</td>
<td style="font-weight: 400;" width="140">Ethiopia</td>
<td style="font-weight: 400;" width="165">Djibouti</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">bj-pr.oxylabs.io:44000</td>
<td style="font-weight: 400;" width="140">et-pr.oxylabs.io:45000</td>
<td style="font-weight: 400;" width="165">dj-pr.oxylabs.io:46000</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">Gambia</td>
<td style="font-weight: 400;" width="140">Ghana</td>
<td style="font-weight: 400;" width="165">Côte d'Ivoire</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">gm-pr.oxylabs.io:47000</td>
<td style="font-weight: 400;" width="140">gh-pr.oxylabs.io:48000</td>
<td style="font-weight: 400;" width="165">ci-pr.oxylabs.io:49000</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">Kenya</td>
<td style="font-weight: 400;" width="140">Liberia</td>
<td style="font-weight: 400;" width="165">Madagascar</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">ke-pr.oxylabs.io:10000</td>
<td style="font-weight: 400;" width="140">lr-pr.oxylabs.io:11000</td>
<td style="font-weight: 400;" width="165">mg-pr.oxylabs.io:12000</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">Mali</td>
<td style="font-weight: 400;" width="140">Mauritania</td>
<td style="font-weight: 400;" width="165">Mauritius</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">ml-pr.oxylabs.io:13000</td>
<td style="font-weight: 400;" width="140">mr-pr.oxylabs.io:14000</td>
<td style="font-weight: 400;" width="165">mu-pr.oxylabs.io:15000</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">Morocco</td>
<td style="font-weight: 400;" width="140">Mozambique</td>
<td style="font-weight: 400;" width="165">Nigeria</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">ma-pr.oxylabs.io:16000</td>
<td style="font-weight: 400;" width="140">mz-pr.oxylabs.io:17000</td>
<td style="font-weight: 400;" width="165">ng-pr.oxylabs.io:18000</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">Senegal</td>
<td style="font-weight: 400;" width="140">Seychelles</td>
<td style="font-weight: 400;" width="165">Zimbabwe</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">sn-pr.oxylabs.io:19000</td>
<td style="font-weight: 400;" width="140">sc-pr.oxylabs.io:20000</td>
<td style="font-weight: 400;" width="165">zw-pr.oxylabs.io:21000</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">South Sudan</td>
<td style="font-weight: 400;" width="140">Sudan</td>
<td style="font-weight: 400;" width="165">Togo</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">ss-pr.oxylabs.io:22000</td>
<td style="font-weight: 400;" width="140">sd-pr.oxylabs.io:23000</td>
<td style="font-weight: 400;" width="165">tg-pr.oxylabs.io:24000</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">Tunisia</td>
<td style="font-weight: 400;" width="140">Uganda</td>
<td style="font-weight: 400;" width="165">Zambia</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">tn-pr.oxylabs.io:25000</td>
<td style="font-weight: 400;" width="140">ug-pr.oxylabs.io:26000</td>
<td style="font-weight: 400;" width="165">zm-pr.oxylabs.io:27000</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">Afghanistan</td>
<td style="font-weight: 400;" width="140">Bahrain</td>
<td style="font-weight: 400;" width="165">Bangladesh</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">af-pr.oxylabs.io:28000</td>
<td style="font-weight: 400;" width="140">bh-pr.oxylabs.io:29000</td>
<td style="font-weight: 400;" width="165">bd-pr.oxylabs.io:30000</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">Armenia</td>
<td style="font-weight: 400;" width="140">Bhutan</td>
<td style="font-weight: 400;" width="165">Myanmar</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">am-pr.oxylabs.io:31000</td>
<td style="font-weight: 400;" width="140">bt-pr.oxylabs.io:32000</td>
<td style="font-weight: 400;" width="165">mm-pr.oxylabs.io:33000</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">Cambodia</td>
<td style="font-weight: 400;" width="140">Georgia</td>
<td style="font-weight: 400;" width="165">Iraq</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">kh-pr.oxylabs.io:34000</td>
<td style="font-weight: 400;" width="140">ge-pr.oxylabs.io:36000</td>
<td style="font-weight: 400;" width="165">iq-pr.oxylabs.io:37000</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">Jordan</td>
<td style="font-weight: 400;" width="140">Lebanon</td>
<td style="font-weight: 400;" width="165">Maldives</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">jo-pr.oxylabs.io:38000</td>
<td style="font-weight: 400;" width="140">lb-pr.oxylabs.io:39000</td>
<td style="font-weight: 400;" width="165">mv-pr.oxylabs.io:40000</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">Mongolia</td>
<td style="font-weight: 400;" width="140">Oman</td>
<td style="font-weight: 400;" width="165">Qatar</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">mn-pr.oxylabs.io:41000</td>
<td style="font-weight: 400;" width="140">om-pr.oxylabs.io:42000</td>
<td style="font-weight: 400;" width="165">qa-pr.oxylabs.io:43000</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">Saudi Arabia</td>
<td style="font-weight: 400;" width="140">Vietnam</td>
<td style="font-weight: 400;" width="165">Turkmenistan</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">sa-pr.oxylabs.io:44000</td>
<td style="font-weight: 400;" width="140">vn-pr.oxylabs.io:45000</td>
<td style="font-weight: 400;" width="165">tm-pr.oxylabs.io:46000</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">Uzbekistan</td>
<td style="font-weight: 400;" width="140">Yemen</td>
<td style="font-weight: 400;" width="165">Albania</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">uz-pr.oxylabs.io:47000</td>
<td style="font-weight: 400;" width="140">ye-pr.oxylabs.io:48000</td>
<td style="font-weight: 400;" width="165">al-pr.oxylabs.io:49000</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">Andorra</td>
<td style="font-weight: 400;" width="140">Austria</td>
<td style="font-weight: 400;" width="165">Bosnia and Herzegovina</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">ad-pr.oxylabs.io:10000</td>
<td style="font-weight: 400;" width="140">at-pr.oxylabs.io:11000</td>
<td style="font-weight: 400;" width="165">ba-pr.oxylabs.io:13000</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">Bulgaria</td>
<td style="font-weight: 400;" width="140">Belarus</td>
<td style="font-weight: 400;" width="165">Croatia</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">bg-pr.oxylabs.io:14000</td>
<td style="font-weight: 400;" width="140">by-pr.oxylabs.io:15000</td>
<td style="font-weight: 400;" width="165">hr-pr.oxylabs.io:16000</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">Cyprus</td>
<td style="font-weight: 400;" width="140">Czech Republic</td>
<td style="font-weight: 400;" width="165">Denmark</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">cy-pr.oxylabs.io:35000</td>
<td style="font-weight: 400;" width="140">cz-pr.oxylabs.io:18000</td>
<td style="font-weight: 400;" width="165">dk-pr.oxylabs.io:19000</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">Estonia</td>
<td style="font-weight: 400;" width="140">Finland</td>
<td style="font-weight: 400;" width="165">Hungary</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">ee-pr.oxylabs.io:20000</td>
<td style="font-weight: 400;" width="140">fi-pr.oxylabs.io:21000</td>
<td style="font-weight: 400;" width="165">hu-pr.oxylabs.io:23000</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">Iceland</td>
<td style="font-weight: 400;" width="140">Ireland</td>
<td style="font-weight: 400;" width="165">Latvia</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">is-pr.oxylabs.io:24000</td>
<td style="font-weight: 400;" width="140">ie-pr.oxylabs.io:25000</td>
<td style="font-weight: 400;" width="165">lv-pr.oxylabs.io:26000</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">Liechtenstein</td>
<td style="font-weight: 400;" width="140">Lithuania</td>
<td style="font-weight: 400;" width="165">Luxembourg</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">li-pr.oxylabs.io:27000</td>
<td style="font-weight: 400;" width="140">lt-pr.oxylabs.io:28000</td>
<td style="font-weight: 400;" width="165">lu-pr.oxylabs.io:29000</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">Malta</td>
<td style="font-weight: 400;" width="140">Monaco</td>
<td style="font-weight: 400;" width="165">Moldova</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">mt-pr.oxylabs.io:30000</td>
<td style="font-weight: 400;" width="140">mc-pr.oxylabs.io:31000</td>
<td style="font-weight: 400;" width="165">md-pr.oxylabs.io:32000</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">Montenegro</td>
<td style="font-weight: 400;" width="140">Norway</td>
<td style="font-weight: 400;" width="165">Romania</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">me-pr.oxylabs.io:33000</td>
<td style="font-weight: 400;" width="140">no-pr.oxylabs.io:34000</td>
<td style="font-weight: 400;" width="165">ro-pr.oxylabs.io:35000</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">Serbia</td>
<td style="font-weight: 400;" width="140">Slovakia</td>
<td style="font-weight: 400;" width="165">Slovenia</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">rs-pr.oxylabs.io:36000</td>
<td style="font-weight: 400;" width="140">sk-pr.oxylabs.io:37000</td>
<td style="font-weight: 400;" width="165">si-pr.oxylabs.io:38000</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">Switzerland</td>
<td style="font-weight: 400;" width="140">Macedonia</td>
<td style="font-weight: 400;" width="165">Bahamas</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">ch-pr.oxylabs.io:39000</td>
<td style="font-weight: 400;" width="140">mk-pr.oxylabs.io:40000</td>
<td style="font-weight: 400;" width="165">bs-pr.oxylabs.io:41000</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">Belize</td>
<td style="font-weight: 400;" width="140">British Virgin Islands</td>
<td style="font-weight: 400;" width="165">Costa Rica</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">bz-pr.oxylabs.io:42000</td>
<td style="font-weight: 400;" width="140">vg-pr.oxylabs.io:43000</td>
<td style="font-weight: 400;" width="165">cr-pr.oxylabs.io:44000</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">Cuba</td>
<td style="font-weight: 400;" width="140">Dominica</td>
<td style="font-weight: 400;" width="165">Haiti</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">cu-pr.oxylabs.io:45000</td>
<td style="font-weight: 400;" width="140">dm-pr.oxylabs.io:46000</td>
<td style="font-weight: 400;" width="165">ht-pr.oxylabs.io:47000</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">Honduras</td>
<td style="font-weight: 400;" width="140">Jamaica</td>
<td style="font-weight: 400;" width="165">Aruba</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">hn-pr.oxylabs.io:48000</td>
<td style="font-weight: 400;" width="140">jm-pr.oxylabs.io:49000</td>
<td style="font-weight: 400;" width="165">aw-pr.oxylabs.io:10000</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">Panama</td>
<td style="font-weight: 400;" width="140">Puerto Rico</td>
<td style="font-weight: 400;" width="165">Trinidad and Tobago</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">pa-pr.oxylabs.io:11000</td>
<td style="font-weight: 400;" width="140">pr-pr.oxylabs.io:12000</td>
<td style="font-weight: 400;" width="165">tt-pr.oxylabs.io:13000</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">Fiji</td>
<td style="font-weight: 400;" width="140">New Zealand</td>
<td style="font-weight: 400;" width="165">Bolivia</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">fj-pr.oxylabs.io:14000</td>
<td style="font-weight: 400;" width="140">nz-pr.oxylabs.io:15000</td>
<td style="font-weight: 400;" width="165">bo-pr.oxylabs.io:16000</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">Paraguay</td>
<td style="font-weight: 400;" width="140">Uruguay</td>
<td style="font-weight: 400;" width="165">Venezuela</td>
</tr>
<tr>
<td style="font-weight: 400;" width="138">py-pr.oxylabs.io:17000</td>
<td style="font-weight: 400;" width="140">uy-pr.oxylabs.io:18000</td>
<td style="font-weight: 400;" width="165">ve-pr.oxylabs.io:19000</td>
</tr>
</tbody>
</table>
</div>
<p>In this example a query to <code>ipinfo.io</code> is performed from a random Turkey IP:</p>
<pre>curl -x tr-pr.oxylabs.io:30000 -U "customer-USERNAME:PASSWORD" https://ipinfo.io
</pre>
<pre>pr.oxylabs.io:7777
us-pr.oxylabs.io:10000
ca-pr.oxylabs.io:30000
gb-pr.oxylabs.io:20000
de-pr.oxylabs.io:30000
fr-pr.oxylabs.io:40000
es-pr.oxylabs.io:10000
it-pr.oxylabs.io:20000
se-pr.oxylabs.io:30000
gr-pr.oxylabs.io:40000
pt-pr.oxylabs.io:10000
nl-pr.oxylabs.io:20000
be-pr.oxylabs.io:30000
ru-pr.oxylabs.io:40000
ua-pr.oxylabs.io:10000
pl-pr.oxylabs.io:20000
il-pr.oxylabs.io:20000
tr-pr.oxylabs.io:30000
au-pr.oxylabs.io:40000
my-pr.oxylabs.io:10000
th-pr.oxylabs.io:20000
kr-pr.oxylabs.io:30000
jp-pr.oxylabs.io:40000
ph-pr.oxylabs.io:10000
sg-pr.oxylabs.io:20000
cn-pr.oxylabs.io:30000
hk-pr.oxylabs.io:40000
tw-pr.oxylabs.io:10000
in-pr.oxylabs.io:20000
pk-pr.oxylabs.io:30000
ir-pr.oxylabs.io:40000
id-pr.oxylabs.io:10000
az-pr.oxylabs.io:20000
kz-pr.oxylabs.io:30000
ae-pr.oxylabs.io:40000
mx-pr.oxylabs.io:10000
br-pr.oxylabs.io:20000
ar-pr.oxylabs.io:30000
cl-pr.oxylabs.io:40000
pe-pr.oxylabs.io:10000
ec-pr.oxylabs.io:20000
co-pr.oxylabs.io:30000
za-pr.oxylabs.io:40000
eg-pr.oxylabs.io:10000
sa-pr.oxylabs.io:44000
dk-pr.oxylabs.io:19000
ao-pr.oxylabs.io:40000
cm-pr.oxylabs.io:41000
cf-pr.oxylabs.io:42000
td-pr.oxylabs.io:43000
bj-pr.oxylabs.io:44000
et-pr.oxylabs.io:45000
dj-pr.oxylabs.io:46000
gm-pr.oxylabs.io:47000
gh-pr.oxylabs.io:48000
ci-pr.oxylabs.io:49000
ke-pr.oxylabs.io:10000
lr-pr.oxylabs.io:11000
mg-pr.oxylabs.io:12000
ml-pr.oxylabs.io:13000
mr-pr.oxylabs.io:14000
mu-pr.oxylabs.io:15000
ma-pr.oxylabs.io:16000
mz-pr.oxylabs.io:17000
ng-pr.oxylabs.io:18000
sn-pr.oxylabs.io:19000
sc-pr.oxylabs.io:20000
zw-pr.oxylabs.io:21000
ss-pr.oxylabs.io:22000
sd-pr.oxylabs.io:23000
tg-pr.oxylabs.io:24000
tn-pr.oxylabs.io:25000
ug-pr.oxylabs.io:26000
zm-pr.oxylabs.io:27000
af-pr.oxylabs.io:28000
bh-pr.oxylabs.io:29000
bd-pr.oxylabs.io:30000
am-pr.oxylabs.io:31000
bt-pr.oxylabs.io:32000
mm-pr.oxylabs.io:33000
kh-pr.oxylabs.io:34000
ge-pr.oxylabs.io:36000
iq-pr.oxylabs.io:37000
jo-pr.oxylabs.io:38000
lb-pr.oxylabs.io:39000
mv-pr.oxylabs.io:40000
mn-pr.oxylabs.io:41000
om-pr.oxylabs.io:42000
qa-pr.oxylabs.io:43000
sa-pr.oxylabs.io:44000
vn-pr.oxylabs.io:45000
tm-pr.oxylabs.io:46000
uz-pr.oxylabs.io:47000
ye-pr.oxylabs.io:48000
al-pr.oxylabs.io:49000
ad-pr.oxylabs.io:10000
at-pr.oxylabs.io:11000
ba-pr.oxylabs.io:13000
bg-pr.oxylabs.io:14000
by-pr.oxylabs.io:15000
hr-pr.oxylabs.io:16000
cy-pr.oxylabs.io:35000
cz-pr.oxylabs.io:18000
dk-pr.oxylabs.io:19000
ee-pr.oxylabs.io:20000
fi-pr.oxylabs.io:21000
hu-pr.oxylabs.io:23000
is-pr.oxylabs.io:24000
ie-pr.oxylabs.io:25000
lv-pr.oxylabs.io:26000
li-pr.oxylabs.io:27000
lt-pr.oxylabs.io:28000
lu-pr.oxylabs.io:29000
mt-pr.oxylabs.io:30000
mc-pr.oxylabs.io:31000
md-pr.oxylabs.io:32000
me-pr.oxylabs.io:33000
no-pr.oxylabs.io:34000
ro-pr.oxylabs.io:35000
rs-pr.oxylabs.io:36000
sk-pr.oxylabs.io:37000
si-pr.oxylabs.io:38000
ch-pr.oxylabs.io:39000
mk-pr.oxylabs.io:40000
bs-pr.oxylabs.io:41000
bz-pr.oxylabs.io:42000
vg-pr.oxylabs.io:43000
cr-pr.oxylabs.io:44000
cu-pr.oxylabs.io:45000
dm-pr.oxylabs.io:46000
ht-pr.oxylabs.io:47000
hn-pr.oxylabs.io:48000
jm-pr.oxylabs.io:49000
aw-pr.oxylabs.io:10000
pa-pr.oxylabs.io:11000
pr-pr.oxylabs.io:12000
tt-pr.oxylabs.io:13000
fj-pr.oxylabs.io:14000
nz-pr.oxylabs.io:15000
bo-pr.oxylabs.io:16000
py-pr.oxylabs.io:17000
uy-pr.oxylabs.io:18000
ve-pr.oxylabs.io:19000
kw-pr.oxylabs.io:20000
</pre>
<hr />
<h3 id="sticky-proxy-entry-nodes">Sticky Proxy Entry Nodes</h3>
<p>Country-specific sticky proxy entry point will return the same IP with every new request while you will use the same port. IP stickiness works for up to 10 minutes. After that, the IP is replaced with a new one.</p>
<p>You do not need to pass any additional parameters, just <code>customer-username:password</code>. If you have whitelisted IPs, you do not need to pass login credentials. Country-specific ports do not support city-level results.</p>
<p>Please see the dashboard for entry point information or download a full list of sticky entry points in XLS <a class="custom_link" href="https://docs.oxylabs.io/resources/sticky-proxy-entry-points-oxylabs.xls" target="_blank" rel="nofollow noopener">here</a>.</p>
<div class="su-table su-table-responsive su-table-alternate">
<table width="678">
<tbody>
<tr>
<td style="font-weight: 400;" width="197">Random</td>
<td style="font-weight: 400;" width="223">USA</td>
<td style="font-weight: 400;" width="258">Canada</td>
</tr>
<tr>
<td style="font-weight: 400;" width="197">pr.oxylabs.io:10000 &#8211; 49999</td>
<td style="font-weight: 400;" width="223">us-pr.oxylabs.io:10001 &#8211; 19999</td>
<td style="font-weight: 400;" width="258">ca-pr.oxylabs.io:30001 &#8211; 39999</td>
</tr>
<tr>
<td style="font-weight: 400;" width="197">Great Britain</td>
<td style="font-weight: 400;" width="223">Germany</td>
<td style="font-weight: 400;" width="258">France</td>
</tr>
<tr>
<td style="font-weight: 400;" width="197">gb-pr.oxylabs.io:20001 &#8211; 29999</td>
<td style="font-weight: 400;" width="223">de-pr.oxylabs.io:30001 &#8211; 39999</td>
<td style="font-weight: 400;" width="258">fr-pr.oxylabs.io:40001 &#8211; 49999</td>
</tr>
<tr>
<td style="font-weight: 400;" width="197">Spain</td>
<td style="font-weight: 400;" width="223">Italy</td>
<td style="font-weight: 400;" width="258">Sweden</td>
</tr>
<tr>
<td style="font-weight: 400;" width="197">es-pr.oxylabs.io:10001 &#8211; 19999</td>
<td style="font-weight: 400;" width="223">it-pr.oxylabs.io:20001 &#8211; 29999</td>
<td style="font-weight: 400;" width="258">se-pr.oxylabs.io:30001 &#8211; 39999</td>
</tr>
<tr>
<td style="font-weight: 400;" width="197">Greece</td>
<td style="font-weight: 400;" width="223">Portugal</td>
<td style="font-weight: 400;" width="258">Netherlands</td>
</tr>
<tr>
<td style="font-weight: 400;" width="197">gr-pr.oxylabs.io:40001 &#8211; 49999</td>
<td style="font-weight: 400;" width="223">pt-pr.oxylabs.io:10001 &#8211; 19999</td>
<td style="font-weight: 400;" width="258">nl-pr.oxylabs.io:20001 &#8211; 29999</td>
</tr>
<tr>
<td style="font-weight: 400;" width="197">Belgium</td>
<td style="font-weight: 400;" width="223">Russia</td>
<td style="font-weight: 400;" width="258">Ukraine</td>
</tr>
<tr>
<td style="font-weight: 400;" width="197">be-pr.oxylabs.io:30001 &#8211; 39999</td>
<td style="font-weight: 400;" width="223">ru-pr.oxylabs.io:40001 &#8211; 49999</td>
<td style="font-weight: 400;" width="258">ua-pr.oxylabs.io:10001 &#8211; 19999</td>
</tr>
<tr>
<td style="font-weight: 400;" width="197">Poland</td>
<td style="font-weight: 400;" width="223">Israel</td>
<td style="font-weight: 400;" width="258">Turkey</td>
</tr>
<tr>
<td style="font-weight: 400;" width="197">pl-pr.oxylabs.io:20001 &#8211; 29999</td>
<td style="font-weight: 400;" width="223">il-pr.oxylabs.io:20001 &#8211; 29999</td>
<td style="font-weight: 400;" width="258">tr-pr.oxylabs.io:30001 &#8211; 39999</td>
</tr>
<tr>
<td style="font-weight: 400;" width="197">Australia</td>
<td style="font-weight: 400;" width="223">Malaysia</td>
<td style="font-weight: 400;" width="258">Thailand</td>
</tr>
<tr>
<td style="font-weight: 400;" width="197">au-pr.oxylabs.io:40001 &#8211; 49999</td>
<td style="font-weight: 400;" width="223">my-pr.oxylabs.io:10001 &#8211; 19999</td>
<td style="font-weight: 400;" width="258">th-pr.oxylabs.io:20001 &#8211; 29999</td>
</tr>
<tr>
<td style="font-weight: 400;" width="197">South Korea</td>
<td style="font-weight: 400;" width="223">Japan</td>
<td style="font-weight: 400;" width="258">Philippines</td>
</tr>
<tr>
<td style="font-weight: 400;" width="197">kr-pr.oxylabs.io:30001 &#8211; 39999</td>
<td style="font-weight: 400;" width="223">jp-pr.oxylabs.io:40001 &#8211; 49999</td>
<td style="font-weight: 400;" width="258">ph-pr.oxylabs.io:10001 &#8211; 19999</td>
</tr>
<tr>
<td style="font-weight: 400;" width="197">Singapore</td>
<td style="font-weight: 400;" width="223">China</td>
<td style="font-weight: 400;" width="258">Hong Kong</td>
</tr>
<tr>
<td style="font-weight: 400;" width="197">sg-pr.oxylabs.io:20001 &#8211; 29999</td>
<td style="font-weight: 400;" width="223">cn-pr.oxylabs.io:30001 &#8211; 39999</td>
<td style="font-weight: 400;" width="258">hk-pr.oxylabs.io:40001 &#8211; 49999</td>
</tr>
<tr>
<td style="font-weight: 400;" width="197">Taiwan</td>
<td style="font-weight: 400;" width="223">India</td>
<td style="font-weight: 400;" width="258">Pakistan</td>
</tr>
<tr>
<td style="font-weight: 400;" width="197">tw-pr.oxylabs.io:10001 &#8211; 19999</td>
<td style="font-weight: 400;" width="223">in-pr.oxylabs.io:20001 &#8211; 29999</td>
<td style="font-weight: 400;" width="258">pk-pr.oxylabs.io:30001 &#8211; 39999</td>
</tr>
<tr>
<td style="font-weight: 400;" width="197">Iran</td>
<td style="font-weight: 400;" width="223">Indonesia</td>
<td style="font-weight: 400;" width="258">Azerbaijan</td>
</tr>
<tr>
<td style="font-weight: 400;" width="197">ir-pr.oxylabs.io:40001 &#8211; 49999</td>
<td style="font-weight: 400;" width="223">id-pr.oxylabs.io:10001 &#8211; 19999</td>
<td style="font-weight: 400;" width="258">az-pr.oxylabs.io:20001 &#8211; 29999</td>
</tr>
<tr>
<td style="font-weight: 400;" width="197">Kazakhstan</td>
<td style="font-weight: 400;" width="223">UAE</td>
<td style="font-weight: 400;" width="258">Mexico</td>
</tr>
<tr>
<td style="font-weight: 400;" width="197">kz-pr.oxylabs.io:30001 &#8211; 39999</td>
<td style="font-weight: 400;" width="223">ae-pr.oxylabs.io:40001 &#8211; 49999</td>
<td style="font-weight: 400;" width="258">mx-pr.oxylabs.io:10001 &#8211; 19999</td>
</tr>
<tr>
<td style="font-weight: 400;" width="197">Brazil</td>
<td style="font-weight: 400;" width="223">Argentina</td>
<td style="font-weight: 400;" width="258">Chile</td>
</tr>
<tr>
<td style="font-weight: 400;" width="197">br-pr.oxylabs.io:20001 &#8211; 29999</td>
<td style="font-weight: 400;" width="223">ar-pr.oxylabs.io:30001 &#8211; 39999</td>
<td style="font-weight: 400;" width="258">cl-pr.oxylabs.io:40001 &#8211; 49999</td>
</tr>
<tr>
<td style="font-weight: 400;" width="197">Peru</td>
<td style="font-weight: 400;" width="223">Ecuador</td>
<td style="font-weight: 400;" width="258">Colombia</td>
</tr>
<tr>
<td style="font-weight: 400;" width="197">pe-pr.oxylabs.io:10001 &#8211; 19999</td>
<td style="font-weight: 400;" width="223">ec-pr.oxylabs.io:20001 &#8211; 29999</td>
<td style="font-weight: 400;" width="258">co-pr.oxylabs.io:30001 &#8211; 39999</td>
</tr>
<tr>
<td style="font-weight: 400;" width="197">South Africa</td>
<td style="font-weight: 400;" width="223">Egypt</td>
<td style="font-weight: 400;" width="258">Saudi Arabia</td>
</tr>
<tr>
<td style="font-weight: 400;" width="197">za-pr.oxylabs.io:40001 &#8211; 49999</td>
<td style="font-weight: 400;" width="223">eg-pr.oxylabs.io:10001 &#8211; 19999</td>
<td style="font-weight: 400;" width="258">sa-pr.oxylabs.io:44001 &#8211; 44999</td>
</tr>
<tr>
<td style="font-weight: 400;" width="197">Denmark</td>
<td style="font-weight: 400;" rowspan="2" width="223"></td>
<td style="font-weight: 400;" rowspan="2" width="258"></td>
</tr>
<tr>
<td style="font-weight: 400;" width="197">dk-pr.oxylabs.io:19001 &#8211; 19999</td>
</tr>
</tbody>
</table>
</div>
<p>In this example, a query to <code>ipinfo.io</code> is performed from Turkey IP, and the same IP will stay for up to 10 minutes with each request. We have chosen port 30001, however, Turkey sticky entry points cover ports from 30001 to 39999.</p>
<pre>curl -x tr-pr.oxylabs.io:30001 -U "customer-USERNAME:PASSWORD" https://ipinfo.io
</pre>
<pre>pr.oxylabs.io:10000 - 49999
us-pr.oxylabs.io:10001 - 19999
ca-pr.oxylabs.io:30001 - 39999
gb-pr.oxylabs.io:20001 - 29999
de-pr.oxylabs.io:30001 - 39999
fr-pr.oxylabs.io:40001 - 49999
es-pr.oxylabs.io:10001 - 19999
it-pr.oxylabs.io:20001 - 29999
se-pr.oxylabs.io:30001 - 39999
gr-pr.oxylabs.io:40001 - 49999
pt-pr.oxylabs.io:10001 - 19999
nl-pr.oxylabs.io:20001 - 29999
be-pr.oxylabs.io:30001 - 39999
ru-pr.oxylabs.io:40001 - 49999
ua-pr.oxylabs.io:10001 - 19999
pl-pr.oxylabs.io:20001 - 29999
il-pr.oxylabs.io:20001 - 29999
tr-pr.oxylabs.io:30001 - 39999
au-pr.oxylabs.io:40001 - 49999
my-pr.oxylabs.io:10001 - 19999
th-pr.oxylabs.io:20001 - 29999
kr-pr.oxylabs.io:30001 - 39999
jp-pr.oxylabs.io:40001 - 49999
ph-pr.oxylabs.io:10001 - 19999
sg-pr.oxylabs.io:20001 - 29999
cn-pr.oxylabs.io:30001 - 39999
hk-pr.oxylabs.io:40001 - 49999
tw-pr.oxylabs.io:10001 - 19999
in-pr.oxylabs.io:20001 - 29999
pk-pr.oxylabs.io:30001 - 39999
ir-pr.oxylabs.io:40001 - 49999
id-pr.oxylabs.io:10001 - 19999
az-pr.oxylabs.io:20001 - 29999
kz-pr.oxylabs.io:30001 - 39999
ae-pr.oxylabs.io:40001 - 49999
mx-pr.oxylabs.io:10001 - 19999
br-pr.oxylabs.io:20001 - 29999
ar-pr.oxylabs.io:30001 - 39999
cl-pr.oxylabs.io:40001 - 49999
pe-pr.oxylabs.io:10001 - 19999
ec-pr.oxylabs.io:20001 - 29999
co-pr.oxylabs.io:30001 - 39999
za-pr.oxylabs.io:40001 - 49999
eg-pr.oxylabs.io:10001 - 19999
sa-pr.oxylabs.io:44001 - 44999
dk-pr.oxylabs.io:19001 - 19999
</pre>
<hr />
<h2 id="additional-information">Additional Information</h2>
<h3 id="country-state-city-mapping">Country, State, City Mapping</h3>
<p>We use <a class="custom_link" href="https://www.maxmind.com/en/geoip2-databases" target="_blank" rel="nofollow noopener">MaxMind GeoIP2</a> database to assign our exit nodes <code>cc</code>, <code>st</code> and <code>city</code> values. This database is updated weekly.</p>
<p>Some other public IP databases may show different locations. In cases where location mismatch is crucial, we encourage to double-check if the location of the assigned proxy is the same on the IP database used by the target website.</p>
<hr />
<h3 id="response-codes">Response Codes</h3>
<p>These are the most common response codes that you can get while using our residential proxy pool. If you receive any other response code, get in touch with your dedicated account manager for more information.</p>
<div class="su-table su-table-responsive su-table-alternate">
<table>
<thead>
<tr>
<th>Response</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>400</code> Bad Request</td>
<td>Proxy server can return this error code if the request did not contain a host to connect to or there was a generic error when parsing HTTP request. Make sure your request is correctly formed and make sure to include URL in the request then try again.</td>
</tr>
<tr>
<td><code>407</code> Proxy Authentication Required</td>
<td>Request lacks proxy authentication information or username or password is invalid. Include Proxy-Authorization header in your request and make sure your username and password are correctly formed and then try again.</td>
</tr>
<tr>
<td><code>500</code> Internal Server Error</td>
<td>Proxy server has encountered an internal error. Retry request at a later time.</td>
</tr>
<tr>
<td><code>502</code> Bad Gateway</td>
<td>Proxy server received an invalid response from the upstream server. Retry request.</p>
<p>Response Code <code>502</code> signifies that the IP assigned to your session ID is no longer available. If you encounter this error, there are two ways to work around it. The first is to wait for one minute and the system will automatically assign a new IP address to your session ID. Another approach is to simply switch to a new session ID (i.e. change the sessid parameter) – this way you will receive a new IP address.</td>
</tr>
<tr>
<td><code>522</code> Timeout</td>
<td>Proxy server did not receive a response from the upstream server in time. Retry request.</td>
</tr>
<tr>
<td><code>525</code> No Exit Found</td>
<td>Custom HTTP status code &#8211; this means proxy was unable to find an exit node which satisfies the request. Change request filter parameters or try again at a later time.</td>
</tr>
</tbody>
</table>
</div>
<hr />
<h3 id="backconnect-entry-ips">Backconnect Entry IPs</h3>
<p>If you want to use your own backconnect entry node DNS name, you can do that by pointing your subdomain/domain to our entry node. To do that, you need to add a DNS <code>CNAME</code> record that has <code>pr.oxylabs.io</code> as the target. This is how such setup looks on Cloudflare DNS manager for <code>entry</code> subdomain:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8129" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxies-Backconnect-Entry-IPs.jpg" alt="OxyLabs Residential Proxies Backconnect Entry IPs" width="878" height="85" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxies-Backconnect-Entry-IPs.jpg 878w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxies-Backconnect-Entry-IPs-300x29.jpg 300w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxies-Backconnect-Entry-IPs-768x74.jpg 768w" sizes="(max-width: 878px) 100vw, 878px" /></p>
<p>For more information, please contact <a class="custom_link" href="mailto:support@oxylabs.io" target="_blank" rel="nofollow noopener">support@oxylabs.io</a> or your account manager.</p>
<hr />
<h3 id="restricted-urls">Restricted URLs</h3>
<p>To avoid abuse and unclear activities, some websites are restricted on our residential proxy network. The list includes, but is not limited to websites such as all Google domains including Play, linkedin.com, sonyentertainmentnetwork.com, all Apple domains, including iTunes, netflix.com and others. For more information please contact our support staff at <a class="custom_link" href="mailto:support@oxylabs.io" target="_blank" rel="nofollow noopener">support@oxylabs.io</a>.</p>
<hr />
<h2 id="public-api">Public API</h2>
<p>To manage proxy users via Public API, please refer to this documentation in <a class="custom_link" href="https://residential-api.oxylabs.io/v1/docs#/" target="_blank" rel="nofollow noopener">OpenAPI format</a>. The API allows to create, delete, and modify proxy users, set their limits and see current usage, disable and enable them.</p>
<hr />
<h2 id="3rd-party-integrations">3rd Party Integrations</h2>
<p>Please note that you must use an HTTPS protocol when accessing <strong>China entry nodes</strong> for 3rd party tools to work correctly.</p>
<h3 id="oxylabs-proxy-manager">Oxylabs Proxy Manager</h3>
<p><a class="custom_link" href="https://chrome.google.com/webstore/detail/oxylabs-proxy-manager/infajoaodhhdogakhloedbppcbeajhoo" target="_blank" rel="nofollow noopener">Oxylabs Proxy Manager</a> is a proxy management extension for Chrome. It is not only free but also works with any proxy provider of your choice. Enable your proxy without having to jump through settings and menu options. The extension has an additional feature specifically designed to use with Oxylabs Residential Proxies, which enables to easily change Oxylabs Residential Proxy session without editing your username. Download the extension from Chrome Web Store <a class="custom_link" href="https://chrome.google.com/webstore/detail/oxylabs-proxy-manager/infajoaodhhdogakhloedbppcbeajhoo" target="_blank" rel="nofollow noopener">here</a></p>
<ul>
<li>Click the extension icon to open the application</li>
<li>If you haven't added any proxies yet, you will see <code>Add new proxy</code> button. Click it to continue.</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8130" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Manager1.jpg" alt="OxyLabs Residential Proxy Manager1" width="426" height="422" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Manager1.jpg 426w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Manager1-300x297.jpg 300w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Manager1-150x150.jpg 150w" sizes="(max-width: 426px) 100vw, 426px" /></p>
<ul>
<li>Add proxy profile. Provide a name for the profile under <strong>Enter name</strong>. Enter <code>pr.oxylabs.io</code> as <strong>Proxy server IP</strong> and <code>7777</code> as <strong>Port</strong>. Fill in your <strong>Username</strong> and <strong>Password</strong>. Do not forget to add <code>customer-</code> before your username. Finally, click <strong>Save changes</strong>.</li>
</ul>
<p>You can also use country-specific entries. For example, if you put <code>us-pr.oxylabs.io</code> under <strong>Proxy server IP</strong> and <code>10001</code> under <strong>Port</strong>, you will receive US exit node with sticky session.</p>
<p>If you have whitelisted your IP, you can skip this step.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8131" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Manager2.png" alt="OxyLabs Residential Proxy Manager2" width="964" height="445" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Manager2.png 964w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Manager2-300x138.png 300w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Manager2-768x355.png 768w" sizes="(max-width: 964px) 100vw, 964px" /></p>
<ul>
<li>Open the extension and click <strong>Connect</strong>. That's it, you are now using proxies.</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8132" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Manager3.jpg" alt="OxyLabs Residential Proxy Manager3" width="420" height="366" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Manager3.jpg 420w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Manager3-300x261.jpg 300w" sizes="(max-width: 420px) 100vw, 420px" /></p>
<ul>
<li>Chrome is notorious for caching proxy credentials, and on many proxy management extensions sticky sessions via username string does not work. If you are using sessions with main entry node (<code>pr.oxylabs.io:7777</code>), we created a special feature that allows rotating session much more easily. First, enter your username with <code>sessid</code> parameter, like this:</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8133" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Manager4.jpg" alt="OxyLabs Residential Proxy Manager4" width="963" height="450" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Manager4.jpg 963w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Manager4-300x140.jpg 300w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Manager4-768x359.jpg 768w" sizes="(max-width: 963px) 100vw, 963px" /></p>
<ul>
<li>Then, open the extenion window. Connect to the proxy and you will see a new button &#8211; <strong>Refresh session</strong>. Click it to change session ID and get a new proxy.</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8134" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Manager5.jpg" alt="OxyLabs Residential Proxy Manager5" width="433" height="419" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Manager5.jpg 433w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Manager5-300x290.jpg 300w" sizes="(max-width: 433px) 100vw, 433px" /></p>
<hr />
<h3 id="switchyomega">SwitchyOmega</h3>
<p>SwitchyOmega is a powerful and reliable proxy manager that works with many popular browsers. First you need to get the plugin. For Chrome, click <a class="custom_link" href="https://chrome.google.com/webstore/detail/proxy-switchyomega/padekgcemlokbadohgkifijomclgjgif?hl=en" target="_blank" rel="nofollow noopener">here</a>, for Firefox click <a class="custom_link" href="https://addons.mozilla.org/en-US/firefox/addon/switchyomega/" target="_blank" rel="nofollow noopener">here</a>. Once you have it installed, you should:</p>
<ul>
<li>Open Switchy Omega options.</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8135" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-SwitchyOmega1.png" alt="OxyLabs Residential Proxy SwitchyOmega1" width="203" height="236" /></p>
<ul>
<li>Click <strong>New profile&#8230;</strong>.</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8136" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-SwitchyOmega2.jpg" alt="OxyLabs Residential Proxy SwitchyOmega2" width="594" height="555" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-SwitchyOmega2.jpg 594w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-SwitchyOmega2-300x280.jpg 300w" sizes="(max-width: 594px) 100vw, 594px" /></p>
<ul>
<li>Give this new profile a name, choose <strong>Proxy Profile</strong> type and click <strong>Create</strong></li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8137" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-SwitchyOmega3.jpg" alt="OxyLabs Residential Proxy SwitchyOmega3" width="598" height="610" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-SwitchyOmega3.jpg 598w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-SwitchyOmega3-294x300.jpg 294w" sizes="(max-width: 598px) 100vw, 598px" /></p>
<ul>
<li>Change <strong>Protocol</strong> to <strong>HTTP</strong>. Under <strong>Server</strong> enter our backconnect entry node <code>pr.oxylabs.io</code>. Under <strong>Port</strong> add <code>7777</code></li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8138" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-SwitchyOmega4.jpg" alt="OxyLabs Residential Proxy SwitchyOmega4" width="854" height="195" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-SwitchyOmega4.jpg 854w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-SwitchyOmega4-300x69.jpg 300w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-SwitchyOmega4-768x175.jpg 768w" sizes="(max-width: 854px) 100vw, 854px" /></p>
<ul>
<li>You can also use country-specific entries. For example, if you put <code>us-pr.oxylabs.io</code> under <strong>Server</strong> and <code>10001</code> under <strong>Port</strong>, you will receive US exit node with sticky session.</li>
<li>Next, click the lock button on the right. Fill in your <strong>Username</strong> and <strong>Password</strong>. Do not forget to add <code>customer-</code> before your given username. Finally, click <strong>Save changes</strong>.</li>
</ul>
<p>If you have whitelisted your IP, please skip this step.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8139" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-SwitchyOmega5.jpg" alt="OxyLabs Residential Proxy SwitchyOmega5" width="599" height="266" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-SwitchyOmega5.jpg 599w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-SwitchyOmega5-300x133.jpg 300w" sizes="(max-width: 599px) 100vw, 599px" /></p>
<ul>
<li>Click <strong>Apply changes</strong></li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8140" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-SwitchyOmega6.jpg" alt="OxyLabs Residential Proxy SwitchyOmega6" width="380" height="383" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-SwitchyOmega6.jpg 380w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-SwitchyOmega6-298x300.jpg 298w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-SwitchyOmega6-150x150.jpg 150w" sizes="(max-width: 380px) 100vw, 380px" /></p>
<ul>
<li>For the final step, click on SwitchyOmega icon and choose your newly configured proxy. You are now ready to go!</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8141" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-SwitchyOmega7.jpg" alt="OxyLabs Residential Proxy SwitchyOmega7" width="209" height="256" /></p>
<hr />
<h3 id="shadowrocket">Shadowrocket</h3>
<p>If you want to use our Residential Proxies with Shadowrocket, you can easily do that by following the instructions below.</p>
<ul>
<li>Open Shadowrocket app.</li>
<li>Click <strong>Add Server</strong>.</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8143" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Shadowrocket1.png" alt="OxyLabs Residential Proxy Shadowrocket1" width="296" height="341" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Shadowrocket1.png 296w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Shadowrocket1-260x300.png 260w" sizes="(max-width: 296px) 100vw, 296px" /></p>
<ul>
<li>In the following window click on <strong>Type</strong>.</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8144" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Shadowrocket2.png" alt="OxyLabs Residential Proxy Shadowrocket2" width="297" height="415" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Shadowrocket2.png 297w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Shadowrocket2-215x300.png 215w" sizes="(max-width: 297px) 100vw, 297px" /></p>
<ul>
<li>Choose <strong>HTTP</strong> and go back to the previous screen.</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8145" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Shadowrocket3.png" alt="OxyLabs Residential Proxy Shadowrocket3" width="292" height="440" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Shadowrocket3.png 292w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Shadowrocket3-199x300.png 199w" sizes="(max-width: 292px) 100vw, 292px" /></p>
<ul>
<li>Enter proxy and authentication information. Under <strong>Host</strong> type in <code>pr.oxylabs.io</code>. <strong>Port</strong> is <code>7777</code> to use our backconnect entry. Do not forget your crendentials under <strong>User</strong> and <strong>Password</strong>. Do not forget to add <code>customer-</code> before your given username. Once you are done, go back to the previous screen by pressing Back arrow.</li>
</ul>
<p>You can also use country-specific entries. For example, if you put <code>us-pr.oxylabs.io</code> under <strong>Host</strong> and <code>10001</code> under <strong>Port</strong>, you will receive US exit node with a sticky session.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8146" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Shadowrocket4.png" alt="OxyLabs Residential Proxy Shadowrocket4" width="297" height="448" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Shadowrocket4.png 297w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Shadowrocket4-199x300.png 199w" sizes="(max-width: 297px) 100vw, 297px" /></p>
<ul>
<li>You need to turn proxy on. Do that by activating a toggle under <strong>Not Connected</strong></li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8147" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Shadowrocket5.png" alt="OxyLabs Residential Proxy Shadowrocket5" width="301" height="344" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Shadowrocket5.png 301w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Shadowrocket5-263x300.png 263w" sizes="(max-width: 301px) 100vw, 301px" /></p>
<ul>
<li>If that is your first time using Shadowrocket, you will get an iOS prompt to add Shadowrocket to VPN configurations. Click <strong>Add</strong>. You will need to enter your iPhone passcode to confirm.</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8148" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Shadowrocket6.png" alt="OxyLabs Residential Proxy Shadowrocket6" width="296" height="413" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Shadowrocket6.png 296w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Shadowrocket6-215x300.png 215w" sizes="(max-width: 296px) 100vw, 296px" /></p>
<ul>
<li>That is it. A toggle at the top of the app should now be activated.</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8149" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Shadowrocket7.png" alt="OxyLabs Residential Proxy Shadowrocket7" width="298" height="324" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Shadowrocket7.png 298w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Shadowrocket7-276x300.png 276w" sizes="(max-width: 298px) 100vw, 298px" /></p>
<ul>
<li>You can test if the proxy is working by visiting <strong>icanhazip.com</strong>.</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8150" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Shadowrocket8.png" alt="OxyLabs Residential Proxy Shadowrocket8" width="298" height="311" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Shadowrocket8.png 298w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Shadowrocket8-287x300.png 287w" sizes="(max-width: 298px) 100vw, 298px" /></p>
<hr />
<h3 id="proxifier">Proxifier</h3>
<p>If you want to use our Residential Proxies with Proxfier, you can easily do that by following the instructions below.</p>
<ul>
<li>Open Proxifier app.</li>
<li>Add proxies. Click on <strong>Proxies (1)</strong>. Click <strong>Add(2)</strong>.</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8151" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Proxifier1.png" alt="OxyLabs Residential Proxy Proxifier1" width="596" height="500" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Proxifier1.png 596w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Proxifier1-300x252.png 300w" sizes="(max-width: 596px) 100vw, 596px" /></p>
<ul>
<li>In the following window enter required information. <strong>Address(1)</strong>, which is <code>pr.oxylabs.io</code>, <strong>Port(2)</strong> which is <code>7777</code>, select <strong>HTTPS(3)</strong> protocol. In authentication box click <strong>Enable(4)</strong> and enter provided <strong>Username(5)</strong> and <strong>Password(6)</strong>. Do not forget to add <code>customer-</code> at the beginning of the username. If you have whitelisted your devices, do not click on <strong>Enable</strong>, your authenticiation will be done without username/password. If you wish, you can enable <strong>Appear as Web Browser</strong> option. Click <strong>OK</strong>.</li>
<li>You can also use country-specific entries. For example, if you put <strong>us-pr.oxylabs.io</strong> under <strong>Address(1)* and **10001</strong> under <strong>Port(2)</strong>, you will receive US exit node with sticky session.</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8152" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Proxifier2.jpg" alt="OxyLabs Residential Proxy Proxifier2" width="479" height="499" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Proxifier2.jpg 479w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Proxifier2-288x300.jpg 288w" sizes="(max-width: 479px) 100vw, 479px" /></p>
<ul>
<li>You will be prompted with a window asking <strong>if you want Proxifier to use this proxy by default</strong>? This means that this setup will be user for all of your browsers. It is up to you to decide. If you select <strong>Yes</strong>, you are done setting up. If you wish to use proxies on a particular browser, follow the next steps.</li>
<li>Click on <strong>Rules(1)</strong> and then click <strong>Add&#8230;(2)</strong>.</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8153" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Proxifier3.jpg" alt="OxyLabs Residential Proxy Proxifier3" width="851" height="464" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Proxifier3.jpg 851w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Proxifier3-300x164.jpg 300w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Proxifier3-768x419.jpg 768w" sizes="(max-width: 851px) 100vw, 851px" /></p>
<ul>
<li>Click <strong>+(1)</strong> button to add applications that you want to use proxy settings. Select the browser with which you want to use these proxy settings and click on it. Finally, you have to change <strong>Action(2)</strong>. Click on it and select your created proxy.</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8154" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Proxifier4.png" alt="OxyLabs Residential Proxy Proxifier4" width="538" height="546" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Proxifier4.png 538w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Proxifier4-296x300.png 296w" sizes="(max-width: 538px) 100vw, 538px" /></p>
<ul>
<li>This is it, all of your requests, while using browser which you defined in your rules of Proxifier, will be done from proxies.</li>
</ul>
<hr />
<h3 id="multilogin">Multilogin</h3>
<p>Our proxies also work with Multilogin app. Setting up is easy, just follow the instructions below.</p>
<ul>
<li>Open <strong>Multilogin</strong> app.</li>
<li>Add proxies. Click on <strong>Create new</strong> under Browser profile.</li>
<li>In the following window enter <strong>Browser profile name</strong> (for example <strong>Oxylabs</strong>). Next, click <strong>Edit proxy settings</strong>.</li>
<li>Choose <strong>HTTP proxy</strong> as <strong>Connection type</strong>. Now fill in the required details: under <strong>New address</strong> and <strong>Port</strong> insert <code>pr.oxylabs.io</code> and <code>7777</code>. Under <strong>Login</strong> enter your username, and <strong>Password</strong>. Do not forget to add <code>customer-</code> at the beginning of the username. If you have whitelisted your devices, you do not need to provide the login credentials.</li>
<li>You can also use country-specific entries. For example, if you put <strong>us-pr.oxylabs.io</strong> under <strong>New address</strong> and <strong>10001</strong> under <strong>Port</strong>, you will receive US exit node with a sticky session.</li>
<li>Click <strong>Check proxy</strong>. If everything is fine, you should get a response indicating <strong>External IP</strong>.</li>
<li>Confirm changes by clicking <strong>Create profile</strong>.</li>
<li>This is it, you are good to go.</li>
</ul>
<hr />
<h3 id="postern">Postern</h3>
<p>Postern is a very popular proxy/VPN management application on Android. You can get it on <a class="custom_link" href="https://play.google.com/store/apps/details?id=com.tunnelworkshop.postern&hl=en" target="_blank" rel="nofollow noopener">Google Play Store</a>. Here is a step-by-step guide how to configure our Residential Proxies on Postern:</p>
<ul>
<li>Open the app.</li>
<li>Click <strong>Add Proxy</strong>.</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8156" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Postern1.png" alt="OxyLabs Residential Proxy Postern1" width="348" height="350" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Postern1.png 348w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Postern1-298x300.png 298w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Postern1-150x150.png 150w" sizes="(max-width: 348px) 100vw, 348px" /></p>
<ul>
<li>In the following window enter required proxy information. <strong>Server Name</strong> is <strong>Oxylabs</strong>, <strong>Server Address</strong> is <strong>pr.oxylabs.io</strong>. Under <strong>Server Port</strong> enter <strong>7777</strong>. Click <strong>Server Type</strong> and choose <strong>HTTPS/HTTP CONNECT</strong>. Next, enter your login credentials under <strong>Username</strong> and <strong>Password</strong>. For this to work, you must type <strong>customer-</strong> before you type in your username, e.g., <strong>customer-username</strong>.Finally, click <strong>Save</strong>.</li>
</ul>
<p>You can also use country-specific entries. For example, if you put <strong>us-pr.oxylabs.io</strong> under <strong>Server Address</strong> and <strong>10001</strong> under <strong>Server Port</strong>, you will receive the US exit node with sticky session.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8157" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Postern2.png" alt="OxyLabs Residential Proxy Postern2" width="351" height="611" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Postern2.png 351w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Postern2-172x300.png 172w" sizes="(max-width: 351px) 100vw, 351px" /></p>
<ul>
<li>Now, open the app menu and go to <strong>Rules</strong>.</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8158" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Postern3.png" alt="OxyLabs Residential Proxy Postern3" width="348" height="496" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Postern3.png 348w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Postern3-210x300.png 210w" sizes="(max-width: 348px) 100vw, 348px" /></p>
<ul>
<li>Click <strong>Add Rule</strong></li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8159" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Postern4.png" alt="OxyLabs Residential Proxy Postern4" width="346" height="405" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Postern4.png 346w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Postern4-256x300.png 256w" sizes="(max-width: 346px) 100vw, 346px" /></p>
<ul>
<li>Under <strong>Match Method</strong> select <strong>Match All</strong>. Choose <strong>Proxy/Tunnel</strong> as the <strong>Rule</strong>. <strong>Proxy/Proxy Group</strong> should automatically fill up with <strong>Oxylabs &#8211; pr.oxylabs.io:7777&#8243;</strong>. Click <strong>Save</strong>.</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8160" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Postern5.png" alt="OxyLabs Residential Proxy Postern5" width="348" height="457" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Postern5.png 348w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Postern5-228x300.png 228w" sizes="(max-width: 348px) 100vw, 348px" /></p>
<ul>
<li>Now you need to turn on the VPN. Open the app menu and click on <strong>VPN Off</strong> to activate the connection. That is it, you are now using proxies.</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8161" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Postern6.png" alt="OxyLabs Residential Proxy Postern6" width="346" height="499" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Postern6.png 346w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Postern6-208x300.png 208w" sizes="(max-width: 346px) 100vw, 346px" /></p>
<h4></h4>
<hr />
<h3 id="gologin">GoLogin</h3>
<p>GoLogin is a multi-login browser management application for Windows, Linux and Mac OS. Get it on its official website <a class="custom_link" href="https://gologin.app/" target="_blank" rel="nofollow noopener">here</a>. Here is a step-by-step guide how to configure our Residential Proxies on GoLogin for Windows:</p>
<ul>
<li>Open the app.</li>
<li>Click <strong>Create Your First Profile</strong>.</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8164" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-GoLogin1.png" alt="OxyLabs Residential Proxy GoLogin1" width="915" height="275" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-GoLogin1.png 915w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-GoLogin1-300x90.png 300w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-GoLogin1-768x231.png 768w" sizes="(max-width: 915px) 100vw, 915px" /></p>
<ul>
<li>In the following window enter the required proxy information. Under <strong>Profile Name</strong> write <strong>Oxylabs</strong>. Next, choose <strong>Connection Type</strong> as <strong>HTTP Proxy</strong>. Under <strong>Proxy Host and Port</strong> enter <strong>pr.oxylabs.io</strong> and <strong>7777</strong>. Next, enter your login credentials under <strong>Username</strong> and <strong>Password</strong>. Finally, click <strong>Create Profile</strong>.</li>
</ul>
<p>You can also use country-specific entries. For example, if you put <strong>us-pr.oxylabs.io</strong> and <strong>10001</strong> under <strong>Proxy Host and Port</strong>, you will receive the US exit node with a sticky session. To fully utilize all available Residential Proxies features such as <a href="#session-control">sessions</a> and <a href="#select-country">country</a>, <a href="#select-state">state</a>, <a href="#select-city">city</a> geolocation parameters, please reffer to the corresponding sections in the documentation.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8165" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-GoLogin2.png" alt="OxyLabs Residential Proxy GoLogin2" width="574" height="500" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-GoLogin2.png 574w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-GoLogin2-300x261.png 300w" sizes="(max-width: 574px) 100vw, 574px" /></p>
<ul>
<li>All set, now simply click <strong>Run</strong> and wait for the browser to load.</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8166" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-GoLogin3.png" alt="OxyLabs Residential Proxy GoLogin3" width="915" height="344" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-GoLogin3.png 915w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-GoLogin3-300x113.png 300w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-GoLogin3-768x289.png 768w" sizes="(max-width: 915px) 100vw, 915px" /></p>
<ul>
<li style="list-style-type: none;">
<ul>
<li>If everything is fine, a website http://myip.gologin.app will open and show the IP information.</li>
</ul>
</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8167" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-GoLogin4.png" alt="OxyLabs Residential Proxy GoLogin4" width="692" height="500" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-GoLogin4.png 692w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-GoLogin4-300x217.png 300w" sizes="(max-width: 692px) 100vw, 692px" /></p>
<hr />
<h3 id="kameleo">Kameleo</h3>
<p>Kameleo is a multi-login browser management application for Windows and Android. Get it on its official website <a class="custom_link" href="https://kameleo.io/downloads/" target="_blank" rel="nofollow noopener">here</a>. Here is a step-by-step guide how to configure our Residential Proxies on Kameleo for Windows:</p>
<ul>
<li>Open the app.</li>
<li>Click <strong>APPLICATION SETTINGS</strong>.</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8168" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Kameleo1.png" alt="OxyLabs Residential Proxy Kameleo1" width="605" height="400" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Kameleo1.png 605w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Kameleo1-300x198.png 300w" sizes="(max-width: 605px) 100vw, 605px" /></p>
<ul>
<li>In the following window enter the required proxy information under <strong>Global proxy settings</strong>. For <strong>Upstream Proxy Type</strong> choose <strong>Http</strong>. Next, fill in <strong>Proxy IP or hostname</strong> with <strong>pr.oxylabs.io</strong>. Under <strong>Proxy Port</strong> enter <strong>7777</strong>. Finally, enter your login credentials under <strong>Username</strong> and <strong>Password</strong>. Close the window to save settings.</li>
</ul>
<p>You can also use country-specific entries. For example, if you put <strong>us-pr.oxylabs.io</strong> under <strong>Proxy IP or hostname</strong> and <strong>10001</strong> under <strong>Proxy Port</strong>, you will receive the US exit node with a sticky session.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8169" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Kameleo2.png" alt="OxyLabs Residential Proxy Kameleo2" width="606" height="339" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Kameleo2.png 606w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Kameleo2-300x168.png 300w" sizes="(max-width: 606px) 100vw, 606px" /></p>
<ul>
<li>That is it, you are ready to go. Either create a <strong>NEW PROFILE</strong> or click <strong>QUICK PROFILE</strong> to launch the browser which now has proxy enabled.</li>
</ul>
<hr />
<h3 id="clonbrowser">ClonBrowser</h3>
<p>ClonBrowser is another multi-login browser management application for Windows and Mac. Get it on its official website <a class="custom_link" href="https://www.clonbrowser.com/download" target="_blank" rel="nofollow noopener">here</a>. Here is a step-by-step guide how to configure our Residential Proxies on ClonBrowser for Windows:</p>
<ul>
<li>Open the app.</li>
<li>Click <strong>Create a New browser profile</strong>.</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8170" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-ClonBrowser1.jpg" alt="OxyLabs Residential Proxy ClonBrowser1" width="783" height="500" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-ClonBrowser1.jpg 783w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-ClonBrowser1-300x192.jpg 300w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-ClonBrowser1-768x490.jpg 768w" sizes="(max-width: 783px) 100vw, 783px" /></p>
<ul>
<li>Click <strong>Setting</strong> next to <strong>Proxy settings</strong>.</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8171" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-ClonBrowser2.png" alt="OxyLabs Residential Proxy ClonBrowser2" width="715" height="500" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-ClonBrowser2.png 715w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-ClonBrowser2-300x210.png 300w" sizes="(max-width: 715px) 100vw, 715px" /></p>
<ul>
<li>In the following window choose <strong>Http</strong> as the <strong>Connection type</strong>. Under <strong>IP or host</strong> enter <strong>pr.oxylabs.io</strong>. Fill in <strong>7777</strong> for <strong>Port</strong>. Finally, enter your login credentials under <strong>Username</strong> in <strong>customer-username</strong> format and <strong>Password</strong>.</li>
</ul>
<p>You can also use country-specific entries. For example, if you put <strong>us-pr.oxylabs.io</strong> under <strong>Proxy IP or hostname</strong> and <strong>10001</strong> under <strong>Proxy Port</strong>, you will receive the US exit node with a sticky session.</p>
<p>You can check if the proxy works by clicking <strong>Connection test</strong>. If everything is fine, click <strong>Create profile</strong>.</p>
<ul>
<li>That is all, you can now launch the browser by clicking <strong>Start</strong> under <strong>Option</strong>.</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-8172" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-ClonBrowser3.png" alt="OxyLabs Residential Proxy ClonBrowser3" width="858" height="236" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-ClonBrowser3.png 956w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-ClonBrowser3-300x83.png 300w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-ClonBrowser3-768x211.png 768w" sizes="(max-width: 858px) 100vw, 858px" /></p>
<hr />
<h3 id="adspower">AdsPower</h3>
<p>AdsPower is a multi-login browser management application for Windows and Mac. You get it on its official website <a class="custom_link" href="https://www.adspower.net/?code=fmtc1m&source=oxylabs" target="_blank" rel="nofollow noopener">here</a>. Here is the step-by-step guide how to configure our Residential Proxies on AdsPower for Windows:</p>
<ul>
<li>Open the app.</li>
<li>Click <strong>Upload.</strong>.</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8173" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-AdsPower1.png" alt="OxyLabs Residential Proxy AdsPower1" width="258" height="191" /></p>
<ul>
<li>Under <strong>Proxy Type</strong> choose <strong>http</strong>. Now fill in the form bellow. Enter <strong>pr.oxylabs.io</strong> for <strong>Proxy Host</strong> and <strong>7777</strong> for <strong>Proxy Port</strong>. Enter your login credentials <strong>customer-username</strong> under <strong>Proxy User</strong> and your <strong>password</strong> for <strong>Password</strong>.</li>
</ul>
<p>You can also use country specific entries. For example, if you put <strong>us-pr.oxylabs.io</strong> under <strong>Proxy Host</strong> and <strong>10001</strong> under *<em>Proxy Port</em>, you will receive US exit node with sticky session.</p>
<p>You can check if the proxy works by clicking <strong>Check Proxy</strong>. If everything is fine, click <strong>Create profile</strong>.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8174" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-AdsPower2.png" alt="OxyLabs Residential Proxy AdsPower2" width="689" height="393" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-AdsPower2.png 689w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-AdsPower2-300x171.png 300w" sizes="(max-width: 689px) 100vw, 689px" /></p>
<ul>
<li>That's all, you can now launch the browser by clicking <strong>Open</strong> under <strong>Account Management</strong>.</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8175" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-AdsPower3.png" alt="OxyLabs Residential Proxy AdsPower3" width="564" height="250" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-AdsPower3.png 564w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-AdsPower3-300x133.png 300w" sizes="(max-width: 564px) 100vw, 564px" /></p>
<hr />
<h3 id="vmlogin">VMLogin</h3>
<p>Virtual Multi Login, or VMLogin, is a tool for creating virtual browser profiles that help control browser fingerprinting, setup business workflows, and develop web automation, among other things. To use VMLogin with Oxylabs Residential Proxies, download the latest version of VMLogin <a class="custom_link" href="https://vmlogin.us/download.html" target="_blank" rel="nofollow noopener">here</a>.</p>
<ul>
<li>Launch VMLogin and create a new browser profile. You can either click <strong>Get random profile</strong> (1), or select your settings.</li>
<li>Click on <strong>Setting proxy server</strong> (2)</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8177" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-VMLogin1.png" alt="OxyLabs Residential Proxy VMLogin1" width="675" height="500" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-VMLogin1.png 675w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-VMLogin1-300x222.png 300w" sizes="(max-width: 675px) 100vw, 675px" /></p>
<ul>
<li>Create a new Residential Proxy user.</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-8178" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-VMLogin2.png" alt="OxyLabs Residential Proxy VMLogin2" width="815" height="317" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-VMLogin2.png 961w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-VMLogin2-300x117.png 300w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-VMLogin2-768x299.png 768w" sizes="(max-width: 815px) 100vw, 815px" /></p>
<ul>
<li>Click on <strong>Setting proxy server</strong> and choose <strong>HTTP Proxy</strong> as the Connection type. Under IP or host enter <strong>pr.oxylabs.io</strong>. Fill in <strong>7777</strong> for <strong>Port</strong>. Finally, enter your login credentials under <strong>Username</strong> (in customer-username format) and <strong>Password</strong>. You can check if the proxy works by clicking <strong>Test Proxy</strong>. If everything is fine, save profile and launch the browser.</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8179" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-VMLogin3.png" alt="OxyLabs Residential Proxy VMLogin3" width="686" height="500" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-VMLogin3.png 686w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-VMLogin3-300x219.png 300w" sizes="(max-width: 686px) 100vw, 686px" /></p>
<ul>
<li>You can also use country specific entries. For example, if you put <strong>us-pr.oxylabs.io</strong> under Proxy <strong>IP address</strong> and <strong>10001</strong> under Proxy <strong>Port</strong>, you will receive a US exit node with a sticky session.</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8180" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-VMLogin4.png" alt="OxyLabs Residential Proxy VMLogin4" width="714" height="500" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-VMLogin4.png 714w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-VMLogin4-300x210.png 300w" sizes="(max-width: 714px) 100vw, 714px" /></p>
<ul>
<li>This is all, you are ready to use Residential Proxies with VMLogin.</li>
</ul>
<hr />
<h3 id="undetectable">Undetectable</h3>
<p>Firstly, you will need to get Undetectable. To do that, simply go to <a class="custom_link" href="https://undetectable.io/" target="_blank" rel="nofollow noopener">undetectable.io</a>, sign up, and download the browser.</p>
<p>Then, open the application and click &#8220;+&#8221; to create a new profile.</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-8181" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Undetectable1.png" alt="OxyLabs Residential Proxy Undetectable1" width="679" height="456" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Undetectable1.png 745w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Undetectable1-300x201.png 300w" sizes="(max-width: 679px) 100vw, 679px" /></p>
<p>In the following window, under <em>New Profile</em>, enter the new profile name. Choose the settings (OS, browser, configurations, and screen) of how you want your browser to be recognized by websites.</p>
<p>Also, you can select the main and additional languages, while geo-location will be determined by your proxy.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8182" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Undetectable2.png" alt="OxyLabs Residential Proxy Undetectable2" width="749" height="500" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Undetectable2.png 749w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Undetectable2-300x200.png 300w" sizes="(max-width: 749px) 100vw, 749px" /></p>
<p>Go to the <em>Proxy</em> tab and select the <em>&#8220;New proxy&#8221;</em> option in the box.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8183" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Undetectable3.png" alt="OxyLabs Residential Proxy Undetectable3" width="747" height="500" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Undetectable3.png 747w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Undetectable3-300x201.png 300w" sizes="(max-width: 747px) 100vw, 747px" /></p>
<p>You can choose either SOCKS5 or HTTP (select HTTP proxy as a connection type). Now fill in proxy and authentication details: type <strong>pr.oxylabs.io</strong> for your Host and use <strong>7777</strong> for <em>Port</em>. Enter your credentials in the <em>Login</em> and <em>Password</em> spaces. Do not forget to add customer- at the beginning of your username. If you have whitelisted your devices, you do not need to provide login credentials.</p>
<p>You can also use country-specific entries. For example, if you put <strong>us- pr.oxylabs.io</strong> under <em>Host</em> and <strong>10001</strong> under Port, you will receive US exit node with a sticky session. Please check out our <a href="#country-specific-entry-nodes">complete list of country-secific entry nodes</a>.</p>
<p>Click the <em>Check</em> button. If everything is fine, you should get a response indicating External IP. Press the Save Proxy button to confirm the changes.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8184" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Undetectable4.png" alt="OxyLabs Residential Proxy Undetectable4" width="750" height="500" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Undetectable4.png 750w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Undetectable4-300x200.png 300w" sizes="(max-width: 750px) 100vw, 750px" /></p>
<p>Now save the profile by pressing the <em>Save</em> button, and you will see it appear on the left side menu. Edit your profiles easily by simply clicking on them.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8185" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Undetectable5.png" alt="OxyLabs Residential Proxy Undetectable5" width="748" height="500" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Undetectable5.png 748w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Residential-Proxy-Undetectable5-300x201.png 300w" sizes="(max-width: 748px) 100vw, 748px" /></p>
<p>That's it! You have successfully set up your proxies with Undetectable.io.</p>
<hr />
<h3 id="puppeteer">Puppeteer</h3>
<p>Before getting started with Puppeteer, you’ll need to install some basic tools: Node.js and a code editor of your choice. After that, create a Node.js project and install the required packages. You may find a detailed guide on how to install and run Puppeteer on our <a href="https://oxylabs.io/blog/puppeteer-tutorial" target="_blank" rel="nofollow noopener">blog post</a>.</p>
<p>Once everything is set up, we can move on to the next part – Oxylabs Residential Proxies integration with Puppeteer.</p>
<ul>
<li>Within Puppeteer, fill in the value, for example:</li>
</ul>
<p><code>pr.oxylabs.io:7777</code></p>
<ul>
<li>Under ‘page.authenticate’ input your Oxylabs proxy sub-user username in the ‘username’ value and your password.</li>
<li>The example of a code looks like this:</li>
</ul>
<pre>const puppeteer = require('puppeteer');
(async () =&gt; {
  const browser = await puppeteer.launch({
    headless: false,
    args: ['--proxy-server=pr.oxylabs.io:7777]  
});
  const page = await browser.newPage();
    await page.authenticate({
        username: 'USERNAME',
        password: 'PASSWORD'
    });
    await page.goto('https://ip.oxylabs.io');
    await page.screenshot({path: 'example.png'});
    await browser.close();
})();
</pre>
<p>You can also use country-specific entries. For example, if you put <code>us-pr.oxylabs.io</code> under ‘host’ and <code>10001</code> under ‘port’, you will receive a US exit node with a sticky session. Please check out our <a href="#quick-start">documentation</a> for a complete list of country-specific entry nodes.</p>
<p>And that’s it! You’ve successfully integrated Oxylabs Residential proxies with Puppeteer.</p>
<hr />
<h4>References,</h4>
<p><a href="https://docs.oxylabs.io/residential/index.html" target="_blank" rel="nofollow noopener">https://docs.oxylabs.io/residential/index.html</a></p>
<hr />
<blockquote><p><strong>Disclaimer</strong>: This part of the content is mainly from the merchant. If the merchant does not want it to be displayed on my website, please <a href="https://www.proxysp.com/contact-us/">contact us</a> to delete your content.</p></blockquote>
]]></content:encoded>
					
					<wfw:commentRss>https://proxysp.com/oxylabs-residential-proxies/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7621</post-id>	</item>
		<item>
		<title>How to Use OxyLabs Proxy [Part 1]: OxyLabs Datacenter Proxies Manual</title>
		<link>https://proxysp.com/oxylabs-datacenter-proxies/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=oxylabs-datacenter-proxies</link>
					<comments>https://proxysp.com/oxylabs-datacenter-proxies/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
				<category><![CDATA[How to Use OxyLabs Proxy (OxyLabs User Manual Navigation)]]></category>
		<guid isPermaLink="false">https://www.proxysp.com/?p=7589</guid>

					<description><![CDATA[Want to use OxyLabs' datacenter proxies? Then you can't miss this article. It is the most comprehensive OxyLabs datacenter proxies user guide. Quick Start Before we &#8230;<p class="read-more"> <a class="ast-button" href="https://proxysp.com/oxylabs-datacenter-proxies/"> <span class="screen-reader-text">How to Use OxyLabs Proxy [Part 1]: OxyLabs Datacenter Proxies Manual</span> Read More &#187;</a></p>]]></description>
										<content:encoded><![CDATA[<blockquote><p>Want to use OxyLabs' datacenter proxies? Then you can't miss this article. It is the most comprehensive OxyLabs datacenter proxies user guide.</p></blockquote>
<h2>Quick Start</h2>
<p>Before we begin, please make sure you have received a username, password, and all URLs linking to your IP list from a Sales Representative, Dedicated Account Manager, or Support Team.</p>
<p>There are two ways you can get to your IP list. You can either access the IP list directly from your browser by opening the URL you received (e.g.: <code>https://proxy.oxylabs.io/all</code>). You will then be asked to enter your login credentials (HTTP Basic Auth).</p>
<p>Or you can retrieve the list by making a GET request to the URL you received (for example: <code>https://proxy.oxylabs.io/all</code>). Don't forget to replace <code>USERNAME</code> and <code>PASSWORD</code> with your proxy user credentials.</p>
<div class="inside-code">
<pre>curl <span class="nt">-u</span> <span class="s2">"USERNAME:PASSWORD"</span> https://proxy.oxylabs.io/all</pre>
<p><span style="font-size: 16px;">To make a request using a proxy, you will need to choose an IP address from the acquired list and specify it in the request parameters. You can see an example in cURL below. You can find more code samples in other languages </span><a href="#making-requests">here</a> <span style="font-size: 16px;">or</span><span style="font-size: 16px;"> full code examples on our </span><a class="custom_link" style="font-size: 16px; background-color: #ffffff;" href="https://github.com/oxylabs/product-integrations/tree/master/datacenter-proxies" target="_blank" rel="nofollow noopener">GitHub</a>.</p>
</div>
<div class="inside-code">
<pre>curl <span class="nt">-x</span> 1.2.3.4:60000 <span class="nt">-U</span> <span class="s2">"USERNAME:PASSWORD"</span> http://ip.oxylabs.io</pre>
<p><span style="font-size: 16px;">If there are any questions we have not covered in this doccumentation, please contact your Dedicated Account Manager or our Support at </span><a class="custom_link" style="font-size: 16px; background-color: #ffffff;" href="mailto:support@oxylabs.io" target="_blank" rel="nofollow noopener">support@oxylabs.io</a><span style="font-size: 16px;">.</span></p>
</div>
<hr />
<h2>Proxy Lists</h2>
<hr />
<h3>Basic</h3>
<p>You should receive a URL to your proxy list from your Dedicated Account Manager or our Support and it should look something like this:</p>
<pre>https://proxy.oxylabs.io/key/a27c5343ce4c4637a85a9297ddf1cace</pre>
<p>Simply open this URL in your browser (or any other prefered software). You will then be asked to enter your login credentials (HTTP Basic Auth):</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8075" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Proxy-Authentication-Required.jpg" alt="OxyLabs Proxy Authentication Required" width="358" height="238" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Proxy-Authentication-Required.jpg 358w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Proxy-Authentication-Required-300x199.jpg 300w" sizes="(max-width: 358px) 100vw, 358px" /></p>
<p>Once you do that, the list of proxies will be shown in a plain text.</p>
<p>If you have multiple lists and wish to get all IPs assigned to your account, you can use this URL:</p>
<pre>https://proxy.oxylabs.io/all</pre>
<p>You can also include <code>?showCountry</code> or <code>?showCity</code> at the end of your URL to get IPs with their corresponding locations.</p>
<hr />
<h3>RESTful</h3>
<h4 id="showing-all-available-proxy-lists">Showing All Available Proxy Lists</h4>
<p>With this endpoint, you can retrieve proxy lists that belong to your user:</p>
<div class="endpoint">
<pre class="endpoint-body">GET https://api.oxylabs.io/v1/proxies/lists</pre>
</div>
<pre>curl -U username:password "https://api.oxylabs.io/v1/proxies/lists"
</pre>
<p><strong>Sample output:</strong></p>
<pre class="highlight json tab-json">[
{
"uuid": "123e4567-e89b-12d3-a456-426655440000",
"key": "12345678",
"updated_timestamp": "2016-09-28T13:03:50+0300",
"ips_count": 2000,
"href": "http://api.oxylabs.io/v1/proxies/lists/123e4567-e89b-12d3-a456-426655440000"
}
]</pre>
<hr />
<h4>Retrieving a Specific Proxy List</h4>
<p>With this endpoint, you can retrieve a specific proxy list:</p>
<pre class="endpoint-body">GET https://api.oxylabs.io/v1/proxies/lists/{uuid}</pre>
<p>Request parameters:<br />
<div class="su-table su-table-responsive su-table-alternate">
<table>
<thead>
<tr>
<th>Parameter</th>
<th> Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>uuid</code></td>
<td>The uuid of the proxy-list to retrieve</td>
</tr>
</tbody>
</table>
</div>
<pre>curl -u username:password "https://api.oxylabs.io/v1/proxies/lists/{uuid}"
</pre>
<p><strong>Sample output:</strong></p>
<pre>[
{
"ip": "127.0.0.1",
"port": "60000",
"country": "US"
},
{ 
"ip": "127.0.0.2",
"port": "60000",
"country": "GB"
}
]</pre>
<hr />
<h2 id="making-requests">Making Requests</h2>
<p>By default, Oxylabs proxies and Proxy Rotator use a basic <a class="custom_link" href="https://en.wikipedia.org/wiki/Basic_access_authentication" target="_blank" rel="nofollow noopener">HTTP authentication</a> that requires you to provide a username and password. You can get your credentials by contacting your Dedicated Account Manager or our Support Team at <a class="custom_link" href="mailto:support@oxylabs.io" target="_blank" rel="nofollow noopener">support@oxylabs.io</a>.</p>
<p>We also support authentication based on whitelisted IP addresses. See <a href="#whitelisting-ips">Whitelisting IPs</a>.</p>
<p>Depending on your authentication method, you might need to change the proxy port:</p>
<p><strong>Proxy</strong></p>
<div class="su-table su-table-responsive su-table-alternate">
<table>
<thead>
<tr>
<th>Port</th>
<th>Usage</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>60000</code></td>
<td>Required with proxies when login credentials are used (username and password). This port is used with proxy <a href="#proxy-rotator">Proxy Rotator </a>as well when used with both login credentials and whitelisted IPs.</td>
</tr>
<tr>
<td><code>65432</code></td>
<td>Required with proxies when authorization is done via whitelisted IPs</td>
</tr>
</tbody>
</table>
</div>
<p>If you want to use Datacenter Proxies via user/pass authentification method:</p>
<pre>curl -x 1.2.3.4:60000 -U user1:pass1 http://ip.oxylabs.io</pre>
<p>If you want to use Datacenter Proxies via Whitelisted IP authentification method:</p>
<pre>curl -x 1.2.3.4:65432 http://ip.oxylabs.io</pre>
<hr />
<h2 id="whitelisting-ips">Whitelisting IPs</h2>
<h3 id="dashboard">Dashboard</h3>
<p>We also support authentication based on an IP address. If you are using proxies directly (without proxy <a class="custom_link" href="#proxy-rotator">Proxy Rotator</a>), you can whitelist your IPs by yourself. Just log into <a class="custom_link" href="https://stats.oxylabs.io/" target="_blank" rel="nofollow noopener">https://stats.oxylabs.io</a> and on the sidebar at the bottom you will see a section named &#8220;Add Whitelist&#8221;. After clicking on the link you will be navigated to self-whitelist page which looks like this:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8076" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Whitelisting-IPs.png" alt="OxyLabs Whitelisting IPs" width="607" height="195" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Whitelisting-IPs.png 607w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Whitelisting-IPs-300x96.png 300w" sizes="(max-width: 607px) 100vw, 607px" /></p>
<h2></h2>
<p>Here you can manage your whitelisted IPs that you can use to access proxies. You can whitelist individual IPs, as well as up to 24 subnets. If you would like to whitelist a larger subnet, please contact your Dedicated Account Manager or Support Team at <a class="custom_link" href="mailto:support@oxylabs.io" target="_blank" rel="nofollow noopener">support@oxylabs.io</a>.</p>
<p>If you are using proxy <a class="custom_link" href="#proxy-rotator">Proxy Rotator</a> or <a href="https://www.proxysp.com/socks-proxy/" target="_blank" rel="noopener">SOCKS proxies</a>, you cannot whitelist your IP address by yourself. Instead, you will have to give us a list of IP address you want to use to connect to proxies. We will whitelist them (add them to firewall exception rules). After doing so, you will be able to access your proxies without login credentials.</p>
<p>Bear in mind, that if you are using whitelisted IPs to access your proxies, you will need to use port <code>65432</code>. For proxy <a class="custom_link" href="#proxy-rotator">Proxy Rotator</a>, the port remains <code>60000</code>.</p>
<hr />
<h3 id="restful-2">RESTful</h3>
<p>You can also whitelist IPs by sending queries directly to our endpoints. Please note there is a 5-minute cooldown for confirming any changes to your whitelisted IP list.</p>
<h4 id="getting-whitelisted-ips-list">Getting Whitelisted IPs List</h4>
<pre>GET https://api.oxylabs.io/v1/whitelisted_ips</pre>
<div class="su-table su-table-responsive su-table-alternate">
<table>
<thead>
<tr>
<th>Response</th>
<th> Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>200</code></td>
<td>Success. Response body contains all currently whitelisted IPs and their ids.</td>
</tr>
</tbody>
</table>
</div>
<pre>curl -U username:password "https://api.oxylabs.io/v1/whitelisted_ips"</pre>
<p>Sample output:</p>
<pre>{
"data": [
{
"id": 9765,
"address": "127.0.0.1"
},
{
"id": 9766,
"address": "127.0.0.2"
}
]
}</pre>
<hr />
<h4 id="adding-a-whitelisted-ip">Adding a Whitelisted IP</h4>
<pre>POST https://api.oxylabs.io/v1/whitelisted_ips</pre>
<div class="su-table su-table-responsive su-table-alternate">
<table>
<thead>
<tr>
<th>Response</th>
<th> Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>201</code></td>
<td>Success. The IP address has been added to the list. Response body contains the newly added <code>address</code> and <code>id</code>.</td>
</tr>
<tr>
<td><code>422</code></td>
<td>Error. Request body contains an invalid IP address. Response body contains the error message.</td>
</tr>
</tbody>
</table>
</div>
<pre>curl -X POST -u username:password "https://api.oxylabs.io/v1/whitelisted_ips"
--header "Content-Type: application/json" --data '{"address": "127.0.0.1"}'</pre>
<pre>{
"error": {
"message": "This is not a valid IP address.",
"code": 422
}
}</pre>
<p>Sample output:</p>
<pre>{
"id": 9767,
"address": "127.0.0.1"
}</pre>
<hr />
<h4 id="removing-a-whitelisted-ip">Removing a Whitelisted IP</h4>
<pre>DELETE https://api.oxylabs.io/v1/whitelisted_ips/{id}</pre>
<div class="su-table su-table-responsive su-table-alternate">
<table>
<thead>
<tr>
<th>Parameter</th>
<th> Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>id</code></td>
<td>The <code>id</code> of the IP address you want to delete (you can get it from GET whitelisted IPs endpoint)</td>
</tr>
</tbody>
</table>
</div>
<div class="su-table su-table-responsive su-table-alternate">
<table>
<thead>
<tr>
<th>Response</th>
<th>  Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>204</code></td>
<td>Success. The IP address has been removed from the list. Response body is empty.</td>
</tr>
<tr>
<td><code>403</code></td>
<td>Error. Request contains an invalid <code>id</code>. Response body contains the error message &#8220;Access Denied&#8221;.</td>
</tr>
</tbody>
</table>
</div>
<pre>curl -X DELETE -u username:password "https://api.oxylabs.io/v1/whitelisted_ips/{id}"</pre>
<hr />
<h4 id="saving-changes-5min-cooldown">Saving Changes (5min Cooldown)</h4>
<pre>POST https://api.oxylabs.io/v1/whitelisted_ips/upload_to_servers</pre>
<div class="su-table su-table-responsive su-table-alternate">
<table>
<thead>
<tr>
<th>Response</th>
<th> Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>202</code></td>
<td>Success. Changes to your whitelisted IP list have been confirmed. Response body is empty.</td>
</tr>
<tr>
<td><code>429</code></td>
<td>Error. Changes have not been confirmed, the endpoint is on a 5 minute cooldown. Response body contains the error message &#8220;You have exceed the rate limit for the endpoint. Please try again later&#8221;</td>
</tr>
</tbody>
</table>
</div>
<pre>curl -X POST -u username:password "https://api.oxylabs.io/v1/whitelisted_ips/upload_to_servers"</pre>
<hr />
<h2>Datacenter Proxy API</h2>
<h3 id="replacing-subnet-ips">Replacing subnet IPs</h3>
<pre>POST https://api.oxylabs.io/v1/proxy-list/rest/proxy-lists/{PROXY_LIST_UUID}/by-uuid/network-modification-requests/replace</pre>
<p>For you to replace IPs from a specific subnet in your existing proxy list while using Proxy Management API, you will need to make a POST request to the endpoint above with specific subnets you want to replace. To make it work correctly, you must insert a proxy list UUID that can be queried from the API (as described <a href="#showing-all-available-proxy-lists">here</a>).</p>
<div class="su-table su-table-responsive su-table-alternate">
<table>
<thead>
<tr>
<th>Response</th>
<th> Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>id</code></td>
<td>Initiated replacement process ID</td>
</tr>
<tr>
<td><code>status</code></td>
<td>Status describes the state of initiated replacement process</td>
</tr>
<tr>
<td><code>message</code></td>
<td>Initiated process type</td>
</tr>
<tr>
<td><code>created_at</code></td>
<td>Timestamp of the initiated process</td>
</tr>
<tr>
<td><code>link_to_list_plain</code></td>
<td>Link to the list of proxies in plain text</td>
</tr>
<tr>
<td><code>link_to_list_json</code></td>
<td>Link to the list of proxies formatted in JSON</td>
</tr>
</tbody>
</table>
</div>
<pre>curl -X POST -H "Content-Type: application/json" -d '{"subnets": ["x.x.x.0/24","y.y.y.0/24"]}' https://api.oxylabs.io/v1/proxy-list/rest/proxy-lists/{PROXY_LIST_UUID}/by-uuid/subnet-replacement-requests -u user:pass</pre>
<p>Sample output:</p>
<pre>{
    "id": "1", 
    "status": "processing", 
    "message": None, 
    "type": "replace", 
    "created_at": "2021-01-01T00:00:00+00:00", 
    "link_to_list_plain": "https://proxy.oxylabs.io/key/4f34fe5862603138c1bc5ce28b181aef", 
    "link_to_list_json": "https://api.oxylabs.io/v1/proxies/lists/8f11274c-a900-11eb-b910-901b0ec4424b"
}
</pre>
<hr />
<h3 id="checking-replacement-status">Checking replacement status</h3>
<pre>GET https://api.oxylabs.io/v1/proxy-list/rest/subnet-replacement-requests/{INITIATED_REPLACEMENT_PROCESS_ID}
</pre>
<p>To confirm that the subnet replacement was a success, you must make a GET request to the endpoint above while inserting <em>Initiated replacement process ID</em> from the replacement process initiated before.</p>
<div class="su-table su-table-responsive su-table-alternate">
<table>
<thead>
<tr>
<th>Response</th>
<th> Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>id</code></td>
<td>Initiated replacement process ID</td>
</tr>
<tr>
<td><code>status</code></td>
<td>Status describes the state of initiated replacement process</td>
</tr>
<tr>
<td><code>message</code></td>
<td>Initiated process type</td>
</tr>
<tr>
<td><code>created_at</code></td>
<td>Timestamp of the initiated process</td>
</tr>
<tr>
<td><code>link_to_list_plain</code></td>
<td>Link to the list of proxies in plain text</td>
</tr>
<tr>
<td><code>link_to_list_json</code></td>
<td>Link to the list of proxies formatted in JSON</td>
</tr>
</tbody>
</table>
</div>
<pre>curl -u user:pass https://api.oxylabs.io/v1/proxy-list/rest/subnet-replacement-requests/{INITIATED_REPLACEMENT_PROCESS_ID}"
</pre>
<p>Sample output:</p>
<pre>{
    "created_at": "2021-01-01T00:00:00+00:00",
    "id": "1",
    "link_to_list_json": "https://api.oxylabs.io/v1/proxies/lists/8f11274c-a900-11eb-b910-901b0ec4424b",
    "link_to_list_plain": "https://proxy.oxylabs.io/key/4f34fe5862603138c1bc5ce28b181aef",
    "message": None,
    "status": "completed",
    "type": "replace"
}
</pre>
<hr />
<h3 id="listing-replaced-and-new-ips">Listing replaced and new IPs</h3>
<pre>GET https://api.oxylabs.io/v1/proxy-list/rest/network-modification-requests/{INITIATED_REPLACEMENT_PROCESS_ID}/ips
</pre>
<p>When the replacement request has been processed, removed IPs can be found by making a GET request to the endpoint above while inserting initiated replacement process ID from the replacement process initiated before.</p>
<p>Only 100 replaced IPs will be displayed with the initial request, and pagination metadata will be in the response. In order to fetch the remaining list of replaced IPs, pagination must be used. For pagination, please format the endpoint below:</p>
<pre>GET https://api.oxylabs.io/v1/proxy-list/rest/network-modification-requests/{INITIATED_REPLACEMENT_PROCESS_ID}/ips?fields=metadata.total&after={metadata_after}
</pre>
<div class="su-table su-table-responsive su-table-alternate">
<table>
<thead>
<tr>
<th>Response</th>
<th> Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>items</code></td>
<td>A list that contains replaced IP IDs, IPs adressed, and subnet addresses</td>
</tr>
<tr>
<td><code>id</code></td>
<td>Proxy ID within the replacement process</td>
</tr>
<tr>
<td><code>ip</code></td>
<td>Proxy IP adress</td>
</tr>
<tr>
<td><code>subnet</code></td>
<td>Subnet from which the IP is assigned</td>
</tr>
<tr>
<td><code>type</code></td>
<td><code>redundant</code> &#8211; IP that have been replaced, <code>new</code>&#8211; New IP that have been assigned instead of <code>redundant</code>one</td>
</tr>
<tr>
<td><code>metadata</code></td>
<td>Cursor pagination data showing boundaries from which IP address in the replaced IPs list data it has been fetched</td>
</tr>
</tbody>
</table>
</div>
<pre>curl -u user:pass "https://api.oxylabs.io/v1/proxy-list/rest/network-modification-requests/{INITIATED_REPLACEMENT_PROCESS_ID}/ips"
</pre>
<p>Sample output:</p>
<pre>{
  "items": [
    {
      "id": "1",
      "ip": "127.1.0.1",
      "subnet": "127.1.0.0/24",
      "type": "redundant"
    },
    {
      "id": "2",
      "ip": "127.1.1.2",
      "subnet": "127.1.1.0/24",
      "type": "new"
    }
  ],
  "metadata": {
    "after": "'100'",
    "before": "'None'",
    "total": 100
  }
}
</pre>
<hr />
<h2 id="proxy-rotator">Proxy Rotator &#8211; Optional</h2>
<p>This service is optional and is not included in subscription. Instead of connecting to individual IPs, we provide you with a single endpoint to your assigned proxy list. With every request, the endpoint fetches a different IP. To learn how to use the endpoint as a proxy, please see the example on the right.</p>
<p><strong>Note</strong>: Proxy Rotator should be used only with port <code>60000</code>.</p>
<pre>curl --proxy vm.oxylabs.io:60000 http://ip.oxylabs.io
</pre>
<hr />
<h3>Session Control Using Proxy Rotator</h3>
<p>It is possible to keep the same IP address with the Proxy Rotator. Firstly, you will need to know how many proxies your Proxy Rotator has. Then simply add <code>--proxy-header "Proxy-Server: sXXX"</code> header to your request, where <code>sXXX</code> is the number of the proxy, for example, <code>s5</code> or <code>s2541</code>.</p>
<pre>user1@machine:~$ curl -x vm.oxylabs.io:60000 -U user:pass http://ip.oxylabs.io --proxy-header "Proxy-Server: s10"
1.2.30.40
user1@machine:~$ curl -x vm.oxylabs.io:60000 -U user:pass http://ip.oxylabs.io --proxy-header "Proxy-Server: s10"
1.2.30.40
user1@machine:~$ curl -x vm.oxylabs.io:60000 -U user:pass http://ip.oxylabs.io --proxy-header "Proxy-Server: s10"
1.2.30.40
</pre>
<hr />
<h2>Response Codes</h2>
<div class="su-table su-table-responsive su-table-alternate">
<table>
<thead>
<tr>
<th>Response</th>
<th> Error Message</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>407</code></td>
<td>Proxy Authentication Required</td>
<td>You are accessing proxy through 60000 port, but you have not provided authorization header, or your credentials are incorrect.</td>
</tr>
<tr>
<td><code>504</code></td>
<td>Gateway Timeout</td>
<td>Proxy server timed out. Waiting for a response from the target server. Usually about 60s.</td>
</tr>
<tr>
<td><code>503</code></td>
<td>Service Unavailable</td>
<td>Failed to connect to the target server. DNS failure to resolve the target server address.</td>
</tr>
<tr>
<td><code>401</code></td>
<td>Unauthorized</td>
<td>Incorrect credentials.</td>
</tr>
<tr>
<td><code>404</code></td>
<td>Not Found</td>
<td>The resource specified could not be found.</td>
</tr>
<tr>
<td><code>500</code></td>
<td>Internal Server Error</td>
<td>We had a problem with our server. Try again later.</td>
</tr>
</tbody>
</table>
</div>
<p>These are the most common response codes that you can get while using our Datacentre Proxies. If you receive any other response code, please get in touch with your Dedicated Account Manager for more information.</p>
<hr />
<h2>3rd Party Integrations</h2>
<h3 id="oxylabs-proxy-manager">Oxylabs Proxy Manager</h3>
<p><a class="custom_link" href="https://chrome.google.com/webstore/detail/oxylabs-proxy-manager/infajoaodhhdogakhloedbppcbeajhoo" target="_blank" rel="nofollow noopener">Oxylabs Proxy Manager</a> is a proxy management extension for Chrome. It is not only free but also works with any proxy provider of your choice. Enable your proxy without having to jump through settings and menu options. Download the extension from Chrome Web Store <a class="custom_link" href="https://chrome.google.com/webstore/detail/oxylabs-proxy-manager/infajoaodhhdogakhloedbppcbeajhoo" target="_blank" rel="nofollow noopener">here</a></p>
<ul>
<li>Click the extension icon to open the application</li>
<li>If you haven't added any proxies yet, you will see <strong>Add new proxy</strong> button. Click it to continue.</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8078" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Add-new-proxy.jpg" alt="OxyLabs Add new proxy" width="434" height="431" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Add-new-proxy.jpg 434w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Add-new-proxy-300x298.jpg 300w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Add-new-proxy-150x150.jpg 150w" sizes="(max-width: 434px) 100vw, 434px" /></p>
<ul>
<li>Add proxy profile. Provide a name for the profile under <strong>Enter name</strong>. Enter on of the proxies you have purchased from us as <strong>Proxy server IP</strong> and <code>60000</code> as <strong>Port</strong> if you are using username:password authentication method, and <code>65432</code> if you are using whitelisted IPs.</li>
</ul>
<p>Fill in your <strong>Username</strong> and <strong>Password</strong>. Finally, click <strong>Save changes</strong>. If you have whitelisted your IP, you don't need to do this step at all.</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-8079" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Save-changes.png" alt="OxyLabs Save changes" width="829" height="383" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Save-changes.png 963w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Save-changes-300x139.png 300w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Save-changes-768x355.png 768w" sizes="(max-width: 829px) 100vw, 829px" /></p>
<ul>
<li>Open the extension and click <strong>Connect</strong>. That's it, you are now using datacenter proxies.</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8080" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-click-Connect.jpg" alt="OxyLabs click Connect" width="430" height="371" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-click-Connect.jpg 430w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-click-Connect-300x259.jpg 300w" sizes="(max-width: 430px) 100vw, 430px" /></p>
<hr />
<h3 id="switchyomega">SwitchyOmega</h3>
<p>SwitchyOmega is a powerful and reliable proxy manager that works with many popular browsers. From our own experience, it is one of the best proxy plugins out there. We highly recommend using SwitchyOmega with our proxies. To do that, you will need to get the plugin. For Chrome, click <a class="custom_link" href="https://chrome.google.com/webstore/detail/proxy-switchyomega/padekgcemlokbadohgkifijomclgjgif?hl=en" target="_blank" rel="nofollow noopener">here</a>, for Firefox click <a class="custom_link" href="https://addons.mozilla.org/en-US/firefox/addon/switchyomega/" target="_blank" rel="nofollow noopener">here</a>. Once you have it installed, you should:</p>
<ul>
<li>Open Switchy Omega options.</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8081" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-SwitchyOmega1.png" alt="OxyLabs SwitchyOmega1" width="195" height="230" /></p>
<ul>
<li>Click <strong>New profile&#8230;</strong></li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-8082" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-SwitchyOmega2.jpg" alt="OxyLabs SwitchyOmega2" width="537" height="461" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-SwitchyOmega2.jpg 579w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-SwitchyOmega2-300x258.jpg 300w" sizes="(max-width: 537px) 100vw, 537px" /></p>
<ul>
<li>Give the new profile a name, choose <strong>Proxy Profile</strong> type and click <strong>Create</strong></li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-8083" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-SwitchyOmega3.jpg" alt="OxyLabs SwitchyOmega3" width="543" height="557" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-SwitchyOmega3.jpg 590w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-SwitchyOmega3-293x300.jpg 293w" sizes="(max-width: 543px) 100vw, 543px" /></p>
<ul>
<li>Change <strong>Protocol</strong> to <strong>HTTP</strong>. Under <strong>Server</strong> enter one of the proxies you have purchased from us. Under <strong>Port</strong> add <code>60000</code> if you are using username:password authentication method, and <code>65432</code> if you are using whitelisted IPs.</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-8084" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-SwitchyOmega4.jpg" alt="OxyLabs SwitchyOmega4" width="793" height="177" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-SwitchyOmega4.jpg 856w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-SwitchyOmega4-300x67.jpg 300w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-SwitchyOmega4-768x171.jpg 768w" sizes="(max-width: 793px) 100vw, 793px" /></p>
<ul>
<li>Next, click the lock button on the right. Fill in your <strong>Username</strong> and <strong>Password</strong>. Click <strong>Save changes</strong>.</li>
</ul>
<p>If you have whitelisted your IP, you don't need to do this step at all.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8085" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-SwitchyOmega5.jpg" alt="OxyLabs SwitchyOmega5" width="297" height="230" /></p>
<ul>
<li>Click <strong>Apply changes</strong></li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8086" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-SwitchyOmega6.jpg" alt="OxyLabs SwitchyOmega6" width="378" height="380" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-SwitchyOmega6.jpg 378w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-SwitchyOmega6-298x300.jpg 298w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-SwitchyOmega6-150x150.jpg 150w" sizes="(max-width: 378px) 100vw, 378px" /></p>
<ul>
<li>For the final step, click on SwitchyOmega icon and choose your newly configured proxy. You are now ready to go!</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8087" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-SwitchyOmega7.png" alt="OxyLabs SwitchyOmega7" width="198" height="255" /></p>
<hr />
<h3 id="foxyproxy">FoxyProxy</h3>
<p>FoxyProxy is a simple proxy manager that works with many popular browsers. First, you will need to get FoxyProxy. For Chrome, click <a class="custom_link" href="https://chrome.google.com/webstore/detail/foxyproxy-standard/gcknhkkoolaabfmlnjonogaaifnjlfnp?hl=en" target="_blank" rel="nofollow noopener">here</a>, for Firefox click <a class="custom_link" href="https://addons.mozilla.org/en-US/firefox/addon/foxyproxy-standard/" target="_blank" rel="nofollow noopener">here</a>. Once you have it installed, you should:</p>
<ul>
<li>Open FoxyProxy Options.</li>
<li>Click <strong>Add</strong>.</li>
<li>In <strong>IP address, DNS name, server name</strong> fields enter one of the proxies.</li>
<li>In <strong>Port</strong> field enter port. If you use user/pass authentication port is <code>60000</code>. If you have whitelisted your IP the port is <code>65432</code>.</li>
<li>In <strong>Username (optional)</strong> field you should enter your username. If you have whitelisted your IP, leave this field blank as the plugin will authorize through it and ignore everything you write in this field.</li>
<li>In <strong>Password (Optional)</strong> field you should enter your password. If you have whitelisted your IP and wish to authorise through it, leave this field blank.</li>
<li>After filling in all fields press <strong>Save</strong>.</li>
<li>In order to get all of your requests running through this setup, you must press on the FoxyProxy plugin icon (1) and click on <em>Use proxy Proxy for all URLs (ignore patterns)</em> (2).</li>
</ul>
<p>(1)</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8089" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-FoxyProxy1.jpg" alt="OxyLabs FoxyProxy1" width="421" height="326" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-FoxyProxy1.jpg 421w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-FoxyProxy1-300x232.jpg 300w" sizes="(max-width: 421px) 100vw, 421px" /></p>
<p>(2)</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-8090" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-FoxyProxy2.png" alt="OxyLabs FoxyProxy2" width="851" height="436" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-FoxyProxy2.png 955w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-FoxyProxy2-300x154.png 300w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-FoxyProxy2-768x393.png 768w" sizes="(max-width: 851px) 100vw, 851px" /></p>
<ul>
<li>That is it, you are done!</li>
</ul>
<hr />
<h3 id="proxifier">Proxifier</h3>
<p>To use Datacenter Proxies with Proxfier, simply follow these steps:</p>
<ul>
<li>Open Proxifier app.</li>
<li>Add proxies. Click on <strong>Proxies (1)</strong>. Click <strong>Add(2)</strong>.</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8091" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Proxifier1.png" alt="OxyLabs Proxifier1" width="592" height="500" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Proxifier1.png 592w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Proxifier1-300x253.png 300w" sizes="(max-width: 592px) 100vw, 592px" /></p>
<ul>
<li>In the following window, enter the required information. <strong>IP Address(1)</strong>, <strong>Port(2)</strong> which for the username/pass authentication is <code>60000</code> and for whitelisted IP authentication &#8211; <code>65432</code> , select <strong>HTTPS(3)</strong> protocol. In the authentication box click <strong>Enable(4)</strong> and enter provided <strong>Username(5)</strong> and <strong>Password(6)</strong>.</li>
</ul>
<p>Do not forget to add <code>customer-</code> at the beginning of the username. If you have whitelisted your devices, do not click on <strong>Enable</strong>, your authenticiation will be done without username/password. If you wish, you can enable <strong>Appear as Web Browser</strong> option. Click <strong>OK</strong>.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8092" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Proxifier2.png" alt="OxyLabs Proxifier2" width="468" height="510" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Proxifier2.png 468w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Proxifier2-275x300.png 275w" sizes="(max-width: 468px) 100vw, 468px" /></p>
<ul>
<li>You will be asked <strong>Do you want Proxifier to use this proxy by default</strong>? This means that this setup will be used for all of your browsers. It is up to you to decide whether you want that or not. If you select <strong>Yes</strong>, you are done setting up. If you wish to use proxies just on a particular browser, follow these next steps.</li>
<li>Click on <strong>Rules(1)</strong> and then click <strong>Add&#8230;(2)</strong>.</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8093" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Proxifier3.png" alt="OxyLabs Proxifier3" width="846" height="461" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Proxifier3.png 846w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Proxifier3-300x163.png 300w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Proxifier3-768x418.png 768w" sizes="(max-width: 846px) 100vw, 846px" /></p>
<ul>
<li>Click <strong>+(1)</strong> button to add applications that you want to use the proxy settings with. Select a browser that you want to use these proxy settings with and click on it. Finally, you have to change <strong>Action(2)</strong>. Click on it and select your created proxy.</li>
</ul>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8094" src="https://www.proxysp.com/wp-content/uploads/2021/09/OxyLabs-Proxifier4.png" alt="OxyLabs Proxifier4" width="527" height="543" srcset="https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Proxifier4.png 527w, https://proxysp.com/wp-content/uploads/2021/09/OxyLabs-Proxifier4-291x300.png 291w" sizes="(max-width: 527px) 100vw, 527px" /></p>
<ul>
<li>That is it. Now all of your requests (while using a browser) will be made via proxies.</li>
</ul>
<hr />
<h4>References</h4>
<p><a href="https://docs.oxylabs.io/dc/index.html#quick-start" target="_blank" rel="nofollow noopener">https://docs.oxylabs.io/dc/index.html</a></p>
<hr />
<p>&nbsp;</p>
<blockquote><p><strong>Disclaimer</strong>: This part of the content is mainly from the merchant. If the merchant does not want it to be displayed on my website, please <a href="https://www.proxysp.com/contact-us/">contact us</a> to delete your content.</p></blockquote>
<p>&nbsp;</p>
<pre></pre>
]]></content:encoded>
					
					<wfw:commentRss>https://proxysp.com/oxylabs-datacenter-proxies/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7589</post-id>	</item>
		<item>
		<title>IP Proxy Market Report (2019 &#8211; 2025)</title>
		<link>https://proxysp.com/ip-proxy-networks-market/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ip-proxy-networks-market</link>
					<comments>https://proxysp.com/ip-proxy-networks-market/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
				<category><![CDATA[Best Picks]]></category>
		<category><![CDATA[Proxy Server 101 - Proxy Knowledge Base]]></category>
		<guid isPermaLink="false">https://www.proxysp.com/?p=7514</guid>

					<description><![CDATA[This global IPPN market study includes revenues from residential IP proxy networks, data center IP proxy networks, and mobile IP proxy networks. Use cases include: price &#8230;<p class="read-more"> <a class="ast-button" href="https://proxysp.com/ip-proxy-networks-market/"> <span class="screen-reader-text">IP Proxy Market Report (2019 &#8211; 2025)</span> Read More &#187;</a></p>]]></description>
										<content:encoded><![CDATA[<blockquote><p><em>This global IPPN market study includes revenues from residential IP proxy networks, data center IP proxy networks, and mobile IP proxy networks. </em><em>Use cases include: price comparison, ad verification, data collection, fraud protection, application performance, brand protection, talent sourcing, cyber security, and account management.</em></p></blockquote>
	<div id="buttons" class="bpdf_wrapper" style="margin-bottom:10px;">
	

	
		<a href="https://proxysp.com/wp-content/plugins/pdf-poster/pdfjs/web/viewer.php?file=https://www.proxysp.com/wp-content/uploads/2021/09/Proxy-Networks-Market.pdf&download=true&print=true&openfile=false"><button>View Fullscreen</button></a><br /><iframe loading="lazy" width="100%" height="800" src="https://proxysp.com/wp-content/plugins/pdf-poster/pdfjs/web/viewer.php?file=https://www.proxysp.com/wp-content/uploads/2021/09/Proxy-Networks-Market.pdf&download=true&print=true&openfile=false"></iframe>

	</div>


<div class="su-note"  style="border-color:#e5cd4c;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;"><div class="su-note-inner su-u-clearfix su-u-trim" style="background-color:#ffe766;border-color:#ffffff;color:#333333;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;">
<blockquote><p><strong>Disclaimer</strong>: This Market Report Published on https://luminati.io/static/IPPN-analysis-2019.pdf, Because this PDF has been fully public for several years, we thought it wouldn't hurt anyone to reprint it, if there is any copyright problem please <a href="https://www.proxysp.com/contact-us/" target="_blank" rel="nofollow noopener">Contact Us</a> or email to proxysp.com@gmail.com.</p></blockquote>
</div></div>
<h2>Executive Summary</h2>
<h3>Key Findings</h3>
<ul>
<li>Websites increasingly change their displayed information based on user IP address, location, and demographic attributes. This creates a need for companies to do competitor analysis, price comparisons, and data extraction as a simulated user to capture this customized information. Companies not familiar with these website practices or Internet Protocol proxy network (IPPN) solutions are at risk of gathering incorrect data and left behind technology-wise.</li>
<li>Frost & Sullivan estimates the Total Addressable Market (TAM) for IPPNs in 2018 to be $951.0 million, the Service Available Market (SAM) to be $358.9 million, and the Service Obtainable Market (SOM) to be $76.3 million. $76.3 million is the combined revenue from market participants in 2018. This IPPN market is forecasted to grow at a CAGR of 16.8% and reach $259.7 million by 2025.</li>
<li>This global IPPN market study includes revenues from <a href="https://www.proxysp.com/residential-proxies/" target="_blank" rel="noopener">residential IP proxy</a> networks, <a href="https://www.proxysp.com/private-proxies/" target="_blank" rel="noopener">datacenter IP proxy</a> networks, and mobile IP proxy networks. Use cases include: price comparison, ad verification, data collection, fraud protection, application performance, brand protection, talent sourcing, cyber security, and account management.</li>
<li>EMEA makes up 39.5% of revenues for the IPPN market in 2018, followed by NALA at 35.4%, and APAC at 27.7%. By 2025, NALA‟s 37.9% market share overtakes EMEA‟s 34.4% of IPPN market. Thanks to demographic trends and an increasing number of its residents developing online presences, APAC has fastest overall CAGR at 18.7% growing to a 27.7% market share by 2025.</li>
<li>Market leader Luminati, which practically invented the category, and competitors Oxylabs and GeoSurf, make up 77.0% of the global IPPN market in 2018 with significant potential to grow as IPPN solutions become more well-known.</li>
</ul>
<hr />
<h3>IPPN TAM, SAM, and SOM</h3>
<blockquote><p>Key Takeaway: With a 2018 SOM of $76.3 M obtained by the Frost & Sullivan forecasting method, coupled with a SAM of $358.9 M and a TAM of $951.0 M, the IPPN market is still in its early phases with tremendous potential for growth as more enterprises become aware of its advantages.</p></blockquote>
<pre style="text-align: center;">Total IPPN Market: TAM, SAM, and SOM, Global, 2018</pre>
<ul>
<li><strong><img loading="lazy" decoding="async" class="size-medium wp-image-7523 alignright" src="https://www.proxysp.com/wp-content/uploads/2021/09/IPPN-TAM-SAM-and-SOM-300x286.png" alt="IPPN TAM, SAM, and SOM" width="300" height="286" srcset="https://proxysp.com/wp-content/uploads/2021/09/IPPN-TAM-SAM-and-SOM-300x286.png 300w, https://proxysp.com/wp-content/uploads/2021/09/IPPN-TAM-SAM-and-SOM.png 527w" sizes="(max-width: 300px) 100vw, 300px" />IPPN Total Addressable Market (TAM)</strong><br />
Number of companies, globally, applicable to market use cases multiplied by average selling price (ASP).</li>
<li><strong>IPPN Service Available Market (SAM)</strong><br />
In-House IPPN Use based on data center IP address allocation combined with revenue from dedicated solution providers.</li>
<li><strong>IPPN Service Obtainable Market (SOM)</strong><br />
Revenue from dedicated IPPN solution providers, such as Luminati, Oxylabs, and GeoSurf.</li>
</ul>
<hr />
<h3>Market Engineering Measurements</h3>
<pre style="text-align: center;"><strong>Total IPPN Market: Market Engineering Measurements, Global, 2018</strong></pre>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-7525 size-full" src="https://www.proxysp.com/wp-content/uploads/2021/09/IPPN-Market-Overview.png" alt="IPPN Market Overview" width="1111" height="578" srcset="https://proxysp.com/wp-content/uploads/2021/09/IPPN-Market-Overview.png 1111w, https://proxysp.com/wp-content/uploads/2021/09/IPPN-Market-Overview-300x156.png 300w, https://proxysp.com/wp-content/uploads/2021/09/IPPN-Market-Overview-1024x533.png 1024w, https://proxysp.com/wp-content/uploads/2021/09/IPPN-Market-Overview-768x400.png 768w" sizes="(max-width: 1111px) 100vw, 1111px" /></p>
<h3></h3>
<hr />
<h3>IPPN Market Opportunity</h3>
<p>&nbsp;</p>
<blockquote><p>Key Takeaway: Though Frost & Sullivan forecasts a market size of $259.7 M by 2025, there is an opportunity to convert existing home grown IPPN solutions. Assuming IPPN vendors convert 80% of home grown IPPN solutions by 2025 via accelerated marketing and consumer education, that increases the expected market to $341.7 M. This achieves a third of the Total Addressable Market in the first 10 years of IPPN existence.</p></blockquote>
<pre style="text-align: center;"><strong>Total IPPN Market: Revenue Opportunity, Global, 2018–2025 CAGR, 2019–2025 = 16.8% (SOM) / 20.1% (SAM)</strong></pre>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-7658 size-full" src="https://www.proxysp.com/wp-content/uploads/2021/09/IPPN-Market-Opportunity.png" alt="IPPN Market Opportunity" width="1087" height="470" srcset="https://proxysp.com/wp-content/uploads/2021/09/IPPN-Market-Opportunity.png 1087w, https://proxysp.com/wp-content/uploads/2021/09/IPPN-Market-Opportunity-300x130.png 300w, https://proxysp.com/wp-content/uploads/2021/09/IPPN-Market-Opportunity-1024x443.png 1024w, https://proxysp.com/wp-content/uploads/2021/09/IPPN-Market-Opportunity-768x332.png 768w" sizes="(max-width: 1087px) 100vw, 1087px" /></p>
<hr />
<h3>CEO’s Perspective</h3>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-7657 size-full" src="https://www.proxysp.com/wp-content/uploads/2021/09/CEOs-Perspective.png" alt="CEO’s Perspective" width="1091" height="629" srcset="https://proxysp.com/wp-content/uploads/2021/09/CEOs-Perspective.png 1091w, https://proxysp.com/wp-content/uploads/2021/09/CEOs-Perspective-300x173.png 300w, https://proxysp.com/wp-content/uploads/2021/09/CEOs-Perspective-1024x590.png 1024w, https://proxysp.com/wp-content/uploads/2021/09/CEOs-Perspective-768x443.png 768w" sizes="(max-width: 1091px) 100vw, 1091px" /></p>
<hr />
<h2>Market Overview</h2>
<h3>Market Definitions</h3>
<ul>
<li style="list-style-type: none;">
<ul>
<li>Frost & Sullivan defines Internet Protocol (IP) proxy network (IPPN) providers as companies that offer products that place an extra IP address from a rotating pool of addresses between a customer and any website they visit on the public internet. Instead of getting data directly from a website, an IPPN customer‟s request first passes through a separate device, a proxy server, before going to and receiving a response from the target website</li>
<li>From the target website‟s perspective, no information about the original machine is sent. Only the proxy device‟s IP address gets transmitted. As many websites place limits on the amount of information sent to any one IP address, gathering additional, openly available data from any one website often involves using proxy servers to make it appear as if the requests come from different users, thus requiring the need to a rotating pool of IP addresses to be used by proxy servers.</li>
<li>The rotating pool of IP addresses derive from proxy software installed on residential users computers and mobile devices, while data centers use dedicated proxy servers. Based on the IP address it receives, a target website can distinguish whether a request comes from a residence, mobile device, or data center and display different information accordingly based on location and demographic attributes. Companies tailoring information based on such attributes led to competitors needing IPPNs to simulate being actual customers.</li>
<li>Proxy servers are intermediaries between devices requesting information from other servers. While proxy servers have many purposes, such as anonymizing identities, filtering information, getting around filters, and improving information retrieval performance.<a href="https://www.proxysp.com/backconnect-proxies/" target="_blank" rel="noopener"> Rotating IP proxy servers</a> tend to be used by companies to simulate actual customers in different locations and to collect data, also known as <a href="https://www.zyte.com/learn/what-is-web-scraping/" target="_blank" rel="noopener nofollow">web scraping</a>. Ever since the commercialization of the web, companies developed increasingly better ways to target consumers via advertising and marketing to the point of adjusting pricing on a location or even per customer basis.</li>
<li>As companies put more of their product information online, this customer targeting made it very difficult for competitors and customers to monitor and/or compare pricing and product availability that can vary so much because of targeting. Websites today recognize customers to show different advertising, content, and pricing based on location and other identifiable information. Companies further evolved to prevent competitors from accessing their data via blocking their company‟s entire range of IP addresses. This prevents companies from comparing pricing, security companies from conducing audits for or detecting malware on malicious sites, and even website owners themselves from verifying their advertising is safe and being delivered properly from their ad vendors.</li>
<li>Practically all IP proxy network solution providers highlight their network size by publishing the node counts for residential/mobile/data center networks and the number of geographic regions served. IP proxy networks depend on users to install software on their devices, computers or handsets, to become the nodes used in IP proxy networks. This software, often games, uses idle bandwidth and computation resources in exchange for a better use experience, such as removing advertising.</li>
<li>It is highly improbable that for any given market participant that all possible devices with IP proxy network software are on, idle, and online at any given time to provide bandwidth or computation time, so published network sizes are maximum possible values, not generally available values, i.e. devices on, idle, and online over a 24 hour period. At any one given time, 5% to 10% of devices are available on any given peer-to-peer based IP proxy network. The more static IPs on idle devices, such as PCs not being used, the higher the available devices versus mobile devices, which are generally less idle.</li>
<li>To determine a metric more applicable to potential customers, i,e, generally available IP proxy network sizes, Frost & Sullivan ran scripts to count available IP addresses for different market<br />
participants over different 24 hour periods. For each participant we noted: 1) published maximum IP proxy network size; and 2) generally available IP proxy network size. The actual network size will vary constantly based on devices being on, idle, and online on each network.</li>
<li>The Total Available Market (TAM) for IPPNs is the sum spent by enterprises on all use cases: account management, ad verification, application performance, brand protection, cyber security, data collection, fraud protection, price comparison, and talent sourcing. Many of these enterprises are unaware that IPPN solutions exist and would be entirely new customers.<img loading="lazy" decoding="async" class="size-full wp-image-7808 alignright" src="https://www.proxysp.com/wp-content/uploads/2021/09/Market-Definitions-TAM-SAM-and-SOM.png" alt="Market Definitions TAM, SAM, and SOM" width="254" height="248" /></li>
<li>The Serviceable Available Market (SAM) for IPPNs is the sum spent by enterprises aware of proxies and currently programming their own proxy solutions in-house, primarily using data center IP addresses or using 3rd party solutions. Many of these enterprises are unaware of IP proxies using mobile or residential IP addresses and would be converts from in-house to 3rd party solutions.</li>
</ul>
</li>
<li>The Serviceable Obtainable Market (SOM) for IPPNs is sum spent by enterprises on existing 3rd party IPPN solutions, including residential, mobile, and data center IP proxy networks. This SOM portion of the market is what IPPN market participants Luminati, Oxylabs, GeoSurf, Scrapinghub (Crawlera), LimeProxies, Smartproxy, Storm Proxies, NetNut, and Microleaves among others, sell to enterprise users.</li>
</ul>
<hr />
<h3>Market Overview – Scope and Regions</h3>
<div class="su-table su-table-responsive su-table-alternate">
<table width="1026">
<tbody>
<tr>
<td style="font-weight: 400;" width="513">Geographic coverage</td>
<td style="font-weight: 400;" width="513">Global</td>
</tr>
<tr>
<td style="font-weight: 400;" width="513">Study period</td>
<td style="font-weight: 400;" width="513">2017–2024</td>
</tr>
<tr>
<td style="font-weight: 400;" width="513">Base year</td>
<td style="font-weight: 400;" width="513">2018</td>
</tr>
<tr>
<td style="font-weight: 400;" width="513">Forecast period</td>
<td style="font-weight: 400;" width="513">2019–2024</td>
</tr>
<tr>
<td style="font-weight: 400;" width="513">Monetary unit</td>
<td style="font-weight: 400;" width="513">US Dollars</td>
</tr>
<tr>
<td style="font-weight: 400;" width="513">Conversion rates</td>
<td style="font-weight: 400;" width="513">€1.00 = $1.20</td>
</tr>
</tbody>
</table>
</div>
<p>Revenue: Market size is in terms of vendor revenue in US dollars. Only product revenue accrued directly by the vendor is considered, including any built-in revenue for proxy operations maintenance. Reporting and estimates are for calendar years, not fiscal years.<br />
Regional segmentation is as follows:<br />
• <strong>North America and Latin America (NALA):</strong> Covering the continents of North America and South America, also referred to as Latin America.<br />
• <strong>Europe, Middle East, and Africa (EMEA):</strong> Covering Western Europe, Central and Eastern Europe (including Russia), the Middle East, and Africa. India is not included in this region, although several vendors consider India within their EMEA business division.<br />
• <strong>Asia-Pacific (APAC):</strong> Covering the Asian continent and Southeast Asian nations, including Australia and New Zealand.</p>
<hr />
<h3>IPPN Use Cases</h3>
<p>Unlike static pages served in the early days of the web, modern websites are able to recognize viewers and display content, advertising, and pricing according to demographic and geographic<br />
information. Websites are also able to block ranges of IP addresses to prevent competitors from comparing prices or conducting security audits and advertising checks. For these reasons, IP proxy networks are used for the following use cases, information publicly available to average consumers:</p>
<ul>
<li><strong>Price comparison</strong> – comparing prices from different user perspectives, often for travel and niche products.</li>
<li><strong>Ad verification</strong> – ensuring website ads are properly targeted to their intended audience, that ad links function properly, and that the ad environment is security and/or regulatory compliant.</li>
<li><strong>Data collection</strong> – gathering data from websites to generate new data sets for internal use or sale.</li>
<li><strong>Fraud protection</strong> – identifying and/or detecting known proxies to prevent nefarious proxy use against companies.</li>
<li><strong>Application performance</strong> – testing web application loading and responsiveness across regions.</li>
<li><strong>Brand protection</strong> – preventing IP theft by disguising corporate networks when doing competitive analysis.</li>
<li><strong>Talent sourcing</strong> – researching job market needs and staffing requirements.</li>
<li><strong>Cyber security</strong> – adding an extra layer of protection between the Internet and corporate networks.</li>
<li><strong>Account management</strong> – creating and modifying accounts across social media and account-based websites.</li>
</ul>
<p>These use cases can distributed among residential, mobile, and data center proxy networks, depending on the techniques used by the target website to block visitors.</p>
<hr />
<h3>Key Questions This Study Will Answer</h3>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-7655 size-full" src="https://www.proxysp.com/wp-content/uploads/2021/09/Key-Questions-This-Study-Will-Answer.png" alt="Key Questions This Study Will Answer" width="1048" height="613" srcset="https://proxysp.com/wp-content/uploads/2021/09/Key-Questions-This-Study-Will-Answer.png 1048w, https://proxysp.com/wp-content/uploads/2021/09/Key-Questions-This-Study-Will-Answer-300x175.png 300w, https://proxysp.com/wp-content/uploads/2021/09/Key-Questions-This-Study-Will-Answer-1024x599.png 1024w, https://proxysp.com/wp-content/uploads/2021/09/Key-Questions-This-Study-Will-Answer-768x449.png 768w" sizes="(max-width: 1048px) 100vw, 1048px" /></p>
<hr />
<h2>Drivers and Restraints – Total IPPN Market</h2>
<h3>Market Drivers</h3>
<pre style="text-align: center;"><strong>Total IPPN Market: Key Market Drivers, Global, 2018–2024</strong></pre>
<div class="su-table su-table-responsive su-table-alternate">
<table width="866">
<tbody>
<tr>
<td style="font-weight: 400;" width="548"><strong>Drivers</strong></td>
<td style="font-weight: 400; text-align: center;" width="106"><strong>1–2 Years</strong></td>
<td style="font-weight: 400; text-align: center;" width="106"><strong>3–4 Years</strong></td>
<td style="font-weight: 400; text-align: center;" width="106"><strong>5–6 Years</strong></td>
</tr>
<tr>
<td style="font-weight: 400;" width="548">Companies doing competitive analysis need to view websites as customers from different regions due to increased profiling and blocking from target websites.</td>
<td style="font-weight: 400; text-align: center;" width="106">H</td>
<td style="font-weight: 400; text-align: center;" width="106">H</td>
<td style="font-weight: 400; text-align: center;" width="106">H</td>
</tr>
<tr>
<td style="font-weight: 400;" width="548">Gathering data programmatically from websites, such as email addresses, real estate listings, and sports information, for analysis or for sale.</td>
<td style="font-weight: 400; text-align: center;" width="106">M</td>
<td style="font-weight: 400; text-align: center;" width="106">M</td>
<td style="font-weight: 400; text-align: center;" width="106">M</td>
</tr>
<tr>
<td style="font-weight: 400;" width="548">Growing concern over nefarious advertising practices and fraud detection lead to greater need for ad verification.</td>
<td style="font-weight: 400; text-align: center;" width="106">M</td>
<td style="font-weight: 400; text-align: center;" width="106">M</td>
<td style="font-weight: 400; text-align: center;" width="106">M</td>
</tr>
<tr>
<td style="font-weight: 400;" width="548">Increasing awareness of IPPN use cases will grow the total market as potential customers look for solutions for brand protection, cyber security, etc. at potentially lower cost than in-house solutions.</td>
<td style="font-weight: 400; text-align: center;" width="106">M</td>
<td style="font-weight: 400; text-align: center;" width="106">M</td>
<td style="font-weight: 400; text-align: center;" width="106">M</td>
</tr>
<tr>
<td style="font-weight: 400;" width="548"><a href="https://www.proxysp.com/social/" target="_blank" rel="noopener">Social media account creation</a> and maintenance need more automated tools as they provide increasingly desired direct communication between public figures, products, and events and their followers.</td>
<td style="font-weight: 400; text-align: center;" width="106">M</td>
<td style="font-weight: 400; text-align: center;" width="106">M</td>
<td style="font-weight: 400; text-align: center;" width="106">L</td>
</tr>
<tr>
<td style="font-weight: 400;" width="548">News of and competition from region-specific products, such as smartphones, and increasing globalization increase the need for location-based customer simulated competitive analysis.</td>
<td style="font-weight: 400; text-align: center;" width="106">M</td>
<td style="font-weight: 400; text-align: center;" width="106">M</td>
<td style="font-weight: 400; text-align: center;" width="106">L</td>
</tr>
</tbody>
</table>
</div>
<p>Impact ratings: H = High, M = Medium, L = Low</p>
<hr />
<h3>Drivers Explained</h3>
<p><strong>Companies doing competitive analysis need to view websites as customers from different regions due to increased profiling and blocking from target websites.</strong><br />
• The primary motivation for IP proxy networks is companies needing to see competitor websites as a typical customer sees them. Companies target consumers via advertising<br />
and marketing to the point of adjusting pricing on a location or even per customer basis. This customer targeting makes it difficult for competitors to monitor and/or compare pricing and product availability without using IPPNs. Companies also increasingly block access to their websites from known ranges of their competitor IP addresses, making it difficult to do online competitive analysis without some form of proxy server.</p>
<p><strong>Gathering data programmatically from websites, such as email addresses, real estate listings, and sports information, for analysis or for sale.</strong><br />
• The proliferation of available data on the Internet has led to automated gathering of information from websites, often called web scraping, indexing, crawling, or spidering. These automated scripts, or “bots,” generate just over 40% of Internet traffic in 2018 according to Distil Networks and this percentage is growing. Such scripts can be used to build new databases for analysis or to create new information services for sale. This type of automated data collection is how much of the Internet functions, from indexing websites for search engines to generating lists of available movie times to gathering weather forecast data.</p>
<p><strong>Growing concern over nefarious advertising practices and fraud detection lead to greater need for ad verification.</strong><br />
• The billions of dollars generated by Internet marketing coupled with the automated nature of digital advertising leads to significant potential for advertising fraud. Malware infected browsers can give the false impression of web traffic and divert advertisements from ad servers. Plus, such mis-targeted advertising can cause brand harm if ads are not consistent with a company‟s message or values. By simulating residential or mobile IP addresses, IPPNs enable companies to see how advertisements appear to actual customers in different regions, verifying the appropriate, brand-confirmed ads, ads are being displayed.</p>
<p><strong>Social media account creation and maintenance need more automated tools as they provide increasingly desired direct communication between public figures, products, and events and their followers.</strong><br />
• The increasing use of social media for person, product, and/or event promotion demands more tools to automate account management (creation and maintenance) in all the regions they are needed. This allows companies to maintain a global presence from centralized locations. Note: there is potential to use IPPNs to create artificial social media accounts, but IPPN vendors with strong know-your-customer guidelines and strict logging procedures limit this tactic.</p>
<p><strong>News of and competition from region-specific products, such as smartphones, and growing globalization, increase the need for location-based customer simulated competitive analysis.</strong><br />
• Companies previously only had to deal with products in their home markets, however increasing global product news and awareness require companies perform competitive analysis across multiple regions. Better customer profiling and more customized manufacturing has lead to more targeted products being marketed to consumers. Discussion of such products across social media and online forums creates greater demand for companies to track all these niche products.</p>
<p><strong>Increasing awareness of IPPN use cases will grow the total market as potential customers look for solutions for brand protection, cyber security, etc. at potentially lower cost than in-house solutions.</strong><br />
• Nascent markets grow as public awareness grows via advertising, news, social media, word of mouth, etc. As the IPPN market is only a few years old, smaller use cases will gradually expand the market as more customers share their stories, publish case studies, and demonstrate the usefulness to other customers. Though many customers choose to remain anonymous, sharing the process of how each use case improved their business helps grow the market. IPPN vendor marketing, technical support, and potentially lower costs also encourages companies to migrate in-house IPPN tools to dedicated IPPN solutions or start with dedicated tools in the first place.</p>
<hr />
<h3>Market Restraints</h3>
<pre style="text-align: center;"><strong>Total IPPN Market: Key Market Restraints, Global, 2018–2024</strong></pre>
<div class="su-table su-table-responsive su-table-alternate">
<table width="840">
<tbody>
<tr>
<td style="font-weight: 400;" width="522">Restraints</td>
<td style="font-weight: 400; text-align: center;" width="106"><strong>1–2 Years</strong></td>
<td style="font-weight: 400; text-align: center;" width="106"><strong>3–4 Years</strong></td>
<td style="font-weight: 400; text-align: center;" width="106"><strong>5–6 Years</strong></td>
</tr>
<tr>
<td style="font-weight: 400;" width="522">User concerns over installing any software that uses idle bandwidth and computing resources limit residential IP network growth, despite user experience improvements.</td>
<td style="font-weight: 400; text-align: center;" width="106">H</td>
<td style="font-weight: 400; text-align: center;" width="106">M</td>
<td style="font-weight: 400; text-align: center;" width="106">M</td>
</tr>
<tr>
<td style="font-weight: 400;" width="522">Price comparison sites and product shopping tools limit smaller IPPN use cases, while enterprises who want to control their technology develop home grown IPPNs.</td>
<td style="font-weight: 400; text-align: center;" width="106">H</td>
<td style="font-weight: 400; text-align: center;" width="106">H</td>
<td style="font-weight: 400; text-align: center;" width="106">L</td>
</tr>
<tr>
<td style="font-weight: 400;" width="522">Companies use artificial intelligence and/or machine learning to detect and block IP proxy network software.</td>
<td style="font-weight: 400; text-align: center;" width="106">M</td>
<td style="font-weight: 400; text-align: center;" width="106">M</td>
<td style="font-weight: 400; text-align: center;" width="106">M</td>
</tr>
<tr>
<td style="font-weight: 400;" width="522">Spurred by data breaches, privacy concerns, and social media regulations, countries enacted laws to limit companies posing as customers via IPPNs.</td>
<td style="font-weight: 400; text-align: center;" width="106">M</td>
<td style="font-weight: 400; text-align: center;" width="106">M</td>
<td style="font-weight: 400; text-align: center;" width="106">L</td>
</tr>
<tr>
<td style="font-weight: 400;" width="522">Difficulty in differentiating IPPN vendors and separating fact from fiction in reviews and online discussions, plus pending legal battles concern potential customers.</td>
<td style="font-weight: 400; text-align: center;" width="106">M</td>
<td style="font-weight: 400; text-align: center;" width="106">M</td>
<td style="font-weight: 400; text-align: center;" width="106">L</td>
</tr>
<tr>
<td style="font-weight: 400;" width="522">Limited awareness of IPPN use cases hinders overall market growth.</td>
<td style="font-weight: 400; text-align: center;" width="106">M</td>
<td style="font-weight: 400; text-align: center;" width="106">L</td>
<td style="font-weight: 400; text-align: center;" width="106">L</td>
</tr>
</tbody>
</table>
</div>
<p>Impact ratings: H = High, M = Medium, L = Low</p>
<hr />
<h3>Restraints Explained</h3>
<p><strong>User concerns over installing any software from less well-known sources or that uses idle bandwidth and computing resources, despite improving user experience.</strong><br />
• Consumers increasingly receive news of data breaches and privacy mishandlings leading to caution over installing any software from less well-known sources. By using software development kits (<a href="https://whatis.techtarget.com/definition/software-developers-kit-SDK" target="_blank" rel="noopener nofollow">SDKs</a>), IPPNs allow potentially any application to supply bandwidth and computation time in exchange for a better user experience, such as removing advertising. While consumers generally opt-in to using applications with IPPN SDKs and use the software more, installing less software overall diminishes the available pool of IP addresses gained by these installations, potentially making IPPNs less effective over time.</p>
<p><strong>Price comparison sites and product shopping tools limit smaller IPPN use cases, while enterprises who want to control their technology develop home grown IPPNs.</strong><br />
• Dedicated price comparison tools can be sufficient for smaller businesses and product shopping tools like specialized shoe shopping apps limit the need for some niche price comparisons. While these tools also use IPPNs, they limit sales to potential customers who might otherwise purchase dedicated IPPNs services. Though most companies prefer IPPN vendor expertise, some business wanting to control their information flow can deploy their own proxy networks to avoid using 3rd parties. Not all companies require millions of rotating IP addresses, just enough IP addresses to accomplish their competitive analysis tasks.</p>
<p><strong>Companies use artificial intelligence and/or machine learning to detect and block IP proxy network software.</strong><br />
• Much like the “cat and mouse” process of better user targeting that generated the need for IPPNs, companies have a vested interest in preventing competitive analysis to maintain their perceived advantages. Between artificial intelligence techniques and/or machine learning, companies are researching ways to detect and prevent IPPN usage, with or without regulations being put in place to identify web traffic routed through them. Even without known proxy IP lists, similar to known virtual private network IP lists, companies are investigating ways of blocking IPPNs, which diminishes their usefulness.</p>
<p><strong>Spurred by data breaches, privacy concerns, and social media regulations, countries enacted laws to limit companies posing as customers via IPPNs.</strong><br />
• While it is nearly impossible to ban or block the exit nodes of IP proxy networks, governments could ban the practice of using IPPNs for intended use cases, similar to how Russia ordered virtual private networks (VPNs) to block access to sites in its centralized database, the European Union enacted privacy laws, or how Facebook is requesting social media regulation. As legitimate IPPNs keep log files, there is less incentive to use them for nefarious purposes, and those IPPNs using strict know your customer (KYC) practices can minimize unintended use and help prevent the need for such regulations.</p>
<p><strong>Difficulty in differentiating IPPN vendors and separating fact from fiction in reviews and online discussions, plus pending legal battles concern potential customers.</strong><br />
• Researching the IPPN market for a preferred vendor yields an assortment of reviews, comparisons, blog posts, online discussions, and news, not all of which are from wellknown sources or verifiable journalists. Each vendor claims thousands to millions of rotating IP addresses, assorted price points, and available locations. Until the market matures with greater coverage by computer industry publications, potential customers find it difficult to choose between vendors. Larger vendors with extensive education materials and documentation help offset this situation. Pending legal battles protecting intellectual property are important to IPPN market development and may influence some customers toward particular vendors.</p>
<p><strong>Limited awareness of IPPN use cases hinders overall market growth.</strong><br />
• While many companies understand the problem of doing competitive analysis, data collection, and other IPPN use cases, widespread awareness of IPPNs is still lacking. Proxy networks are well understood and virtual private networks are gaining in popularity, but IPPNs are still in the early adopter phase among companies who stand to benefit from them. This restraint accounts for not all IPPN vendors having the marketing budgets to promote themselves, through the total market should be helped by larger vendor advertising. This restraint counterbalances the increasing awareness driver.</p>
<hr />
<h2>Forecasts and Trends – Total IPPN Market</h2>
<h3>Forecast Assumptions</h3>
<p>This study derives the size of the global IPPN market bottom-up from vendor revenues, including any built-in revenue for proxy operations maintenance. Projections consider weighted averages of the impacts of drivers and restraints detailed in the previous section and assume that they will remain as forecast. The following factors impact forecast numbers:</p>
<ul>
<li><strong>Currency:</strong> This research service reports market size in US dollars. Actual market revenue will vary with the relative value of the US dollar.</li>
<li><strong>Economy:</strong> Forecasts assume a stable, slowly expanding global economy.</li>
<li><strong>Consumer confidence:</strong> Forecasts assume consumer confidence will remain relatively stable.</li>
<li><strong>Disruptive innovation:</strong> Forecasts assume gradual, incremental improvements across vendors. Any IPPN vendor introducing a disruptive innovation could trigger unforeseen changes in sales, revenues, and market shares.</li>
<li><strong>Exclusions:</strong> These numbers do not include revenue from home-grown IP proxy network solutions.</li>
</ul>
<hr />
<h3>Global IPPN Revenue Forecast</h3>
<blockquote><p>Key Takeaway: Global revenue growth rate increases as companies target consumers more accurately and attempt to prevent competitors from accessing their information as consumers. Growing awareness of the IPPN market encourages companies to migrate from in-house solutions.</p></blockquote>
<pre style="text-align: center;"><strong>Total RPN Market: Revenue Forecast, Global, 2018–2025 CAGR, 2019–2025 = 16.8%</strong></pre>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-7672 size-full" src="https://www.proxysp.com/wp-content/uploads/2021/09/Global-IPPN-Revenue-Forecast.png" alt="Global IPPN Revenue Forecast" width="1067" height="458" srcset="https://proxysp.com/wp-content/uploads/2021/09/Global-IPPN-Revenue-Forecast.png 1067w, https://proxysp.com/wp-content/uploads/2021/09/Global-IPPN-Revenue-Forecast-300x129.png 300w, https://proxysp.com/wp-content/uploads/2021/09/Global-IPPN-Revenue-Forecast-1024x440.png 1024w, https://proxysp.com/wp-content/uploads/2021/09/Global-IPPN-Revenue-Forecast-768x330.png 768w" sizes="(max-width: 1067px) 100vw, 1067px" /></p>
<hr />
<h3>Global Revenue Forecast Discussion</h3>
<ul>
<li>The global IPPN market grossed $76.3 million in 2018. Frost & Sullivan expects it to grow at a CAGR of 16.8% to $259.7 million by 2025.</li>
<li>The market is led by NALA in the base year, followed closely by EMEA, which will be surpassed by APAC by the end of the forecast. The expected large-scale infrastructure spending will make APAC the fastest-growing region. Regional growth rates and nuances are discussed in the following sections.</li>
<li>Market growth can also be attributed to the rising uptake of ad verification, brand protection, price comparison, fraud protection, data collection, cyber security, and application performance needs globally.</li>
<li>About 70% of the market revenue is expected to come from recurring business and 30% from new customers.</li>
<li>The flexibility offered by residential and mobile IPPNs versus data center IPPNs is an important growth driver. Companies needing both use cases are increasing, and cloud-based solutions enable easy stakeholder collaboration and faster project turnaround.</li>
</ul>
<hr />
<h3>Regional Technology Adoption Cycle</h3>
<pre style="text-align: center;"><strong>Total IPPN Market: Regional Technology Adoption Cycle, Global, 2018</strong></pre>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-7673 size-full" src="https://www.proxysp.com/wp-content/uploads/2021/09/Regional-Technology-Adoption-Cycle.png" alt="Regional Technology Adoption Cycle" width="1077" height="597" srcset="https://proxysp.com/wp-content/uploads/2021/09/Regional-Technology-Adoption-Cycle.png 1077w, https://proxysp.com/wp-content/uploads/2021/09/Regional-Technology-Adoption-Cycle-300x166.png 300w, https://proxysp.com/wp-content/uploads/2021/09/Regional-Technology-Adoption-Cycle-1024x568.png 1024w, https://proxysp.com/wp-content/uploads/2021/09/Regional-Technology-Adoption-Cycle-768x426.png 768w" sizes="(max-width: 1077px) 100vw, 1077px" /></p>
<hr />
<h3>Percent Revenue Forecast by Region</h3>
<blockquote><p>Key Takeaway: In 2018, the EMEA region had the largest revenue share, followed closely by NALA. By 2025, NALA and APAC will increase their market shares at the expense of EMEA.</p></blockquote>
<pre style="text-align: center;">Total RPN Market: Percent Revenue Forecast by Region, Global, 2018 and 2025</pre>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-7687 size-full" src="https://www.proxysp.com/wp-content/uploads/2021/09/percent-revenue-forecast-by-region.png" alt="percent revenue forecast by region" width="1057" height="452" srcset="https://proxysp.com/wp-content/uploads/2021/09/percent-revenue-forecast-by-region.png 1057w, https://proxysp.com/wp-content/uploads/2021/09/percent-revenue-forecast-by-region-300x128.png 300w, https://proxysp.com/wp-content/uploads/2021/09/percent-revenue-forecast-by-region-1024x438.png 1024w, https://proxysp.com/wp-content/uploads/2021/09/percent-revenue-forecast-by-region-768x328.png 768w" sizes="(max-width: 1057px) 100vw, 1057px" /></p>
<hr />
<h3>IPPN Revenue Forecast by Region</h3>
<blockquote><p>Key Takeaway: In 2018, the EMEA region had the largest revenue share, followed closely by NALA. By 2025, NALA and APAC will increase their market shares at the expense of EMEA.</p></blockquote>
<pre style="text-align: center;"><strong>Total IPPN Market: Revenue Forecast by Region, Global, 2018–2025</strong></pre>
<div class="su-table su-table-responsive su-table-alternate">
<table width="668">
<tbody>
<tr>
<td style="font-weight: 400; text-align: center;" width="167"><strong>Year</strong></td>
<td style="font-weight: 400; text-align: center;" width="167"><strong>NALA ($ Million)</strong></td>
<td style="font-weight: 400; text-align: center;" width="167"><strong>EMEA ($ Million)</strong></td>
<td style="font-weight: 400; text-align: center;" width="167"><strong>APAC ($ Million)</strong></td>
</tr>
<tr>
<td style="font-weight: 400; text-align: center;" width="167">2018</td>
<td style="font-weight: 400; text-align: center;" width="167">27</td>
<td style="font-weight: 400; text-align: center;" width="167">30.1</td>
<td style="font-weight: 400; text-align: center;" width="167">19.1</td>
</tr>
<tr>
<td style="font-weight: 400; text-align: center;" width="167">2019</td>
<td style="font-weight: 400; text-align: center;" width="167">36.8</td>
<td style="font-weight: 400; text-align: center;" width="167">39.9</td>
<td style="font-weight: 400; text-align: center;" width="167">25.7</td>
</tr>
<tr>
<td style="font-weight: 400; text-align: center;" width="167">2020</td>
<td style="font-weight: 400; text-align: center;" width="167">46.9</td>
<td style="font-weight: 400; text-align: center;" width="167">49.4</td>
<td style="font-weight: 400; text-align: center;" width="167">32.5</td>
</tr>
<tr>
<td style="font-weight: 400; text-align: center;" width="167">2021</td>
<td style="font-weight: 400; text-align: center;" width="167">57.2</td>
<td style="font-weight: 400; text-align: center;" width="167">58.4</td>
<td style="font-weight: 400; text-align: center;" width="167">39.3</td>
</tr>
<tr>
<td style="font-weight: 400; text-align: center;" width="167">2022</td>
<td style="font-weight: 400; text-align: center;" width="167">67.5</td>
<td style="font-weight: 400; text-align: center;" width="167">67</td>
<td style="font-weight: 400; text-align: center;" width="167">46.5</td>
</tr>
<tr>
<td style="font-weight: 400; text-align: center;" width="167">2023</td>
<td style="font-weight: 400; text-align: center;" width="167">77.9</td>
<td style="font-weight: 400; text-align: center;" width="167">75.1</td>
<td style="font-weight: 400; text-align: center;" width="167">54.3</td>
</tr>
<tr>
<td style="font-weight: 400; text-align: center;" width="167">2024</td>
<td style="font-weight: 400; text-align: center;" width="167">88.1</td>
<td style="font-weight: 400; text-align: center;" width="167">82.6</td>
<td style="font-weight: 400; text-align: center;" width="167">62.7</td>
</tr>
<tr>
<td style="font-weight: 400; text-align: center;" width="167">2025</td>
<td style="font-weight: 400; text-align: center;" width="167">98.3</td>
<td style="font-weight: 400; text-align: center;" width="167">89.4</td>
<td style="font-weight: 400; text-align: center;" width="167">72</td>
</tr>
<tr>
<td style="font-weight: 400; text-align: center;" width="167"><strong>CAGR</strong></td>
<td style="font-weight: 400; text-align: center;" width="167">17.80%</td>
<td style="font-weight: 400; text-align: center;" width="167">14.40%</td>
<td style="font-weight: 400; text-align: center;" width="167">18.70%</td>
</tr>
</tbody>
</table>
</div>
<hr />
<h3>Regional Revenue Forecast Discussion</h3>
<ul>
<li>The market for IPPN solutions grossed revenues of $27.0 million in NALA, $30.1 million in EMEA, and $19.1 million in APAC in 2018.</li>
<li>The IPPN market in NALA is expected to grow at a CAGR of 17.8% to $98.3 million by 2025, going from a 35.4% revenue market share to 37.9%. Frost & Sullivan expects North America, particularly the United States, to undertake more IPPN projects over the forecast period.</li>
<li>The IPPN market in EMEA is expected to grow at a CAGR of 14.4% to $89.4 million by 2025; while the region is still growing, its revenue share over 2018-2025 will decrease from 39.5% to 34.4% as NALA and APAC grow faster. Regional uncertainty over the consequences of Brexit hamper growth of major expenditures which spur the sales of IPPN solutions.</li>
<li>The IPPN market in APAC is expected to grow at a CAGR of 18.7% to $72.0 million by 2025, increasing its revenue share from 25.1% to 27.7%. Expected IPPN spending will make APAC the fastest-growing region as demographic trends and higher economic growth rates along with more repressive Internet policies encourage additional spending.</li>
</ul>
<hr />
<h3>Percent Revenue Forecast by Use Case</h3>
<blockquote><p>Key Takeaway: Price comparison and ad verification are the primary use cases for IPPNs along with data collection showing growth over the forecast, while other use cases remain flat or shrink.</p></blockquote>
<pre style="text-align: center;"><strong>Total RPN Market: Percent Revenue Forecast by Use Case, Global, 2018 and 2025</strong></pre>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-7695 size-full" src="https://www.proxysp.com/wp-content/uploads/2021/09/Percent-Revenue-Forecast-by-Use-Case2018-2025.png" alt="Percent Revenue Forecast by Use Case(2018-2025)" width="1090" height="527" srcset="https://proxysp.com/wp-content/uploads/2021/09/Percent-Revenue-Forecast-by-Use-Case2018-2025.png 1090w, https://proxysp.com/wp-content/uploads/2021/09/Percent-Revenue-Forecast-by-Use-Case2018-2025-300x145.png 300w, https://proxysp.com/wp-content/uploads/2021/09/Percent-Revenue-Forecast-by-Use-Case2018-2025-1024x495.png 1024w, https://proxysp.com/wp-content/uploads/2021/09/Percent-Revenue-Forecast-by-Use-Case2018-2025-768x371.png 768w" sizes="(max-width: 1090px) 100vw, 1090px" /></p>
<h3></h3>
<hr />
<h2>Forecasts and Trends – NALA</h2>
<h3>NALA Revenue Forecast</h3>
<blockquote><p>Key Takeaway: The NALA market will grow at a CAGR of 17.8% over the forecast period. Revenue will double over the forecast as customer realize the benefits of and adopt IPPNs.</p></blockquote>
<pre style="text-align: center;"><strong>RPN Market: Revenue Forecast, NALA, 2018–2025 Revenue CAGR, 2019–2025 = 17.8%</strong></pre>
<h3><img loading="lazy" decoding="async" class="alignnone wp-image-7697 size-full" src="https://www.proxysp.com/wp-content/uploads/2021/09/NALA-Revenue-Forecast.png" alt="NALA Revenue Forecast" width="1050" height="472" srcset="https://proxysp.com/wp-content/uploads/2021/09/NALA-Revenue-Forecast.png 1050w, https://proxysp.com/wp-content/uploads/2021/09/NALA-Revenue-Forecast-300x135.png 300w, https://proxysp.com/wp-content/uploads/2021/09/NALA-Revenue-Forecast-1024x460.png 1024w, https://proxysp.com/wp-content/uploads/2021/09/NALA-Revenue-Forecast-768x345.png 768w" sizes="(max-width: 1050px) 100vw, 1050px" /></h3>
<h3></h3>
<hr />
<h3>NALA Revenue Forecast Discussion</h3>
<ul>
<li style="list-style-type: none;">
<ul>
<li style="list-style-type: none;">
<ul>
<li>At $27.0 million in 2018, revenue for the NALA market for IPPN solutions was just behind EMEA and well ahead of APAC. Frost & Sullivan expects NALA revenue to reach $98.3 million by 2025, at a CAGR of 17.8%.</li>
<li>North America witnessed healthy growth over the past year thanks to increasing competitive analysis in the United States causing companies to further lock down their information from competitors. This growth is mostly due to the region‟s first mover advantage in IPPN adoption and the acceleration of use case trends leading to a proliferation of services.</li>
<li>Brazil has traditionally led Latin America in terms of IPPN spending; however, poor economic conditions affected the region in 2018 and several vendors saw a decline in their revenue from Brazil.</li>
<li>Additional IPPN services coming to market a far-reaching positive effect on the IPPN vendors in NALA. Competition has helped constrain the costs of some services, but the growing need from<br />
enterprise customers is leading to more attention being placed on IPPN services.</li>
<li>Consolidation is inevitable in the IPPN market. These mergers and acquisitions have the potential to create a larger competitor to market leader Luminati, primarily by combining support organizations.</li>
</ul>
</li>
</ul>
</li>
</ul>
<hr />
<h2>Forecasts and Trends – EMEA</h2>
<h3>EMEA Revenue Forecast</h3>
<blockquote><p>Key Takeaway: EMEA makes up over one third of the global IPPN market in 2018. Growth from Western Europe is countered by countries in the Middle East and Central and Eastern Europe.</p></blockquote>
<pre style="text-align: center;"><strong>RPN Market: Revenue Forecast, EMEA, 2018–2025 Revenue CAGR, 2019–2025 = 14.4%</strong></pre>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-7698 size-full" src="https://www.proxysp.com/wp-content/uploads/2021/09/EMEA-Revenue-Forecast.png" alt="EMEA Revenue Forecast" width="1061" height="479" srcset="https://proxysp.com/wp-content/uploads/2021/09/EMEA-Revenue-Forecast.png 1061w, https://proxysp.com/wp-content/uploads/2021/09/EMEA-Revenue-Forecast-300x135.png 300w, https://proxysp.com/wp-content/uploads/2021/09/EMEA-Revenue-Forecast-1024x462.png 1024w, https://proxysp.com/wp-content/uploads/2021/09/EMEA-Revenue-Forecast-768x347.png 768w" sizes="(max-width: 1061px) 100vw, 1061px" /></p>
<hr />
<h3>EMEA Revenue Forecast Discussion</h3>
<ul>
<li style="list-style-type: none;">
<ul>
<li style="list-style-type: none;">
<ul>
<li> EMEA contributed $30.1 million in sales, or 39.5% of the global market revenue in 2018, just ahead of NALA and well ahead of APAC.</li>
<li>Many IPPN vendors grew out of Europe, and so have their strongest footprint in the EMEA region.</li>
<li>Strong demand for IPPN solutions continues from the Middle East, driven by investment in Internet infrastructure. Since internet costs in the Middle East are among the highest in the world, the region‟s overall growth has been limited by these costs.</li>
<li>EMEA is expected to show modest growth with a CAGR of 14.4%. Economic uncertainty in Europe; geopolitical instability in the Middle East, Russia, and parts of Africa; and the fact that spending on internet infrastructure projects is not expected to reach pre-recession levels until the end of the decade will only mean slow growth through 2025.</li>
</ul>
</li>
</ul>
</li>
</ul>
<hr />
<h2>Forecasts and Trends – APAC</h2>
<h3>APAC Revenue Forecast</h3>
<blockquote><p>Key Takeaway: At a CAGR of 18.7%, APAC follows NALA as the fastest growing region for IPPN revenues over the forecast period.</p></blockquote>
<pre style="text-align: center;"><strong>RPN Market: Revenue Forecast, APAC, 2018–2025 Revenue CAGR, 2019–2025 = 18.7%</strong></pre>
<h3><img loading="lazy" decoding="async" class="alignnone wp-image-7701 size-full" src="https://www.proxysp.com/wp-content/uploads/2021/09/APAC-Revenue-Forecast.png" alt="APAC Revenue Forecast" width="1046" height="466" srcset="https://proxysp.com/wp-content/uploads/2021/09/APAC-Revenue-Forecast.png 1046w, https://proxysp.com/wp-content/uploads/2021/09/APAC-Revenue-Forecast-300x134.png 300w, https://proxysp.com/wp-content/uploads/2021/09/APAC-Revenue-Forecast-1024x456.png 1024w, https://proxysp.com/wp-content/uploads/2021/09/APAC-Revenue-Forecast-768x342.png 768w" sizes="(max-width: 1046px) 100vw, 1046px" /></h3>
<hr />
<h3>APAC Revenue Forecast Discussion</h3>
<ul>
<li style="list-style-type: none;">
<ul>
<li style="list-style-type: none;">
<ul>
<li>At $19.1 million in 2018, APAC was the smallest regional market for IPPN solutions by revenue. Market revenue is expected to increase to $72.0 million by 2025 at a CAGR of 18.7%.</li>
<li>Among all regions, APAC is the most price-sensitive market for technology solutions in general. The tendency for firms to build home grown solutions or employ system integrators to make customized solutions is the highest here, though regulations in most countries in the region drive demand more than other regions.</li>
<li>As emerging economies continue to urbanize, build out infrastructure, and grow their industries, it will become imperative for companies in this region to follow global standards and best practices and to implement checks and balances, in order to gain confidence in the global market. Because IPPN solutions will be looked upon as a cost of doing business, price sensitivity is expected to wane.</li>
<li>Some vendors consider Australia a growing market, although some have been affected by the downturn in the region‟s economy.</li>
</ul>
</li>
</ul>
</li>
</ul>
<hr />
<h2>Market Share and Competitive Analysis – Verticals</h2>
<h3>IPPN Competitive Landscape – Vertical Market Share</h3>
<blockquote><p>Key Takeaway: The split between residential, mobile, and data center IPPN verticals is dominated by residential at over 73%, followed by data centers at almost 20%, with mobile at 7% in 2018. Choice of vertical depends on the techniques used by target websites to block visitors</p></blockquote>
<pre style="text-align: center;"><strong>Total IPPN Market: Vertical Analysis, Global, 2018</strong></pre>
<h3><img loading="lazy" decoding="async" class="size-full wp-image-7704 aligncenter" src="https://www.proxysp.com/wp-content/uploads/2021/09/Vertical-Market-Share.png" alt="Vertical Market Share" width="959" height="449" srcset="https://proxysp.com/wp-content/uploads/2021/09/Vertical-Market-Share.png 959w, https://proxysp.com/wp-content/uploads/2021/09/Vertical-Market-Share-300x140.png 300w, https://proxysp.com/wp-content/uploads/2021/09/Vertical-Market-Share-768x360.png 768w" sizes="(max-width: 959px) 100vw, 959px" /></h3>
<hr />
<h3>Verticals Discussion</h3>
<ul>
<li style="list-style-type: none;">
<ul>
<li style="list-style-type: none;">
<ul>
<li>IP proxy networks enable companies to simulate being actual customers by having users around the world install software and agree to contribute a portion of their devices resources when idle to route web traffic through their IP address. This is known as a residential proxy network, one of the three verticals used in the market along with mobile and data center IPPNs.</li>
<li>By getting thousands to millions of users to participate in their network, IP proxy network companies create a pool of IP addresses to accomplish the aforementioned use cases. Since each node on the network is in a different location using a different device, in the case of residential IPPNs websites only see traffic as coming from individuals and residential internet service providers (ISPs).</li>
<li>IP proxy network companies can also provide IP addresses coming from data centers instead of ISPs. These data center proxies also hide IP addresses and location, and allow for data collection,<br />
but they are known not to be residential or mobile. While they are generally less expensive than residential or mobile proxies, they do not offer the benefits of appearing as actual customers.</li>
<li>As more Internet use goes to mobile devices, IPPNs can also used to simulate traffic coming from handsets, however it is more difficult to regulate broadband usage via cellular and WiFi, plus idle computing time must be accounted for while on batteries versus charging.</li>
</ul>
</li>
</ul>
</li>
</ul>
<hr />
<h2>Market Share and Competitive Analysis – Total IPPN Market</h2>
<h3>IPPN Competitive Landscape – Market Share</h3>
<blockquote><p>Key Takeaway: Luminati, Oxylabs, and GeoSurf dominated the global IPPN market in 2018, combining to represent 77.0% of the total market.</p></blockquote>
<pre style="text-align: center;"><strong>Total IPPN Market: Market Share Analysis, Global, 2018</strong></pre>
<h3><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-7706" src="https://www.proxysp.com/wp-content/uploads/2021/09/IPPN-Competitive-Landscape-–-Market-Share.png" alt="IPPN Competitive Landscape – Market Share" width="1025" height="490" srcset="https://proxysp.com/wp-content/uploads/2021/09/IPPN-Competitive-Landscape-–-Market-Share.png 1025w, https://proxysp.com/wp-content/uploads/2021/09/IPPN-Competitive-Landscape-–-Market-Share-300x143.png 300w, https://proxysp.com/wp-content/uploads/2021/09/IPPN-Competitive-Landscape-–-Market-Share-768x367.png 768w" sizes="(max-width: 1025px) 100vw, 1025px" /></h3>
<hr />
<h3>IPPN Competitive Environment</h3>
<pre style="text-align: center;"><strong>Total IPPN Market: Competitive Structure, Global, 2018</strong></pre>
<div class="su-table su-table-responsive su-table-alternate">
<table width="1005">
<tbody>
<tr>
<td style="font-weight: 400;" width="370"><strong>Number of Companies in the Market</strong></td>
<td style="font-weight: 400;" width="635">21+</td>
</tr>
<tr>
<td style="font-weight: 400;" width="370"><strong>Competitive Factors</strong></td>
<td style="font-weight: 400;" width="635">IP addresses, geographic coverage, locations served, pricing tiers, bandwidth provided, high compliance standards, and network (IP)quality.</td>
</tr>
<tr>
<td style="font-weight: 400;" width="370"><strong>Key End-user Groups</strong></td>
<td style="font-weight: 400;" width="635">Price comparison, ad verification, data collection, fraud protection, application performance, brand protection, talent sourcing, cyber security, and account management.</td>
</tr>
<tr>
<td style="font-weight: 400;" width="370"><strong>Major Market Participants</strong></td>
<td style="font-weight: 400;" width="635">Luminati, Oxylabs, GeoSurf</td>
</tr>
<tr>
<td style="font-weight: 400;" width="370"><strong>Market Share of Top 3 Competitors</strong></td>
<td style="font-weight: 400;" width="635">77.00%</td>
</tr>
<tr>
<td style="font-weight: 400;" width="370"><strong>Other Notable Market Participants</strong></td>
<td style="font-weight: 400;" width="635">Scrapinghub, LimeProxies, Smartproxy, Storm Proxies, NetNut, Microleaves</td>
</tr>
<tr>
<td style="font-weight: 400;" width="370"><strong>Distribution Structure </strong></td>
<td style="font-weight: 400;" width="635">Direct sales</td>
</tr>
<tr>
<td style="font-weight: 400;" width="370"><strong>Notable Acquisitions, Mergers, Deals</strong></td>
<td style="font-weight: 400;" width="635">EMK Capital LLP acquired a majority share in Luminati in 2017. Luminati„s enterprise proxy solutions separated from Hola Networks in 2014. Begun in 2018, Luminati is suing Oxylabs and GeoSurf for patent infringement.</td>
</tr>
</tbody>
</table>
</div>
<hr />
<h3>Luminati At A Glance</h3>
<div class="su-table su-table-responsive su-table-alternate">
<table width="1063">
<tbody>
<tr>
<td style="font-weight: 400;" width="271"><strong>Company Name</strong></td>
<td style="font-weight: 400;" width="792"><a href="https://www.proxysp.com/bright-data/" target="_blank" rel="noopener"><strong>Luminati </strong></a></td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Location</strong></td>
<td style="font-weight: 400;" width="792">Netanya, Israel</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Owner</strong></td>
<td style="font-weight: 400;" width="792">Private (120+ employees), EMK Capital LLP, United Kingdom</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Platform</strong></td>
<td style="font-weight: 400;" width="792">Luminati Proxy Service (Residential IPs, Mobile IPs, and Data Center IPs)</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Product Revenue</strong></td>
<td style="font-weight: 400;" width="792">$40 Million</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Industries Served</strong></td>
<td style="font-weight: 400;" width="792">Retail price comparison, ad verification, sales intelligence, brand protection, self-testing</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Notable Customers</strong></td>
<td style="font-weight: 400;" width="792">Fortune 500 companies across all verticals</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Primary Competitors</strong></td>
<td style="font-weight: 400;" width="792">Oxylabs, GeoSurf, Scrapinghub, LimeProxies, Smartproxy, Storm Proxies, NetNut, Microleaves</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Platform Highlights</strong></td>
<td style="font-weight: 400;" width="792">35.0M+ published residential IPs / 35.0M+ generally available residential IPs Serves 195 countries, 26,846 cities, 11,748 ASNs, 592 Mobile ASNs. The only IP proxy network that requires consent from its residential peers and has strict KYC rules. Proxy Manager, Chrome Extension, APIs available in Shell, Node.js, Python, C#, Java, VB, PHP, Ruby, and Per</td>
</tr>
</tbody>
</table>
</div>
<hr />
<h3>Oxylabs At A Glance</h3>
<div class="su-table su-table-responsive su-table-alternate">
<table width="1063">
<tbody>
<tr>
<td style="font-weight: 400;" width="271"><strong>Company Name</strong></td>
<td style="font-weight: 400;" width="792"><a href="https://www.proxysp.com/oxylabs/" target="_blank" rel="noopener"><strong>Oxylabs</strong></a></td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Location</strong></td>
<td style="font-weight: 400;" width="792">Vilnius, Lithuania</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Owner</strong></td>
<td style="font-weight: 400;" width="792">Private (11-50 employees), Part of Tesonet</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Platform</strong></td>
<td style="font-weight: 400;" width="792">Residential IPs, Data Center IPs, Real-Time Crawler</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Product Revenue</strong></td>
<td style="font-weight: 400;" width="792">$10 Million</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Industries Served</strong></td>
<td style="font-weight: 400;" width="792">Market research, brand protection, travel fare aggregation, ad verification, pricing intelligence</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Notable Customers</strong></td>
<td style="font-weight: 400;" width="792">700+ customers, Case studies change customer names to provide anonymity.</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Primary Competitors</strong></td>
<td style="font-weight: 400;" width="792">Luminati, GeoSurf, Scrapinghub, LimeProxies, Smartproxy, Storm Proxies, Microleaves, NetNut (Luminati sued Oxylabs in 2018 for patent infringement.)</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Platform Highlights</strong></td>
<td style="font-weight: 400;" width="792">30.0M+ published residential IPs / 24.3M+ generally available residential IPs Serves 195 countries. Two apps using the embedded Oxylabs SDK, Material Notification Shade and Power Shade, were taken down from Google Play Store when the SDK was marked as malicious by Google. The apps were reinstated a day later without the Oxylabs SDK.</td>
</tr>
</tbody>
</table>
</div>
<hr />
<h3>GeoSurf At A Glance</h3>
<div class="su-table su-table-responsive su-table-alternate">
<table width="1063">
<tbody>
<tr>
<td style="font-weight: 400;" width="271"><strong>Company Name</strong></td>
<td style="font-weight: 400;" width="792"><a href="https://www.proxysp.com/geosurf/" target="_blank" rel="noopener"><strong>GeoSurf</strong></a></td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Location</strong></td>
<td style="font-weight: 400;" width="792">Tel Aviv, Israel, Development in Romania and Ukraine.</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Owner</strong></td>
<td style="font-weight: 400;" width="792">Private (11-50 employees), part of BIScience</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Platform</strong></td>
<td style="font-weight: 400;" width="792">Residential IPs, Data Center IPs</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Product Revenue</strong></td>
<td style="font-weight: 400;" width="792">$8 Million</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Industries Served</strong></td>
<td style="font-weight: 400;" width="792">Ad verification, social listening, search engine optimization, sales intelligence, sneaker proxy</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Notable Customers</strong></td>
<td style="font-weight: 400;" width="792">7,000+ Professional Marketers, Ubisoft</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Primary Competitors</strong></td>
<td style="font-weight: 400;" width="792">Luminati, Oxylabs, Scrapinghub, LimeProxies, Smartproxy, Storm Proxies, Microleaves, NetNut (Luminati sued GeoSurf in 2018 for patent infringement.)</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Platform Highlights</strong></td>
<td style="font-weight: 400;" width="792">2.0M+ published residential IPs / 1.4M+ generally available residential IPs Serves 130+ global locations. Good blog and resources explanation for prospective customers.</td>
</tr>
</tbody>
</table>
</div>
<hr />
<h3>Scrapinghub At A Glance</h3>
<div class="su-table su-table-responsive su-table-alternate">
<table width="1063">
<tbody>
<tr>
<td style="font-weight: 400;" width="271"><strong>Company Name</strong></td>
<td style="font-weight: 400;" width="792"><strong>Scrapinghub</strong></td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Location</strong></td>
<td style="font-weight: 400;" width="792">Ballincollig, Cork, Ireland</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Owner</strong></td>
<td style="font-weight: 400;" width="792">Private (51-200 employees)</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Platform</strong></td>
<td style="font-weight: 400;" width="792">Crawlera, “The World‟s Smartest Proxy Network”</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Product Revenue</strong></td>
<td style="font-weight: 400;" width="792">$4 Million</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Industries Served</strong></td>
<td style="font-weight: 400;" width="792">Focuses on data scraping, not individual use cases, like price comparison.</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Notable Customers</strong></td>
<td style="font-weight: 400;" width="792">2000+ Companies as customers, Used by over 1M+ developers Data scraping customers: Amazon, Deloitte, HubSpot, Logitech, Walmart</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Primary Competitors</strong></td>
<td style="font-weight: 400;" width="792">Luminati, Oxylabs, GeoSurf, LimeProxies, Smartproxy, Storm Proxies, Microleaves, NetNut</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Platform Highlights</strong></td>
<td style="font-weight: 400;" width="792">No published residential IP network size Almost hides proxy network to focus on data scraping. Open Sources much of their code, giving clients peace of mind. APIs available in Python, Node.js, Scrapy, C#, Java, PHP, Ruby</td>
</tr>
</tbody>
</table>
</div>
<hr />
<h3>Smartproxy At A Glance</h3>
<div class="su-table su-table-responsive su-table-alternate">
<table width="1063">
<tbody>
<tr>
<td style="font-weight: 400;" width="271"><strong>Company Name</strong></td>
<td style="font-weight: 400;" width="792"><a href="https://www.proxysp.com/smartproxy/" target="_blank" rel="noopener"><strong>Smartproxy</strong></a></td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Location</strong></td>
<td style="font-weight: 400;" width="792">Unknown</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Owner</strong></td>
<td style="font-weight: 400;" width="792">Unknown</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Platform</strong></td>
<td style="font-weight: 400;" width="792">Oxylabs Reseller</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Product Revenue</strong></td>
<td style="font-weight: 400;" width="792">$3 Million</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Industries Served</strong></td>
<td style="font-weight: 400;" width="792">Account management, product releases, market research…also markets specific proxies for Instagram, Sneakers, Twitter, Craigslist, Facebook, Reddit, and for backconnects</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Notable Customers</strong></td>
<td style="font-weight: 400;" width="792">s Only lists anonymized residential customers, i.e. last name redacted. Any corporate customers kept anonymous.</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Primary Competitors</strong></td>
<td style="font-weight: 400;" width="792">Luminati, Oxylabs, GeoSurf, Scrapinghub, LimeProxies, Storm Proxies, Microleaves, NetNut</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Platform Highlights</strong></td>
<td style="font-weight: 400;" width="792">10.0M+ published residential IPs / 7.4M+ generally available residential IPs 90%+ of available IP addresses appear to be resold Oxylabs nodes. Serves 190+ geographic locations. Very sneaker-focused and very use case-focus versus vertical-focus, e.g. Get Instagram proxies versus Get Social Media proxies. Blog has good use case explanations of how their Smartproxy solves improves that specific use case.</td>
</tr>
</tbody>
</table>
</div>
<hr />
<h3>LimeProxies At A Glance</h3>
<div class="su-table su-table-responsive su-table-alternate">
<table width="1063">
<tbody>
<tr>
<td style="font-weight: 400;" width="271"><strong>Company Name</strong></td>
<td style="font-weight: 400;" width="792"><strong>LimeProxies</strong></td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Location</strong></td>
<td style="font-weight: 400;" width="792">Hong Kong</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Owner</strong></td>
<td style="font-weight: 400;" width="792">Private (11-50 employees)</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Platform</strong></td>
<td style="font-weight: 400;" width="792">High speed, premium proxies</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Product Revenue</strong></td>
<td style="font-weight: 400;" width="792">$1 million</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Industries Served</strong></td>
<td style="font-weight: 400;" width="792">Gaming proxies, ticketing proxies, Socks5 proxies, classified ads, custom solutions.</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Notable Customers</strong></td>
<td style="font-weight: 400;" width="792">Anonymous. No real case studies from current customers.</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Primary Competitors</strong></td>
<td style="font-weight: 400;" width="792">Luminati, Oxylabs, GeoSurf, Scrapinghub, Smartproxy, Storm Proxies, Microleaves, NetNut</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Platform Highlights</strong></td>
<td style="font-weight: 400;" width="792">No published residential IP network size Serves 40+ geographic locations, makes a point of not being a subsidiary or reseller of larger, parent company. Lot of bad chatter on forums about customer service and affiliate programs recommending against LimeProxies.</td>
</tr>
</tbody>
</table>
</div>
<hr />
<h3>Storm Proxies At A Glance</h3>
<div class="su-table su-table-responsive su-table-alternate">
<table width="1063">
<tbody>
<tr>
<td style="font-weight: 400;" width="271"><strong>Company Name</strong></td>
<td style="font-weight: 400;" width="792"><a href="https://www.proxysp.com/storm-proxies/" target="_blank" rel="noopener"><strong>Storm Proxies</strong></a></td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Location</strong></td>
<td style="font-weight: 400;" width="792">Unknown</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Owner</strong></td>
<td style="font-weight: 400;" width="792">Unknown</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Platform</strong></td>
<td style="font-weight: 400;" width="792">Backconnect Rotating Proxies</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Product Revenue</strong></td>
<td style="font-weight: 400;" width="792">$2 Million</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Industries Served</strong></td>
<td style="font-weight: 400;" width="792">Web scraping, traffic bots, bulk account registrations, search engine optimization tools, ticket sites, sneaker sites</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Notable Customers</strong></td>
<td style="font-weight: 400;" width="792">Anonymous. No real case studies from current customers.</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Primary Competitors</strong></td>
<td style="font-weight: 400;" width="792">Luminati, Oxylabs, GeoSurf, Scrapinghub, LimeProxies, Smartproxy, Microleaves, NetNut</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Platform Highlights</strong></td>
<td style="font-weight: 400;" width="792">40,000 published residential IPs / Proxies rotated every 5 minutes. Dedicated proxy verticals, much like Smartproxy, i.e. Ticketmaster, Instagram, Facebook, Twitter, Tumblr, Pinterest, Linkedin, Snapchat, Pokemon Go proxies</td>
</tr>
</tbody>
</table>
</div>
<hr />
<h3>NetNut At A Glance</h3>
<div class="su-table su-table-responsive su-table-alternate">
<table width="1063">
<tbody>
<tr>
<td style="font-weight: 400;" width="271"><strong>Company Name</strong></td>
<td style="font-weight: 400;" width="792"><a href="https://www.proxysp.com/netnut/" target="_blank" rel="noopener"><strong>NetNut</strong></a></td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Location</strong></td>
<td style="font-weight: 400;" width="792">Tel Aviv, Israel</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Owner</strong></td>
<td style="font-weight: 400;" width="792">Private, part of Safe-T Group Ltd. as of mid-2019</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Platform</strong></td>
<td style="font-weight: 400;" width="792">NetNut SuperProxy</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Product Revenue</strong></td>
<td style="font-weight: 400;" width="792">$2 Million</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Industries Served</strong></td>
<td style="font-weight: 400;" width="792">Price comparisons, web scraping</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Notable Customers</strong></td>
<td style="font-weight: 400;" width="792">Anonymous. No real case studies from current customers.</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Primary Competitors</strong></td>
<td style="font-weight: 400;" width="792">Luminati, Oxylabs, GeoSurf, Scrapinghub, LimeProxies, Smartproxy, Storm Proxies, Microleaves</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Platform Highlights</strong></td>
<td style="font-weight: 400;" width="792">10.0M+ published residential IPs / 7.4M+ generally available residential IPs Serves approximately 50 countries. NetNut uses ISP IPs directly. Traffic does not go through end-user devices. Instead of using a peer to peer (P2P) network, NetNut depends on DiViNetworks‟ existing data delivery and network management solutions. DiViNetworks provides services to over 100 ISPs from tens of point of presence (PoPs) around the world. Safe-T Group Ltd. acquired NetNut in mid-2019 to augment their software-defined access technology.</td>
</tr>
</tbody>
</table>
</div>
<hr />
<h3>Microleaves At A Glance</h3>
<div class="su-table su-table-responsive su-table-alternate">
<table width="1063">
<tbody>
<tr>
<td style="font-weight: 400;" width="271"><strong>Company Name</strong></td>
<td style="font-weight: 400;" width="792"><a href="https://www.proxysp.com/shifter/" target="_blank" rel="noopener"><strong>Microleaves</strong></a></td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Location</strong></td>
<td style="font-weight: 400;" width="792">London, UK</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Owner</strong></td>
<td style="font-weight: 400;" width="792">Unknown (19 employees)</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Platform</strong></td>
<td style="font-weight: 400;" width="792">Adware</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Product Revenue</strong></td>
<td style="font-weight: 400;" width="792">$1.3 Million</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Industries Served</strong></td>
<td style="font-weight: 400;" width="792">Web scraping, ticket sites, sneaker sites</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Notable Customers</strong></td>
<td style="font-weight: 400;" width="792">19k Active Customers, 60+ New Customers Daily, Fortune 500 Companies</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Primary Competitors</strong></td>
<td style="font-weight: 400;" width="792">Luminati, Oxylabs, GeoSurf, Scrapinghub, LimeProxies, Smartproxy, Storm Proxies, NetNut</td>
</tr>
<tr>
<td style="font-weight: 400;" width="271"><strong>Platform Highlights</strong></td>
<td style="font-weight: 400;" width="792">Microleaves proxy client software has been identified as an adware program by various malware and virus tools. While its stated use is as an IP proxy network, it appears to be serving unwanted advertisements across visited webpages. Though Microleaves claims to have the lowest fail rate, instant scaling, user-friendly integration, no limit on concurrent connections, 26M+ residential IPs, 5M+ mobile IPs, and 500K+ data center IPs, testing was not performed to determine generally available IPs because of security concerns over its proxy client software used to generate their network.</td>
</tr>
</tbody>
</table>
</div>
<hr />
<h3>IPPN Competitive Landscape</h3>
<blockquote><p>Key Takeaway: Luminati, Oxylabs, and GeoSurf dominated the global IPPN market in 2018.</p></blockquote>
<pre style="text-align: center;"><strong>Total IPPN Market: Competitive Landscape, Global, 2018</strong></pre>
<h2><img loading="lazy" decoding="async" class="alignnone wp-image-7734 size-full" src="https://www.proxysp.com/wp-content/uploads/2021/09/IPPN-Competitive-Landscape.png" alt="IPPN Competitive Landscape" width="1087" height="541" srcset="https://proxysp.com/wp-content/uploads/2021/09/IPPN-Competitive-Landscape.png 1087w, https://proxysp.com/wp-content/uploads/2021/09/IPPN-Competitive-Landscape-300x149.png 300w, https://proxysp.com/wp-content/uploads/2021/09/IPPN-Competitive-Landscape-1024x510.png 1024w, https://proxysp.com/wp-content/uploads/2021/09/IPPN-Competitive-Landscape-768x382.png 768w" sizes="(max-width: 1087px) 100vw, 1087px" /></h2>
<hr />
<h3>IPPN Competitive Landscape – Factors and Assessment</h3>
<p>The IPPN competitive landscape represents the relative positioning of vendors in terms of their current market share and their strategic positioning for growth according to the following factors:</p>
<p>1. <strong>Current market share by percentage of revenue:</strong> The X axis represents a vendor‟s market position; the size of the company‟s circle represents its base year revenues.</p>
<p>2. <strong>Relative strategic excellence:</strong> The Y axis depicts a vendor‟s strategy score, particularly how likely it is to outperform the market and win market share from its nearest competitors. Factors include:</p>
<ul>
<li><strong>Current functionality and ongoing R&D investment:</strong> Feature-rich IPPN solutions with a strong, consistent commitment to R&D score the highest on this vector.</li>
<li><strong>Scalability:</strong> The ability to manage large volumes of engineering assets and to work crossregionally and cross-functionally, on both mobile and cloud, determine the scalability score.</li>
<li><strong>Flexibility:</strong> Integrating or working alongside legacy solutions and other enterprise software.</li>
<li><strong>Vertical and geographic footprint:</strong> Working across industries and various countries.</li>
<li><strong>Merger and acquisition, partnership, and standardization strategy:</strong> Buying and/or partnering with other vendors, coupled with organic growth.</li>
</ul>
<hr />
<h3>IPPN Competitive Landscape – Market Leader Luminati</h3>
<ul>
<li>Luminati is the only proxy network that requires consent from its peer network, has tight compliance procedures for its customers, and serves Fortune 500 enterprises. With over 35 million residential IP addresses, Luminati provides rotating IP proxy access in 195 countries across 26,846 cities, 11,748 Autonomous System Numbers (ASNs), and 592 mobile ASNs.</li>
<li>Luminati enables enterprise customers to access the internet and view websites as they look to actual consumers. As companies block and slow the web to competitors, Luminati‟s proprietary<br />
network allows companies to access the web as if they were in any city covered by their residential IP network.</li>
<li>Luminati serves enterprise clients across many vertical industries to verify ad performance, collect data, such as pricing information, conduct cyber security checks, protect their brand, monitor application performance, and prevent fraud. Using a residential IP proxy service is the only way businesses can check the accuracy of data and pricing matching what customers see in various regions around the world.</li>
</ul>
<hr />
<h2>Growth Opportunities and Companies to Action</h2>
<h3>Growth Opportunity 1: Expand Consumer Education</h3>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-7740 size-full" src="https://www.proxysp.com/wp-content/uploads/2021/09/Expand-Consumer-Education.png" alt="Expand Consumer Education" width="1095" height="631" srcset="https://proxysp.com/wp-content/uploads/2021/09/Expand-Consumer-Education.png 1095w, https://proxysp.com/wp-content/uploads/2021/09/Expand-Consumer-Education-300x173.png 300w, https://proxysp.com/wp-content/uploads/2021/09/Expand-Consumer-Education-1024x590.png 1024w, https://proxysp.com/wp-content/uploads/2021/09/Expand-Consumer-Education-768x443.png 768w" sizes="(max-width: 1095px) 100vw, 1095px" /></p>
<hr />
<h3>Growth Opportunity 2: Multi-Privacy Solutions</h3>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-7741 size-full" src="https://www.proxysp.com/wp-content/uploads/2021/09/Privacy-Solutions.png" alt="Privacy Solutions" width="1100" height="631" srcset="https://proxysp.com/wp-content/uploads/2021/09/Privacy-Solutions.png 1100w, https://proxysp.com/wp-content/uploads/2021/09/Privacy-Solutions-300x172.png 300w, https://proxysp.com/wp-content/uploads/2021/09/Privacy-Solutions-1024x587.png 1024w, https://proxysp.com/wp-content/uploads/2021/09/Privacy-Solutions-768x441.png 768w" sizes="(max-width: 1100px) 100vw, 1100px" /></p>
<hr />
<h3>Growth Opportunity 3: Provide White Label IPPNs</h3>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-7742 size-full" src="https://www.proxysp.com/wp-content/uploads/2021/09/Provide-White-Label-IPPNs.png" alt="Provide White Label IPPNs" width="1095" height="635" srcset="https://proxysp.com/wp-content/uploads/2021/09/Provide-White-Label-IPPNs.png 1095w, https://proxysp.com/wp-content/uploads/2021/09/Provide-White-Label-IPPNs-300x174.png 300w, https://proxysp.com/wp-content/uploads/2021/09/Provide-White-Label-IPPNs-1024x594.png 1024w, https://proxysp.com/wp-content/uploads/2021/09/Provide-White-Label-IPPNs-768x445.png 768w" sizes="(max-width: 1095px) 100vw, 1095px" /></p>
<hr />
<h3>Growth Opportunity 4: Mergers and Acquisitions</h3>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-7744 size-full" src="https://www.proxysp.com/wp-content/uploads/2021/09/Mergers-and-Acquisitions.png" alt="Mergers and Acquisitions" width="1097" height="633" srcset="https://proxysp.com/wp-content/uploads/2021/09/Mergers-and-Acquisitions.png 1097w, https://proxysp.com/wp-content/uploads/2021/09/Mergers-and-Acquisitions-300x173.png 300w, https://proxysp.com/wp-content/uploads/2021/09/Mergers-and-Acquisitions-1024x591.png 1024w, https://proxysp.com/wp-content/uploads/2021/09/Mergers-and-Acquisitions-768x443.png 768w" sizes="(max-width: 1097px) 100vw, 1097px" /></p>
<hr />
<h3>Strategic Imperatives for Success and Growth</h3>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-7748 size-full" src="https://www.proxysp.com/wp-content/uploads/2021/09/Strategic-Imperatives-for-Success-and-Growth.png" alt="Strategic Imperatives for Success and Growth" width="1113" height="630" srcset="https://proxysp.com/wp-content/uploads/2021/09/Strategic-Imperatives-for-Success-and-Growth.png 1113w, https://proxysp.com/wp-content/uploads/2021/09/Strategic-Imperatives-for-Success-and-Growth-300x170.png 300w, https://proxysp.com/wp-content/uploads/2021/09/Strategic-Imperatives-for-Success-and-Growth-1024x580.png 1024w, https://proxysp.com/wp-content/uploads/2021/09/Strategic-Imperatives-for-Success-and-Growth-768x435.png 768w" sizes="(max-width: 1113px) 100vw, 1113px" /></p>
<hr />
<h2>The Last Word</h2>
<h3>The Last Word – Recommendations</h3>
<p><img loading="lazy" decoding="async" class="alignleft wp-image-7754 size-full" src="https://www.proxysp.com/wp-content/uploads/2021/09/Recommendations.png" alt="Recommendations" width="1047" height="589" srcset="https://proxysp.com/wp-content/uploads/2021/09/Recommendations.png 1047w, https://proxysp.com/wp-content/uploads/2021/09/Recommendations-300x169.png 300w, https://proxysp.com/wp-content/uploads/2021/09/Recommendations-1024x576.png 1024w, https://proxysp.com/wp-content/uploads/2021/09/Recommendations-768x432.png 768w" sizes="(max-width: 1047px) 100vw, 1047px" /></p>
<hr />
<h4></h4>
<hr />
<h3>Legal Disclaimer</h3>
<p>Frost & Sullivan is not responsible for any incorrect information supplied to us by manufacturers or users. Quantitative market information is based primarily on interviews and therefore is subject to fluctuation. Frost & Sullivan research services are limited publications containing valuable market information provided to a select group of customers. Our customers acknowledge, when ordering or downloading, that Frost & Sullivan research services are for customers‟ internal use and not for general publication or disclosure to third parties. No part of this research service may be given, lent, resold or disclosed to noncustomers without written permission. Furthermore, no part may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording or otherwise, without the permission of the publisher.</p>
<p>For information regarding permission, write to:<br />
Frost & Sullivan<br />
3211 Scott Blvd, Suite 203<br />
Santa Clara, CA 95054</p>
<p style="text-align: center;">© 2019 Frost & Sullivan. All rights reserved. This document contains highly confidential information and is the sole property of Frost & Sullivan.</p>
<hr />
<h2>Appendix</h2>
<h3>Market Engineering Methodology</h3>
<p><img loading="lazy" decoding="async" class="wp-image-7786 alignright" style="font-size: 16px; font-weight: inherit;" src="https://www.proxysp.com/wp-content/uploads/2021/09/Market-Engineering-Methodology.png" alt="Market Engineering Methodology" width="235" height="228" srcset="https://proxysp.com/wp-content/uploads/2021/09/Market-Engineering-Methodology.png 488w, https://proxysp.com/wp-content/uploads/2021/09/Market-Engineering-Methodology-300x291.png 300w" sizes="(max-width: 235px) 100vw, 235px" /></p>
<p>One of Frost & Sullivan‟s core deliverables is its Market<br />
Engineering studies.They are based on our proprietary Market<br />
Engineering Methodology. This approach, developed across the<br />
50 years of experience assessing global markets, applies engineering<br />
rigor to the often nebulous art of market forecasting and interpretation.<br />
A detailed description of the methodology can be found <a href="http://www.frost.com/prod/servlet/me-research.pag" target="_blank" rel="noopener nofollow">here</a>.</p>
<hr />
<h3>Market Engineering Measurements</h3>
<pre style="text-align: center;"><strong>Total IPPN Market: Market Engineering Measurements, Global, 2018</strong></pre>
<p><strong>Market Overview</strong></p>
<div class="su-table su-table-responsive su-table-alternate">
<table width="728">
<tbody>
<tr>
<td style="font-weight: 400;" width="555">Measurement Name</td>
<td style="font-weight: 400;" width="101">Measurement</td>
<td style="font-weight: 400;" width="72">Trend</td>
</tr>
<tr>
<td style="font-weight: 400;" width="555">Market Stage</td>
<td style="font-weight: 400;" width="101">Growth</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="555">Market Revenue (2018)</td>
<td style="font-weight: 400;" width="101">$76.3 M</td>
<td style="font-weight: 400;" width="72">▲</td>
</tr>
<tr>
<td style="font-weight: 400;" width="555">Market Size for Last Year of Study Period (2025)</td>
<td style="font-weight: 400;" width="101">$259.7 M</td>
<td style="font-weight: 400;" width="72">▲</td>
</tr>
<tr>
<td style="font-weight: 400;" width="555">Base Year Market Growth Rate (2018)</td>
<td style="font-weight: 400;" width="101">34.30%</td>
<td style="font-weight: 400;" width="72">▼</td>
</tr>
<tr>
<td style="font-weight: 400;" width="555">Compound Annual Growth Rate (CAGR, 2019 – 2025)</td>
<td style="font-weight: 400;" width="101">16.80%</td>
<td style="font-weight: 400;" width="72">&#8211;</td>
</tr>
<tr>
<td style="font-weight: 400;" width="555">Customer Price Sensitivity (Scale:1 [low] to 10 [high])</td>
<td style="font-weight: 400;" width="101">8</td>
<td style="font-weight: 400;" width="72">●</td>
</tr>
<tr>
<td style="font-weight: 400;" width="555">Degree of Technical Change (Scale:1 [low] to 10 [high])</td>
<td style="font-weight: 400;" width="101">7</td>
<td style="font-weight: 400;" width="72">▲</td>
</tr>
<tr>
<td style="font-weight: 400;" width="555">Market Concentration (Base Year Market Share Held by Top 3 Companies)</td>
<td style="font-weight: 400;" width="101">77.00%</td>
<td style="font-weight: 400;" width="72">▼</td>
</tr>
</tbody>
</table>
</div>
<p>Decreasing        Stable        Increasing</p>
<p>▼                     ●                    ▲</p>
<hr />
<h3>List of IPPN Market Participants</h3>
<div class="su-table su-table-responsive su-table-alternate">
<table width="247">
<tbody>
<tr>
<td><strong>Primary</strong></td>
<td><strong>Others</strong></td>
</tr>
<tr>
<td>• Luminati</td>
<td>• <a href="https://www.proxysp.com/rotating-proxies/" target="_blank" rel="noopener">RotatingProxies</a></td>
</tr>
<tr>
<td>• Oxylabs</td>
<td>• Local Proxies</td>
</tr>
<tr>
<td>• GeoSurf</td>
<td>• Smart DNS Proxy</td>
</tr>
<tr>
<td>• Scrapinghub (Crawlera)</td>
<td>• Residential IPs</td>
</tr>
<tr>
<td>• LimeProxies</td>
<td>• ProxyRain</td>
</tr>
<tr>
<td>• Smartproxy</td>
<td>• ProxyMesh</td>
</tr>
<tr>
<td>• Storm Proxies</td>
<td>• <a href="https://www.proxysp.com/proxyrack/" target="_blank" rel="noopener">ProxyRack</a></td>
</tr>
<tr>
<td>• NetNut</td>
<td>• ProxyKey</td>
</tr>
<tr>
<td>• Microleaves</td>
<td>• Intoli</td>
</tr>
<tr>
<td></td>
<td>• <a href="https://www.proxysp.com/blazing-seo/" target="_blank" rel="noopener">BlazingProxies</a></td>
</tr>
<tr>
<td></td>
<td>• ProxyRotator</td>
</tr>
<tr>
<td></td>
<td>• GhostProxies</td>
</tr>
<tr>
<td></td>
<td>• Xverum</td>
</tr>
</tbody>
</table>
</div>
<hr />
<h4>References: Unchanged:</h4>
<ul>
<li><a href="https://luminati.io/static/IPPN-analysis-2019.pdf?md5=3109015-85e418b7" target="_blank" rel="nofollow noopener">https://luminati.io/static/IPPN-analysis-2019.pdf?md5=3109015-85e418b7</a></li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://proxysp.com/ip-proxy-networks-market/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7514</post-id>	</item>
		<item>
		<title>911 Proxy Developer API (Offline!)</title>
		<link>https://proxysp.com/911-proxy-developer-api/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=911-proxy-developer-api</link>
					<comments>https://proxysp.com/911-proxy-developer-api/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 03 Aug 2021 08:02:46 +0000</pubDate>
				<category><![CDATA[APIs]]></category>
		<category><![CDATA[Manuals]]></category>
		<guid isPermaLink="false">https://www.proxysp.com/?p=10201</guid>

					<description><![CDATA[Please note that the API only works for getting a new proxy from &#8220;ProxyList&#8221;, and can not be used to reuse the proxy from &#8220;TodayList&#8221;. The &#8230;<p class="read-more"> <a class="ast-button" href="https://proxysp.com/911-proxy-developer-api/"> <span class="screen-reader-text">911 Proxy Developer API (Offline!)</span> Read More &#187;</a></p>]]></description>
										<content:encoded><![CDATA[<div class="inner-wrap">
<div class="container">
<p><span style="font-size: 16px;">Please note that the API only works for getting a new proxy from &#8220;ProxyList&#8221;, and can not be used to reuse the proxy from &#8220;TodayList&#8221;. The following are how to use the API and examples</span></p>
<div class="api-wrap">
<p>After login to the software, switch to the AutoProxy tab, select &#8220;Use API&#8221; from &#8220;API settings,&#8221; and you need to keep the software staying logged in when you use the API:</p>
<p>In the software's root folder, there's a subfolder: &#8220;proxytool&#8221; and there's a file &#8220;Autoproxytool.exe&#8221; in it</p>
<p>Using your soft/script which want to implement the api to launch &#8220;Autoproxytool.exe&#8221; with the following parameters, then you are able to change proxy automatically：</p>
<p><b>Autoproxytool.exe -changeproxy/all</b> use a random proxy from any countries</p>
<p><b>Autoproxytool.exe -changeproxy/US </b>use a random proxy from US</p>
<p><b>Autoproxytool.exe -changeproxy/US/NY</b> use a random proxy from US, state: NewYork</p>
<p><b>Autoproxytool.exe -changeproxy/US/NY/&#8221;New York&#8221;</b> use a random proxy from US, state: NewYork, city: New York</p>
<p>For country you need to enter the country ISO alpha-2 code, if you have no idea, you can google: country ISO alpha-2 code</p>
<p><b>-citynolimit</b> you can use the parameter like this:</p>
<p><b>Autoproxytool.exe -changeproxy/US/NY/&#8221;New York&#8221;/ -citynolimit</b></p>
<p>Which means the API system will firstly try to get a proxy from the City you set(New York) for higher priority, Only if there's no proxy available from that City, then it will try to get a proxy from the State you set(NY). If proxy is available from that City, it wont try from the State(NY)</p>
<p><b>Autoproxytool.exe -changeproxy/ -ip=123.123.123.123</b></p>
<p>Get a proxy by ip. You can replace * in the ip address to get any proxy from that ip block, e.g: <b>Autoproxytool.exe -changeproxy/ -ip=123.123.*.*</b> or <b>Autoproxytool.exe -changeproxy/ -ip=123.*.*.*</b></p>
<p><b>Autoproxytool.exe -proxyport=</b></p>
<p>Forward a proxy to a port, the port need to be in the &#8220;port forward&#8221; range in software &#8220;Settings&#8221;, Each time using the parameter will result in replacing a new proxy to this port</p>
<p><b>Autoproxytool.exe -freeport=</b></p>
<p>Free the port and unload the proxy</p>
<p><b>Autoproxytool.exe -proxyport=all</b></p>
<p>Forward proxies to all the ports in the &#8220;port forward&#8221; range in software &#8220;Settings&#8221;, Each time using the parameter will result in replacing new proxies to all these ports</p>
<p><b>Autoproxytool.exe -freeport=all</b></p>
<p>Free all the ports and unload all the proxies</p>
<p><b>Autoproxytool.exe -isp=</b></p>
<p>Use a random proxy from the isp, it also supports fuzzy search by using *, e.g Autoproxytool.exe -isp=S*, means to get a proxy with ISP starting with &#8220;S&#8221;, Autoproxytool.exe -isp=*Cable, means to get a proxy with ISP ending with &#8220;Cable&#8221;</p>
<p><b>Autoproxytool.exe -zip=</b></p>
<p>Use a random proxy from the zip location, it also supports fuzzy search by using *, e.g Autoproxytool.exe -zip=800*, means to get a proxy with ZIP starting with &#8220;800&#8221;</p>
<p>And these parameters mentioned above can be used as a combo, some examples:</p>
<p><b>Autoproxytool.exe -changeproxy/US/NY/&#8221;New York&#8221; -proxyport=5000</b></p>
<p><b>Autoproxytool.exe -changeproxy/US/NY -proxyport=all</b></p>
<p><b>Autoproxytool.exe -changeproxy/US/NY -isp=&#8221;Time Warner Cable&#8221;</b></p>
<p><b>Autoproxytool.exe -changeproxy/US -zip=92626</b></p>
<p><b>Autoproxytool.exe -changeproxy/US/NY -isp=&#8221;Time Warner Cable&#8221; -proxyport=5000</b></p>
<p><b>Autoproxytool.exe -changeproxy/US -zip=92626 -proxyport=5000</b></p>
<hr />
<p><b>-hwnd=</b></p>
<p>With using <b>-hwnd=</b> parameter, <b>Autoproxytool.exe</b> will send WM_COPYDATA message to your soft which launches <b>Autoproxytool.exe</b>, so that your soft is able to get postcheck and more info of the proxy, you also need to pass the Window Handle of your soft which launches <b>Autoproxytool.exe</b> and <b>Autoproxytool.exe</b> will send you WM_COPYDATA message with the following format and info:</p>
<p>1. if the proxy successful get by api:</p>
<p>success|ip|Ping|ProxyCountry|ProxyState|ProxyCity|911s5 account balance</p>
<p>2. if the proxy failed to get by api:</p>
<p>failed|reason for failure</p>
<p>Some examples of how to use it:</p>
<p><b>Autoproxytool.exe -changeproxy/US/NY/&#8221;New York&#8221; -hwnd=YOUR SOFT'S WINDOW HANDLE</b></p>
<p><b>Autoproxytool.exe -changeproxy/US/NY/&#8221;New York&#8221; -citynolimit -hwnd=YOUR SOFT'S WINDOW HANDLE</b></p>
<p><b>Autoproxytool.exe -changeproxy/ -ip=123.123.*.* -hwnd=YOUR SOFT'S WINDOW HANDLE</b></p>
<p><b>Autoproxytool.exe -changeproxy/US/NY/&#8221;New York&#8221; -proxyport=5000 -hwnd=YOUR SOFT'S WINDOW HANDLE</b></p>
<p><b>Autoproxytool.exe -changeproxy/US/NY -isp=&#8221;Time Warner Cable&#8221; -proxyport=5000 -hwnd=YOUR SOFT'S WINDOW HANDLE</b></p>
<p><b>Autoproxytool.exe -changeproxy/US -zip=92626 -proxyport=5000 -hwnd=YOUR SOFT'S WINDOW HANDLE</b></p>
</div>
<div class="api-wrap big">
<p>Auto change proxy from the software:</p>
<p>In &#8220;AutoProxy&#8221; tab, the features of &#8220;AutoProxy Settings&#8221; its not for API, its designed for auto swiching proxy according to the configs, you can set the frequency to auto change proxy and set delay of time range to auto launch your program, etc. <b>For using this feature, you need to unselect &#8220;Use API&#8221; from &#8220;API Settings&#8221;</b></p>
</div>
<div class="api-wrap big">
<p><b>Updated time: Sep 12th 2019</b></p>
<p>Since 911 S5 3.2, We developed a new API program for port forwarding</p>
<p>The new API program works with multi-thread, you can send multiple API requests at the same time(The old API program Autoproxytool.exe only can handle your request one by one with single thread, you have to wait until the last request get processed)</p>
<p>If your work requires high efficiency which need to send a lot of API requests, we suggest you to use the new API:</p>
<p>In the software's root folder, there's a sub folder: &#8220;proxytool&#8221; and there's a file &#8220;ProxyAPI.exe&#8221; in it</p>
<p>Launching &#8220;ProxyAPI.exe&#8221; with parameters from your soft/script, <b>the parameters and format its exactly the same like using the old API program(Autoproxytool.exe), the only difference is you need to include this parameter &#8220;-proxyport=&#8221;, the port behind this parameter must be in the &#8220;Port Forward&#8221; range of 911 S5's &#8220;Settings&#8221; tab.</b> Please note, you need to keep 911 S5 staying logged in when you use the API. Here are some examples of using the new API:</p>
<p><b>ProxyAPI.exe -changeproxy/US/NY/&#8221;New York&#8221; -proxyport=5000</b>, Port forwarding a proxy from New York to port 5000</p>
<p><b>ProxyAPI.exe -changeproxy/ -ip=123.123.*.* -proxyport=5000 -hwnd=YOUR SOFT'S WINDOW HANDLE</b>, Port forwarding a proxy from IP range &#8220;123.123.*.*&#8221; to port 5000, and send WM_COPYDATA message to your soft</p>
<p><b>ProxyAPI.exe -changeproxy/US/NY/&#8221;New York&#8221; -citynolimit -proxyport=5000</b></p>
<p><b>ProxyAPI.exe -changeproxy/US/NY -isp=&#8221;Time Warner Cable&#8221; -proxyport=5000</b>, Port forwarding a proxy from the US, NY, with ISP Time Warner Cable to port 5000</p>
<p><b>ProxyAPI.exe -changeproxy/US -zip=92626 -proxyport=5000</b>, Port forwarding a proxy from the US with ZIP code &#8220;92626&#8221; to port 5000</p>
<p><b>ProxyAPI.exe -changeproxy/US/NY -proxyport=all</b>, Port forwarding proxies from the US, NY to all the available ports(all the ports in &#8220;Port Forward&#8221; range of 911 S5's &#8220;Settings&#8221; tab)</p>
<p><b>ProxyAPI.exe -freeport=5000</b>, Free port 5000 and unload the proxy</p>
<p><b>ProxyAPI.exe -freeport=all</b>, Free all the ports and unload all the proxies</p>
<hr />
<ul>
<li><a href="https://www.proxysp.com/how-to-use-911-proxies/">How to Use 911 S5 Proxy</a></li>
<li><a href="https://www.proxysp.com/911-s5-proxy/">911 S5 Proxy Review</a></li>
</ul>
</div>
</div>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://proxysp.com/911-proxy-developer-api/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">10201</post-id>	</item>
	</channel>
</rss>
