Postal Code (ZIP Code) Targeting
Postal code targeting
Scrape.do supports postal code (ZIP code) based targeting for proxy requests. This allows you to access location-specific content such as local pricing, regional search results, and geo-restricted pages by routing your requests through proxies in a specific postal code area.
Required: Postal code targeting requires both super=true and a valid geoCode parameter. It only works with Residential & Mobile proxies.
Usage
Add the postalcode (or zipcode) parameter to your API request along with super=true and geoCode:
https://api.scrape.do?token=YOUR_TOKEN&url=TARGET_URL&super=true&geoCode=us&postalcode=90210Parameters
| Parameter | Required | Description |
|---|---|---|
super | Yes | Must be true. Postal code targeting only works with Residential & Mobile proxies. |
geoCode | Yes | 2-letter country code (ISO 3166-1 alpha-2). Example: us, gb, de |
postalcode or zipcode | Yes | The postal code for the target area. Both parameter names are interchangeable and work identically. |
Supported Countries & Example Postal Codes
Below is a list of Example countries with example postal codes you can use:
| Country | geoCode | Format | Example Postal Codes |
|---|---|---|---|
| United States | us | 5-digit | 90210, 10001, 60601, 30301, 98101 |
| United Kingdom | gb | Alphanumeric (A9A 9AA) | SW1A1AA, EC1A1BB, E14, SE1, M1 |
| Germany | de | 5-digit | 10115, 80331, 20095, 50667, 70173 |
| France | fr | 5-digit | 75001, 13001, 69001, 31000, 33000 |
| Canada | ca | Alphanumeric (A9A 9A9) | M5V3L9, V6B1A1, H3B1A7, T2P1J9 |
| Australia | au | 4-digit | 2000, 3000, 4000, 5000, 6000 |
| India | in | 6-digit | 110001, 400001, 560001, 600001 |
| Netherlands | nl | 4-digit + 2 letters | 1012AB, 3011AA, 1000AA |
| Italy | it | 5-digit | 00100, 20100, 80100, 50100 |
| Spain | es | 5-digit | 28001, 08001, 41001, 46001 |
| Brazil | br | 5 or 8-digit | 01001, 20040, 30130, 01001000 |
| Japan | jp | 7-digit (with or without hyphen) | 100-0001, 530-0001, 460-0008 |
Important Notes
postalcodeandzipcodeparameters are interchangeable — both work identically.geoCodeis required. A postal code alone without a country code will not work.super=trueis required. Without it, the postal code parameter will be ignored and requests will be routed through datacenter proxies.- Postal codes should be sent without spaces. For example, use
SW1A1AAinstead ofSW1A 1AAfor UK postal codes.
Example Requests
# United States — Beverly Hills area
&super=true&geoCode=us&postalcode=90210
# United States — New York area
&super=true&geoCode=us&zipcode=10001
# United Kingdom — Central London
&super=true&geoCode=gb&postalcode=SW1A1AA
# Germany — Berlin
&super=true&geoCode=de&postalcode=10115
# Japan — Tokyo (Chiyoda)
&super=true&geoCode=jp&postalcode=100-0001Code Examples
curl --location --request GET 'https://api.scrape.do/?url=https://httpbin.co/anything&token=YOUR_TOKEN&super=true&geoCode=us&postalcode=90210'import requests
import urllib.parse
token = "YOUR_TOKEN"
targetUrl = urllib.parse.quote("https://httpbin.co/anything")
geoCode = "us"
postalcode = "90210"
url = "http://api.scrape.do/?token={}&url={}&super=true&geoCode={}&postalcode={}".format(token, targetUrl, geoCode, postalcode)
response = requests.request("GET", url)
print(response.text)const axios = require('axios');
const token = "YOUR_TOKEN";
const targetUrl = encodeURIComponent("https://httpbin.co/anything");
const geoCode = "us";
const postalcode = "90210";
const config = {
'method': 'GET',
'url': `https://api.scrape.do/?token=${token}&url=${targetUrl}&super=true&geoCode=${geoCode}&postalcode=${postalcode}`,
'headers': {}
};
axios(config)
.then(function (response) {
console.log(response.data);
})
.catch(function (error) {
console.log(error);
});package main
import (
"fmt"
"io/ioutil"
"net/http"
"net/url"
)
func main() {
token := "YOUR_CODE"
encoded_url := url.QueryEscape("https://httpbin.co/anything")
url := fmt.Sprintf("https://api.scrape.do/?token=%s&url=%s&super=true&geoCode=us&postalcode=90210", token, encoded_url)
method := "GET"
client := &http.Client{}
req, err := http.NewRequest(method, url, nil)
if err != nil {
fmt.Println(err)
return
}
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}require "uri"
require "net/http"
require 'cgi'
str = CGI.escape "https://httpbin.co/anything"
url = URI("https://api.scrape.do/?url=" + str + "&token=YOUR_TOKEN&super=true&geoCode=us&postalcode=90210")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Get.new(url)
response = https.request(request)
puts response.read_bodyOkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = RequestBody.create(mediaType, "");
String encoded_url = URLEncoder.encode("https://httpbin.co/anything", "UTF-8");
Request request = new Request.Builder()
.url("https://api.scrape.do/?url=" + encoded_url + "&token=YOUR_TOKEN&super=true&geoCode=us&postalcode=90210")
.method("GET", body)
.build();
Response response = client.newCall(request).execute();string token = "YOUR_TOKEN";
string url = WebUtility.UrlEncode("https://httpbin.co/anything");
var client = new HttpClient();
var requestURL = $"https://api.scrape.do/?token={token}&url={url}&super=true&geoCode=us&postalcode=90210";
var request = new HttpRequestMessage(HttpMethod.Get, requestURL);
var response = client.SendAsync(request).Result;
var content = response.Content.ReadAsStringAsync().Result;
Console.WriteLine(content);<?php
$curl = curl_init();
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, false);
$data = [
"url" => "https://httpbin.co/anything",
"token" => "YOUR_TOKEN",
"super" => "true",
"geoCode" => "us",
"postalcode" => "90210"
];
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($curl, CURLOPT_URL, "https://api.scrape.do/?".http_build_query($data));
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
"Accept: */*",
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
?>
