Forming Requests
Read detailed guides on how to get started and make requests using Web Scraper API for different websites.
Search Engines
Getting started
Select the search engine you want to scrape: Google, Bing, Other Search Engines.
Request sample
curl 'https://realtime.oxylabs.io/v1/queries' \
--user 'USERNAME:PASSWORD' \
-H 'Content-Type: application/json' \
-d '{
"source": "google_search",
"query": "adidas"
}'import requests
from pprint import pprint
# Structure payload.
payload = {
'source': 'google_search',
'query': 'adidas',
}
# Get response.
response = requests.request(
'POST',
'https://realtime.oxylabs.io/v1/queries',
auth=('USERNAME', 'PASSWORD'),
json=payload,
)
# Print prettified response to stdout.
pprint(response.json())const https = require("https");
const username = "USERNAME";
const password = "PASSWORD";
const body = {
source: "google_search",
query: "adidas",
};
const options = {
hostname: "realtime.oxylabs.io",
path: "/v1/queries",
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization:
"Basic " + Buffer.from(`${username}:${password}`).toString("base64"),
},
};
const request = https.request(options, (response) => {
let data = "";
response.on("data", (chunk) => {
data += chunk;
});
response.on("end", () => {
const responseData = JSON.parse(data);
console.log(JSON.stringify(responseData, null, 2));
});
});
request.on("error", (error) => {
console.error("Error:", error);
});
request.write(JSON.stringify(body));
request.end();<?php
$params = array(
'source' => 'google_search',
'query' => 'adidas',
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://realtime.oxylabs.io/v1/queries");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($params));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_USERPWD, "USERNAME" . ":" . "PASSWORD");
$headers = array();
$headers[] = "Content-Type: application/json";
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);
echo $result;
if (curl_errno($ch)) {
echo 'Error:' . curl_error($ch);
}
curl_close($ch);using System;
using System.Net.Http;
using System.Net.Http.Json;
using System.Threading.Tasks;
namespace OxyApi
{
class Program
{
static async Task Main()
{
const string Username = "USERNAME";
const string Password = "PASSWORD";
var parameters = new {
source = "google_search",
query = "adidas",
};
var client = new HttpClient();
Uri baseUri = new Uri("https://realtime.oxylabs.io");
client.BaseAddress = baseUri;
var requestMessage = new HttpRequestMessage(HttpMethod.Post, "/v1/queries");
requestMessage.Content = JsonContent.Create(parameters);
var authenticationString = $"{Username}:{Password}";
var base64EncodedAuthenticationString = Convert.ToBase64String(System.Text.Encoding.ASCII.GetBytes(authenticationString));
requestMessage.Headers.Add("Authorization", "Basic " + base64EncodedAuthenticationString);
var response = await client.SendAsync(requestMessage);
var contents = await response.Content.ReadAsStringAsync();
Console.WriteLine(contents);
}
}
}package main
import (
"bytes"
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
)
func main() {
const Username = "USERNAME"
const Password = "PASSWORD"
payload := map[string]interface{}{
"source": "google_search",
"query": "adidas",
}
jsonValue, _ := json.Marshal(payload)
client := &http.Client{}
request, _ := http.NewRequest("POST",
"https://realtime.oxylabs.io/v1/queries",
bytes.NewBuffer(jsonValue),
)
request.SetBasicAuth(Username, Password)
request.Header.Set("Content-Type", "application/json")
response, _ := client.Do(request)
responseText, _ := ioutil.ReadAll(response.Body)
fmt.Println(string(responseText))
}https://realtime.oxylabs.io/v1/queries?source=google_search&query=adidas&access_token=12345abcdepackage org.example;
import okhttp3.*;
import org.json.JSONObject;
import java.util.concurrent.TimeUnit;
public class Main implements Runnable {
private static final String AUTHORIZATION_HEADER = "Authorization";
public static final String USERNAME = "USERNAME";
public static final String PASSWORD = "PASSWORD";
public void run() {
JSONObject jsonObject = new JSONObject();
jsonObject.put("source", "google_search");
jsonObject.put("query", "adidas");
Authenticator authenticator = (route, response) -> {
String credential = Credentials.basic(USERNAME, PASSWORD);
return response
.request()
.newBuilder()
.header(AUTHORIZATION_HEADER, credential)
.build();
};
var client = new OkHttpClient.Builder()
.authenticator(authenticator)
.readTimeout(180, TimeUnit.SECONDS)
.build();
var mediaType = MediaType.parse("application/json; charset=utf-8");
var body = RequestBody.create(jsonObject.toString(), mediaType);
var request = new Request.Builder()
.url("https://realtime.oxylabs.io/v1/queries")
.post(body)
.build();
try (var response = client.newCall(request).execute()) {
if (response.body() != null) {
try (var responseBody = response.body()) {
System.out.println(responseBody.string());
}
}
} catch (Exception exception) {
System.out.println("Error: " + exception.getMessage());
}
System.exit(0);
}
public static void main(String[] args) {
new Thread(new Main()).start();
}
}{
"source": "google_search",
"query": "adidas"
}We use synchronous Realtime integration method in our examples. If you would like to use Proxy Endpoint or asynchronous Push-Pull integration, refer to the integration methods section.
Forming a request
Pick your integration method: synchronous (Realtime, Proxy Endpoint) or asynchronous (Push-Pull).
When forming a request, include the following elements:
Endpoint:
POST https://realtime.oxylabs.io/v1/queriesUsername and password (HTTP authentication). Create API user credentials either during your trial sign-up or product purchase.
USERNAME:PASSWORDIf you need more than one API user for your account, please contact our customer support or message our 24/7 live chat support.
Content-type. When submitting jobs, always add this header:
Content-Type: application/jsonPayload:
source- This parameter sets the scraper that will be used to process your request.URLorquery- Provide theURLorqueryfor the type of page you want to scrape. Refer to the table below and the corresponding target sub-pages for detailed guidance on when to use each parameter.Additional parameters: Optionally, you can include additional parameters such as
geo_location,user_agent_type,parse,renderand more to customize your scraping request.
{
"source": "google_search",
"query": "adidas",
"geo_location": "California,United States",
"parse": true
}Endpoint:
GET realtime.oxylabs.io:60000Ignore certificates. In
cURL, it's-kor--insecure.Username and password (HTTP authentication). Create API user credentials either during your trial sign-up or product purchase.
USERNAME:PASSWORDIf you need more than one API user for your account, please contact our customer support or message our 24/7 live chat support.
Payload:
URL- Provide theURLfor the page you want to scrape.Additional parameters: Optionally, you can include additional parameters such as
geo_location,user_agent_type,parse, and send them as headers.
curl -k -x realtime.oxylabs.io:60000 \
-U "USERNAME:PASSWORD" \
'https://www.google.com/search?q=adidas' \
-H "x-oxylabs-geo-location: California,United States" \
-H "x-oxylabs-parse: 1"Endpoint:
POST https://data.oxylabs.io/v1/queriesUsername and password (HTTP authentication). Create API user credentials either during your trial sign-up or product purchase.
USERNAME:PASSWORDIf you need more than one API user for your account, please contact our customer support or message our 24/7 live chat support.
Content-type. When submitting jobs, always add this header:
Content-Type: application/jsonPayload:
source- This parameter sets the scraper that will be used to process your request.URLorquery- Provide theURLorqueryfor the type of page you want to scrape. Refer to the table below and the corresponding target sub-pages for detailed guidance on when to use each parameter.Additional parameters: Optionally, you can include additional parameters such as
geo_location,user_agent_type,parse, and more to customize your scraping request.
{
"source": "google_search",
"query": "adidas",
"geo_location": "California,United States",
"parse": true
}Upon submitting a request, you will promptly receive a JSON response containing all job details, including job parameters, job ID, and URLs for downloading job results:
GET https://data.oxylabs.io/v1/queries/{job_id}/resultsGET https://data.oxylabs.io/v1/queries/{job_id}/results?type=rawGET https://data.oxylabs.io/v1/queries/{job_id}/results?type=parsedGET https://data.oxylabs.io/v1/queries/{job_id}/results?type=pnggoogle
google_search,
google_ads,
google_images,
google_lens,
google_maps,
google_travel_hotels,
google_suggest,
google_trends_explore
Marketplaces
Getting started
Select the online marketplace you want to scrape: Amazon, Google Shopping, Walmart, Best Buy, Etsy, Target, Other Websites.
Request sample
curl 'https://realtime.oxylabs.io/v1/queries' \
--user "USERNAME:PASSWORD" \
-H "Content-Type: application/json" \
-d '{
"source": "amazon_product",
"query": "B07FZ8S74R",
"geo_location": "90210",
"parse": true
}'import requests
from pprint import pprint
# Structure payload.
payload = {
'source': 'amazon_product',
'query': 'B07FZ8S74R',
'geo_location': '90210',
'parse': True
}
# Get response.
response = requests.request(
'POST',
'https://realtime.oxylabs.io/v1/queries',
auth=('USERNAME', 'PASSWORD'),
json=payload,
)
# Print prettified response to stdout.
pprint(response.json())const https = require("https");
const username = "USERNAME";
const password = "PASSWORD";
const body = {
source: "amazon_product",
query: "B07FZ8S74R",
geo_location: "90210",
parse: true,
};
const options = {
hostname: "realtime.oxylabs.io",
path: "/v1/queries",
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization:
"Basic " + Buffer.from(`${username}:${password}`).toString("base64"),
},
};
const request = https.request(options, (response) => {
let data = "";
response.on("data", (chunk) => {
data += chunk;
});
response.on("end", () => {
const responseData = JSON.parse(data);
console.log(JSON.stringify(responseData, null, 2));
});
});
request.on("error", (error) => {
console.error("Error:", error);
});
request.write(JSON.stringify(body));
request.end();<?php
$params = array(
'source' => 'amazon_product',
'query' => 'B07FZ8S74R',
'geo_location' => '90210',
'parse' => true,
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://realtime.oxylabs.io/v1/queries");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($params));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_USERPWD, "USERNAME" . ":" . "PASSWORD");
$headers = array();
$headers[] = "Content-Type: application/json";
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);
echo $result;
if (curl_errno($ch)) {
echo 'Error:' . curl_error($ch);
}
curl_close($ch);
?>using System;
using System.Net.Http;
using System.Net.Http.Json;
using System.Threading.Tasks;
namespace OxyApi
{
class Program
{
static async Task Main()
{
const string Username = "USERNAME";
const string Password = "PASSWORD";
var parameters = new {
source = "amazon_product",
query = "B07FZ8S74R",
geo_location = "90210",
parse = true
};
var client = new HttpClient();
Uri baseUri = new Uri("https://realtime.oxylabs.io");
client.BaseAddress = baseUri;
var requestMessage = new HttpRequestMessage(HttpMethod.Post, "/v1/queries");
requestMessage.Content = JsonContent.Create(parameters);
var authenticationString = $"{Username}:{Password}";
var base64EncodedAuthenticationString = Convert.ToBase64String(System.Text.Encoding.ASCII.GetBytes(authenticationString));
requestMessage.Headers.Add("Authorization", "Basic " + base64EncodedAuthenticationString);
var response = await client.SendAsync(requestMessage);
var contents = await response.Content.ReadAsStringAsync();
Console.WriteLine(contents);
}
}
}package main
import (
"bytes"
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
)
func main() {
const Username = "USERNAME"
const Password = "PASSWORD"
payload := map[string]interface{}{
"source": "amazon_product",
"query": "B07FZ8S74R",
"geo_location": "90210",
"parse": true,
}
jsonValue, _ := json.Marshal(payload)
client := &http.Client{}
request, _ := http.NewRequest("POST",
"https://realtime.oxylabs.io/v1/queries",
bytes.NewBuffer(jsonValue),
)
request.SetBasicAuth(Username, Password)
request.Header.Set("Content-Type", "application/json")
response, _ := client.Do(request)
responseText, _ := ioutil.ReadAll(response.Body)
fmt.Println(string(responseText))
}https://realtime.oxylabs.io/v1/queries?source=amazon_product&query=B07FZ8S74R&geo_location=90210&parse=true&access_token=12345abcdepackage org.example;
import okhttp3.*;
import org.json.JSONObject;
import java.util.concurrent.TimeUnit;
public class Main implements Runnable {
private static final String AUTHORIZATION_HEADER = "Authorization";
public static final String USERNAME = "USERNAME";
public static final String PASSWORD = "PASSWORD";
public void run() {
JSONObject jsonObject = new JSONObject();
jsonObject.put("source", "amazon_product");
jsonObject.put("query", "B07FZ8S74R");
jsonObject.put("geo_location", "90210");
jsonObject.put("parse", true);
Authenticator authenticator = (route, response) -> {
String credential = Credentials.basic(USERNAME, PASSWORD);
return response
.request()
.newBuilder()
.header(AUTHORIZATION_HEADER, credential)
.build();
};
var client = new OkHttpClient.Builder()
.authenticator(authenticator)
.readTimeout(180, TimeUnit.SECONDS)
.build();
var mediaType = MediaType.parse("application/json; charset=utf-8");
var body = RequestBody.create(jsonObject.toString(), mediaType);
var request = new Request.Builder()
.url("https://realtime.oxylabs.io/v1/queries")
.post(body)
.build();
try (var response = client.newCall(request).execute()) {
if (response.body() != null) {
try (var responseBody = response.body()) {
System.out.println(responseBody.string());
}
}
} catch (Exception exception) {
System.out.println("Error: " + exception.getMessage());
}
System.exit(0);
}
public static void main(String[] args) {
new Thread(new Main()).start();
}
}{
"source": "amazon_product",
"query": "B07FZ8S74R",
"geo_location": "90210",
"parse": true
}We use synchronous Realtime integration method in our examples. If you would like to use Proxy Endpoint or asynchronous Push-Pull integration, refer to the integration methods section.
Forming a request
Pick your integration method: synchronous (Realtime, Proxy Endpoint) or asynchronous (Push-Pull).
When forming a request, include the following elements:
Endpoint:
POST https://realtime.oxylabs.io/v1/queriesUsername and password (HTTP authentication). Create API user credentials either during your trial sign-up or product purchase.
USERNAME:PASSWORDIf you need more than one API user for your account, please contact our customer support or message our 24/7 live chat support.
Content-type. When submitting jobs, always add this header:
Content-Type: application/jsonPayload:
source- This parameter sets the scraper that will be used to process your request.URLorquery- Provide theURLorqueryfor the type of page you want to scrape. Refer to the table below and the corresponding target sub-pages for detailed guidance on when to use each parameter.Additional parameters: Optionally, you can include additional parameters such as
geo_location,user_agent_type,parse,renderand more to customize your scraping request.
{
"source": "amazon_product",
"query": "B07FZ8S74R",
"geo_location": "90210",
"parse": true
}Endpoint:
GET realtime.oxylabs.io:60000Ignore certificates. In
cURL, it's-kor--insecure.Username and password (HTTP authentication). Create API user credentials either during your trial sign-up or product purchase.
USERNAME:PASSWORDIf you need more than one API user for your account, please contact our customer support or message our 24/7 live chat support.
Payload:
URL- Provide theURLfor the page you want to scrape.Additional parameters: Optionally, you can include additional parameters such as
geo_location,user_agent_type,parse, and send them as headers.
curl -k -x realtime.oxylabs.io:60000 \
-U "USERNAME:PASSWORD" \
'https://www.amazon.com/dp/b07fz8s74r' \
-H "x-oxylabs-geo-location: 90210" \
-H "x-oxylabs-parse: 1"Endpoint:
POST https://data.oxylabs.io/v1/queriesUsername and password (HTTP authentication). Create API user credentials either during your trial sign-up or product purchase.
USERNAME:PASSWORDIf you need more than one API user for your account, please contact our customer support or message our 24/7 live chat support.
Content-type. When submitting jobs, always add this header:
Content-Type: application/jsonPayload:
source- This parameter sets the scraper that will be used to process your request.URLorquery- Provide theURLorqueryfor the type of page you want to scrape. Refer to the table below and the corresponding target sub-pages for detailed guidance on when to use each parameter.Additional parameters: Optionally, you can include additional parameters such as
geo_location,user_agent_type,parse, and more to customize your scraping request.
{
"source": "amazon_product",
"query": "B07FZ8S74R",
"geo_location": "90210",
"parse": true
}Upon submitting a request, you will promptly receive a JSON response containing all job details, including job parameters, job ID, and URLs for downloading job results:
GET https://data.oxylabs.io/v1/queries/{job_id}/resultsGET https://data.oxylabs.io/v1/queries/{job_id}/results?type=rawGET https://data.oxylabs.io/v1/queries/{job_id}/results?type=parsedGET https://data.oxylabs.io/v1/queries/{job_id}/results?type=pnamazon
amazon_product,
amazon_search,
amazon_pricing,
amazon_sellers,
amazon_bestsellers,
amazon_reviews,
amazon_questions
Other websites
Getting started
Scrape any URL with our universal source. You can also add additional parameters.
Request sample
curl 'https://realtime.oxylabs.io/v1/queries' \
--user 'USERNAME:PASSWORD' \
-H 'Content-Type: application/json' \
-d '{
"source": "universal",
"url": "https://sandbox.oxylabs.io/"
}'import requests
from pprint import pprint
# Structure payload.
payload = {
'source': 'universal',
'url': 'https://sandbox.oxylabs.io/',
# 'render': 'html', # If page type requires
}
# Get response.
response = requests.request(
'POST',
'https://realtime.oxylabs.io/v1/queries',
auth=('USERNAME', 'PASSWORD'), # Your credentials go here
json=payload,
)
# Instead of response with job status and results url, this will return the
# JSON response with results.
pprint(response.json())const https = require("https");
const username = "USERNAME";
const password = "PASSWORD";
const body = {
source: "universal",
url: "https://sandbox.oxylabs.io/",
// 'render': 'html' // If page type requires
};
const options = {
hostname: "realtime.oxylabs.io",
path: "/v1/queries",
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: "Basic " + Buffer.from(`${username}:${password}`).toString("base64"),
},
};
const request = https.request(options, (response) => {
let data = "";
response.on("data", (chunk) => {
data += chunk;
});
response.on("end", () => {
const responseData = JSON.parse(data);
console.log(JSON.stringify(responseData, null, 2));
});
});
request.on("error", (error) => {
console.error("Error:", error);
});
request.write(JSON.stringify(body));
request.end();# The whole string you submit has to be URL-encoded.
https://realtime.oxylabs.io/v1/queries?source=universal&url=https%3A%2F%2Fsandbox.oxylabs.io%2F&access_token=12345abcde<?php
$params = array(
'source' => 'universal',
'url' => 'https://sandbox.oxylabs.io/',
// 'render' => 'html' // If page type requires
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://realtime.oxylabs.io/v1/queries");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($params));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_USERPWD, "USERNAME" . ":" . "PASSWORD");
$headers = array();
$headers[] = "Content-Type: application/json";
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);
echo $result;
if (curl_errno($ch)) {
echo 'Error:' . curl_error($ch);
}
curl_close($ch);package main
import (
"bytes"
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
)
func main() {
const Username = "USERNAME"
const Password = "PASSWORD"
payload := map[string]interface{}{
"source": "universal",
"url": "https://sandbox.oxylabs.io/",
// "render": "html" // If page type requires
}
jsonValue, _ := json.Marshal(payload)
client := &http.Client{}
request, _ := http.NewRequest("POST",
"https://realtime.oxylabs.io/v1/queries",
bytes.NewBuffer(jsonValue),
)
request.SetBasicAuth(Username, Password)
response, _ := client.Do(request)
responseText, _ := ioutil.ReadAll(response.Body)
fmt.Println(string(responseText))
}using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Json;
using System.Threading.Tasks;
namespace OxyApi
{
class Program
{
static async Task Main()
{
const string Username = "USERNAME";
const string Password = "PASSWORD";
var parameters = new {
source = "universal",
url = "https://sandbox.oxylabs.io/",
// render = "html", // If page type requires
};
var client = new HttpClient();
Uri baseUri = new Uri("https://realtime.oxylabs.io");
client.BaseAddress = baseUri;
var requestMessage = new HttpRequestMessage(HttpMethod.Post, "/v1/queries");
requestMessage.Content = JsonContent.Create(parameters);
var authenticationString = $"{Username}:{Password}";
var base64EncodedAuthenticationString = Convert.ToBase64String(System.Text.ASCIIEncoding.UTF8.GetBytes(authenticationString));
requestMessage.Headers.Add("Authorization", "Basic " + base64EncodedAuthenticationString);
var response = await client.SendAsync(requestMessage);
var contents = await response.Content.ReadAsStringAsync();
Console.WriteLine(contents);
}
}
}package org.example;
import okhttp3.*;
import org.json.JSONObject;
import java.util.concurrent.TimeUnit;
public class Main implements Runnable {
private static final String AUTHORIZATION_HEADER = "Authorization";
public static final String USERNAME = "USERNAME";
public static final String PASSWORD = "PASSWORD";
public void run() {
JSONObject jsonObject = new JSONObject();
jsonObject.put("source", "universal");
jsonObject.put("url", "https://sandbox.oxylabs.io/");
Authenticator authenticator = (route, response) -> {
String credential = Credentials.basic(USERNAME, PASSWORD);
return response
.request()
.newBuilder()
.header(AUTHORIZATION_HEADER, credential)
.build();
};
var client = new OkHttpClient.Builder()
.authenticator(authenticator)
.readTimeout(180, TimeUnit.SECONDS)
.build();
var mediaType = MediaType.parse("application/json; charset=utf-8");
var body = RequestBody.create(jsonObject.toString(), mediaType);
var request = new Request.Builder()
.url("https://realtime.oxylabs.io/v1/queries")
.post(body)
.build();
try (var response = client.newCall(request).execute()) {
if (response.body() != null) {
try (var responseBody = response.body()) {
System.out.println(responseBody.string());
}
}
} catch (Exception exception) {
System.out.println("Error: " + exception.getMessage());
}
System.exit(0);
}
public static void main(String[] args) {
new Thread(new Main()).start();
}
}{
"source": "universal",
"url": "https://sandbox.oxylabs.io/"
}We use synchronous Realtime integration method in our examples. If you would like to use Proxy Endpoint or asynchronous Push-Pull integration, refer to the integration methods section.
Forming a request
Pick your integration method: synchronous (Realtime, Proxy Endpoint) or asynchronous (Push-Pull).
When forming a request, include the following elements:
Endpoint:
POST https://realtime.oxylabs.io/v1/queriesUsername and password (HTTP authentication). Create API user credentials either during your trial sign-up or product purchase.
USERNAME:PASSWORDIf you need more than one API user for your account, please contact our customer support or message our 24/7 live chat support.
Content-type. When submitting jobs, always add this header:
Content-Type: application/jsonPayload.
source- This parameter sets the scraper that will be used to process your request.URL- Provide theURLof the target you want to scrape, for example:Real Estate: Idealista, Redfin, Zillow, Zoopla
Travel: Airbnb, Agoda, Booking, TripAdvisor
Automotive: Crunchbase, ZoomInfo, AngelList, Product Hunt
Company data: Netflix, SoundCloud, YouTube, IMDb
Entertainment: AutoEurope, Autotrader, RockAuto, Halfords
Any other.
Additional parameters: Optionally, you can include additional parameters such as
geo_location,user_agent_type, and more to customize your scraping request.
{ "source": "universal", "url": "https://www.zillow.com/homedetails/10066-Cielo-Dr-Beverly-Hills-CA-90210/243990393_zpid/" }
Endpoint:
GET realtime.oxylabs.io:60000Ignore certificates. In
cURL, it's-kor--insecure.Username and password (HTTP authentication). Create API user credentials either during your trial sign-up or product purchase.
USERNAME:PASSWORDIf you need more than one API user for your account, please contact our customer support or message our 24/7 live chat support.
Payload:
URL- Provide theURLfor the page you want to scrape, for example:Real Estate: Idealista, Redfin, Zillow, Zoopla
Travel: Airbnb, Agoda, Booking, TripAdvisor
Automotive: Crunchbase, ZoomInfo, AngelList, Product Hunt
Company data: Netflix, SoundCloud, YouTube, IMDb
Entertainment: AutoEurope, Autotrader, RockAuto, Halfords
Any other.
Additional parameters: Optionally, you can include additional parameters such as
geo_location,user_agent_type, and send them as headers.
curl -k -x realtime.oxylabs.io:60000 \
-U "USERNAME:PASSWORD" \
'https://www.zillow.com/homedetails/10066-Cielo-Dr-Beverly-Hills-CA-90210/243990393_zpid/' Endpoint:
POST https://data.oxylabs.io/v1/queriesUsername and password (HTTP authentication). Create API user credentials either during your trial sign-up or product purchase.
USERNAME:PASSWORDIf you need more than one API user for your account, please contact our customer support or message our 24/7 live chat support.
Content-type. When submitting jobs, always add this header:
Content-Type: application/jsonPayload.
source- This parameter sets the scraper that will be used to process your request.URL- Provide theURLof the target you want to scrape, for example:Real Estate: Idealista, Redfin, Zillow, Zoopla
Travel: Airbnb, Agoda, Booking, TripAdvisor
Automotive: Crunchbase, ZoomInfo, AngelList, Product Hunt
Company data: Netflix, SoundCloud, YouTube, IMDb
Entertainment: AutoEurope, Autotrader, RockAuto, Halfords
Any other.
Additional parameters: Optionally, you can include additional parameters such as
geo_location,user_agent_type, and more to customize your scraping request.
{ "source": "universal", "url": "https://www.zillow.com/homedetails/10066-Cielo-Dr-Beverly-Hills-CA-90210/243990393_zpid/" }Upon submitting a request, you will promptly receive a JSON response containing all job details, including job parameters, job ID, and URLs for downloading job results:
GET https://data.oxylabs.io/v1/queries/{job_id}/resultsGET https://data.oxylabs.io/v1/queries/{job_id}/results?type=rawGET https://data.oxylabs.io/v1/queries/{job_id}/results?type=parsedGET https://data.oxylabs.io/v1/queries/{job_id}/results?type=pnLast updated
Was this helpful?

