URL
Learn how to get data from any Lowe's URL using the Web Scraper API. Find out more about its request parameters and see code examples.
The lowes data source is designed to retrieve any Lowe's URLs.
Request samples
In the samples below, we make a request to retrieve an example Lowes URL.
curl 'https://realtime.oxylabs.io/v1/queries' \
--user 'USERNAME:PASSWORD' \
-H 'Content-Type: application/json' \
-d '{
        "source": "lowes",
        "url": "https://www.lowes.com/pd/Apple-iPhone-13-Pro-Clear-Case-with-MagSafe/5012490299",
        "store_id": 2752,
        "delivery_zip": "22313",
        "render": "html"
    }'import requests
from pprint import pprint
# Structure payload.
payload = {
    'source': 'lowes',
    'url': 'https://www.lowes.com/pd/Apple-iPhone-13-Pro-Clear-Case-with-MagSafe/5012490299'
    'store_id': 2752,
    'delivery_zip': '22313',
    'render': 'html'
}
# Get response.
response = requests.request(
    'POST',
    'https://realtime.oxylabs.io/v1/queries',
    auth=('USERNAME', 'PASSWORD'),
    json=payload,
)
# Instead of response with job status and results url, this will return the
# JSON response with the result.
pprint(response.json())const https = require("https");
const username = "USERNAME";
const password = "PASSWORD";
const body = {
    source: "lowes_product",
    url: "https://www.lowes.com/pd/Apple-iPhone-13-Pro-Clear-Case-with-MagSafe/5012490299",
    store_id: 2752,
    delivery_zip: "22313",
    render: "html"
};
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=lowes&url=https://www.lowes.com/pd/Apple-iPhone-13-Pro-Clear-Case-with-MagSafe/5012490299&access_token=12345abcde<?php
$params = array(
    'source' => 'lowes',
    'url' => 'https://www.lowes.com/pd/Apple-iPhone-13-Pro-Clear-Case-with-MagSafe/5012490299',
    'store_id' => 2752,
    'delivery_zip' => '22313',
    'render' => 'html'
);
$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":       "lowes",
		"url":   "https://www.lowes.com/pd/Apple-iPhone-13-Pro-Clear-Case-with-MagSafe/5012490299",
		"store_id": 	2752,
       		"delivery_zip": "22313",
        	"render": 	"html"
	}
	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 = "lowes",
                url = "https://www.lowes.com/pd/Apple-iPhone-13-Pro-Clear-Case-with-MagSafe/5012490299",
                store_id" = 2752,
                delivery_zip = "22313",
                render = "html"
            };
            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", "lowes");
        jsonObject.put("url", "https://www.lowes.com/pd/Apple-iPhone-13-Pro-Clear-Case-with-MagSafe/5012490299")
        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": "lowes", 
    "url": "https://www.lowes.com/pd/Apple-iPhone-13-Pro-Clear-Case-with-MagSafe/5012490299",
    "store_id": 2752,
    "delivery_zip": "22313",
    "render": "html"
}Request parameter values
Generic
Basic setup and customization options for scraping Lowe's URLs.
- mandatory parameter
Localization
Customize results based on store locations, delivery areas.
Parameter
Description
Default Value
Type
store_id
Specify a store.
-
Integer
delivery_zip
Specify delivery location ZIP code.
-
String
Last updated
Was this helpful?

