Zoopla Property Listings Data

Vytenis Kaubrė
Last updated on
2025-03-12
3 min read
Vytenis Kaubrė
Last updated on
2025-03-12
3 min read
With the help of OxyCopilot you can effortlessly create scraping and parsing instructions to gather public Zoopla property data without writing any code. Just explain your needs in plain English, and the system will automatically create optimized parsing logic for use with Web Scraper API.
We've prepared an example explaining how to use OxyCopilot and the necessary details to collect public property listings data from Zoopla.
Before using OxyCopilot, you need to register for our dashboard, claim a free trial (or choose a suitable plan) for our Web Scraper API, and create an API user. OxyCopilot lets you build scrapers while leveraging Oxylabs’ advanced scraping infrastructure, so you won’t be able to generate scraping and parsing instructions without the mentioned steps. You can find more information about it in the Getting Started part.
Copy
Parse the real estate listings page. From each listing, extract the following data:
- Price.
- Additional price information: Fixed price, offers over, guide price, etc.
- Description.
- Beds: Extract the integer value.
- Baths: Extract the integer value.
- Receptions: Extract the integer value.
- Square footage: Extract the integer value.
- Address.
- Ownership type.
- Listing link.
This tutorial is continuously updated, but errors can still occur. Feel free to regenerate the prompt or contact us if you need help.
An overview of OxyCopilot after providing all the necessary details to get results
Once you complete all the steps and follow our instructions for using OxyCopilot, this is the final result you should expect:
Copy
{
"listings": [
{
"beds": 2,
"baths": 1,
"price": "\u00a3585,000",
"address": "Sulgrave Road, London W6",
"receptions": null,
"description": "A great opportunity to purchase a larger 2 bedroom flat over 760 sq ft with high ceilings, in a secured block offering great ...",
"listing_link": "/for-sale/details/69233429/",
"ownership_type": "Reduced",
"square_footage": null,
"additional_price_info": "Offers over"
},
{
"beds": 3,
"baths": 1,
"price": "\u00a3500,000",
"address": "Waverley Road, London SE25",
"receptions": 2,
"description": "We are delighted to present this charming 3-bedroom family home situated on the ever-popular Waverley Road, just a short ...",
"listing_link": "/for-sale/details/69280436/",
"ownership_type": "Chain free",
"square_footage": null,
"additional_price_info": null
},
{
"beds": 2,
"baths": 2,
"price": "\u00a3500,000",
"address": "The Thomas More Building, Ickenham Road, Ruislip HA4",
"receptions": 1,
"description": "A beautifully presented duplex apartment offering modern living within a desirable and central location. This spacious ...",
"listing_link": "/for-sale/details/68654047/",
"ownership_type": "Leasehold",
"square_footage": null,
"additional_price_info": null
},
{
"beds": 2,
"baths": 1,
"price": "\u00a3375,000",
"address": "Maitland Road, Stratford, London E15",
"receptions": 1,
"description": "A fantastic 2 bedroom apartment, securely set on the 2nd floor, offering a wonderful open-plan living space with ample room ...",
"listing_link": "/for-sale/details/69706877/",
"ownership_type": "Leasehold",
"square_footage": 698,
"additional_price_info": null
},
{
"beds": 3,
"baths": 1,
"price": "\u00a3750,000",
"address": "The Woodlands, Hither Green SE13",
"receptions": 1,
"description": "A beautifully refurbished home in Hither Green, blending original charm with stylish modern updates. Spacious, full of ...",
"listing_link": "/for-sale/details/69706879/",
"ownership_type": "Chain free",
"square_footage": null,
"additional_price_info": "Guide price"
},
{
"beds": 2,
"baths": 1,
"price": "\u00a3280,000",
"address": "London Road, Romford RM7",
"receptions": 1,
"description": "**two/three bedroom duplex apartment** Located on the popular London Road and within easy reach of Romford Town Centre and ...",
"listing_link": "/for-sale/details/69706872/",
"ownership_type": "Leasehold",
"square_footage": null,
"additional_price_info": "Guide price"
},
{
"beds": 2,
"baths": 1,
"price": "\u00a3375,000",
"address": "Granville Place, High Road, London N12",
"receptions": 1,
"description": "Situated in the highly sought-after Granville Place development in North Finchley, this beautifully presented two-bedroom ...",
"listing_link": "/for-sale/details/69706857/",
"ownership_type": "Leasehold",
"square_footage": null,
"additional_price_info": "Offers over"
},
{
"beds": 2,
"baths": 1,
"price": "\u00a3385,000",
"address": "Sisley Road, Barking IG11",
"receptions": 1,
"description": "William H Brown are Delighted to offer for sale this Refurbished Two Bedroom House. The property benefits from a Chic ...",
"listing_link": "/for-sale/details/69706860/",
"ownership_type": "Freehold",
"square_footage": null,
"additional_price_info": "Offers over"
},
{
"beds": 1,
"baths": 1,
"price": "\u00a3412,500",
"address": "Alexandra Gate, Harringay N8",
"receptions": 443,
"description": "**beat stamp duty now** with exclusive incentives?move in ready and waiting for you! This amazing suite apartment is set on ...",
"listing_link": "/new-homes/details/69706847/",
"ownership_type": "Leasehold",
"square_footage": null,
"additional_price_info": null
},
{
"beds": 2,
"baths": 1,
"price": "\u00a3700,000",
"address": "Norroy Road, Putney, London SW15",
"receptions": 1,
"description": "Excellently located, this 2 bedroom ground floor flat offers charming accommodation near amenities and Putney Station. It ...",
"listing_link": "/for-sale/details/69706825/",
"ownership_type": "Leasehold",
"square_footage": 720,
"additional_price_info": null
},
{
"beds": 2,
"baths": 2,
"price": "\u00a3556,000",
"address": "Saffron Central Square, Croydon CR0",
"receptions": 1,
"description": "A Fantastic two double-bedroom duplex penthouse with a 900sqft of roof terrace in Saffron Square, next to West Croydon Railway ...",
"listing_link": "/for-sale/details/69706830/",
"ownership_type": "Leasehold",
"square_footage": 1345,
"additional_price_info": null
},
{
"beds": 2,
"baths": 2,
"price": "\u00a3850,000",
"address": "Charrington Tower, New Providance Wharf E14",
"receptions": 2,
"description": "Johns&co is proud to present a truly remarkable dual aspect two bedroom, two bathroom apartment located on the 34th floor of ...",
"listing_link": "/for-sale/details/69706818/",
"ownership_type": "Leasehold",
"square_footage": null,
"additional_price_info": null
},
{
"beds": 2,
"baths": 2,
"price": "\u00a3850,000",
"address": "Forum Magnum Square, Waterloo, London SE1",
"receptions": 1,
"description": "A bright, south-west-facing 2 bedroom flat situated in a popular apartment block with a gym and a swimming pool, offering ...",
"listing_link": "/for-sale/details/69706739/",
"ownership_type": "Leasehold",
"square_footage": 712,
"additional_price_info": null
},
{
"beds": 3,
"baths": 1,
"price": "\u00a3500,000",
"address": "Ashby Avenue, Chessington KT9",
"receptions": 2,
"description": "An extended three bedroom house situated in a popular location on the west ewell border with lounge and dining room, modern ...",
"listing_link": "/for-sale/details/69706720/",
"ownership_type": "Freehold",
"square_footage": null,
"additional_price_info": "Offers over"
},
{
"beds": 3,
"baths": 1,
"price": "\u00a3700,000",
"address": "20 Palmers Rd, London E2",
"receptions": 1,
"description": "Stunning three bedroom split level waterside apartment with private terrace and allocated underground parking (optional, under ...",
"listing_link": "/for-sale/details/69706718/",
"ownership_type": "Leasehold",
"square_footage": null,
"additional_price_info": "Offers over"
},
{
"beds": 1,
"baths": 1,
"price": "\u00a3800,000",
"address": "Frobisher Crescent, Barbican, London EC2Y",
"receptions": 1,
"description": "Lovely barrel-vaulted ceiling one-bedroom split level apartment, larger than average. Located on the top floor (9th). ...",
"listing_link": "/for-sale/details/69706711/",
"ownership_type": "Leasehold",
"square_footage": 691,
"additional_price_info": null
},
{
"beds": 3,
"baths": 1,
"price": "\u00a3585,000",
"address": "Monega Road, London E7",
"receptions": 1,
"description": "Property Masterz UK Ltd proudly presents a lovely three-bedroom house, featuring a spacious reception, a modern bathroom, and ...",
"listing_link": "/for-sale/details/69706703/",
"ownership_type": null,
"square_footage": null,
"additional_price_info": "Guide price"
},
{
"beds": 2,
"baths": 2,
"price": "\u00a3695,000",
"address": "Melbray Mews, London SW6",
"receptions": 1,
"description": "A superbly presented two bedroom apartment on the first floor of this private modern development. The property has a spacious ...",
"listing_link": "/for-sale/details/69706704/",
"ownership_type": "Leasehold",
"square_footage": 649,
"additional_price_info": null
},
{
"beds": 2,
"baths": 1,
"price": "\u00a31,150,000",
"address": "Rees Street, London N1",
"receptions": 1,
"description": "This beautifully presented two double bedroom Victorian maisonette is set within the Arlington Conservation area. Light and ...",
"listing_link": "/for-sale/details/69706699/",
"ownership_type": "Share of Freehold",
"square_footage": null,
"additional_price_info": null
},
{
"beds": 4,
"baths": 2,
"price": "\u00a31,200,000",
"address": "Tangier Road, Richmond TW10",
"receptions": 2,
"description": "An exceptional four-bedroom semi-detached house with almost 1500 sq ft of accommodation over two floors. No chain.",
"listing_link": "/for-sale/details/69706628/",
"ownership_type": "Chain free",
"square_footage": null,
"additional_price_info": "Guide price"
},
{
"beds": 2,
"baths": 2,
"price": "\u00a3525,000",
"address": "Cheshire Street, London E2",
"receptions": 1,
"description": "Spanning 719 sq. Ft, this modern two-bedroom apartment is located in a purpose-built development just off Brick Lane. The ...",
"listing_link": "/for-sale/details/69706626/",
"ownership_type": "Leasehold",
"square_footage": null,
"additional_price_info": null
},
{
"beds": 1,
"baths": 1,
"price": "\u00a3300,000",
"address": "Blackdown Close, London N2",
"receptions": 1,
"description": "We offer for sale an attractive one-bedroom purpose-built flat located on the ground floor of this popular and modern block. ...",
"listing_link": "/for-sale/details/69706613/",
"ownership_type": "Leasehold",
"square_footage": null,
"additional_price_info": null
},
{
"beds": 1,
"baths": 1,
"price": "\u00a3200,000",
"address": "Vicarage Farm Road, Heston, Hounslow TW5",
"receptions": 1,
"description": "Over 55's First Floor Retirement Flat with Stairlift \u2013 Vicarage Farm Court, Vicarage Farm Road, Hounslow, TW5 Move Inn ...",
"listing_link": "/for-sale/details/69706586/",
"ownership_type": "Retirement",
"square_footage": 481,
"additional_price_info": "Guide price"
},
{
"beds": 2,
"baths": 1,
"price": "\u00a3700,000",
"address": "Lowden Court, Prestwood Street N1",
"receptions": 1,
"description": "A bright and spacious 2 bedroom apartment located on the third floor of a sought after development moments from Old Street and ...",
"listing_link": "/for-sale/details/69706591/",
"ownership_type": "Leasehold",
"square_footage": null,
"additional_price_info": null
},
{
"beds": 2,
"baths": 2,
"price": "\u00a31,050,000",
"address": "Leman Street, London E1",
"receptions": 2,
"description": "Set within a converted Edwardian mansion a short walk from the City, is this luxury duplex two bedroom, two bathroom ...",
"listing_link": "/for-sale/details/69706574/",
"ownership_type": "Leasehold",
"square_footage": 1432,
"additional_price_info": null
},
{
"beds": 3,
"baths": 1,
"price": "\u00a3550,000",
"address": "Dawlish Drive, Ruislip HA4",
"receptions": 1,
"description": "This extended three bedroom terrace house on Dawlish Drive, is a must see and one that's not to be missed, as it has been ...",
"listing_link": "/for-sale/details/69706549/",
"ownership_type": "Freehold",
"square_footage": null,
"additional_price_info": "Offers over"
},
{
"beds": 3,
"baths": 2,
"price": "\u00a33,100,000",
"address": "De Laszlo House, Fitzjohns Avenue NW3",
"receptions": 1,
"description": "Sole agent. A spectacular and lateral three bedroom apartment situated in this desirable secure development served by lifts ...",
"listing_link": "/for-sale/details/69706548/",
"ownership_type": "Leasehold",
"square_footage": null,
"additional_price_info": null
},
{
"beds": 2,
"baths": 2,
"price": "\u00a3875,000",
"address": "The Brambles, Woodside, Wimbledon, London SW19",
"receptions": 2,
"description": "A lovely two bedroom duplex flat with off street parking close to Wimbledon Station and the Village.",
"listing_link": "/for-sale/details/69706530/",
"ownership_type": "Leasehold",
"square_footage": null,
"additional_price_info": "Guide price"
}
]
}
OxyCopilot creates a parsing schema detailing the data structure, such as object type, field names, and descriptions. AI then uses this schema to generate instructions, which you can edit in Web Scraper APIs Playground to meet your parsing requirements.
Object type | Name | Description |
---|---|---|
Array of objects | listings | List of real estate listings. |
String | price | |
String | additional_price_info | Additional price information such as fixed price, offers over, guide price, etc. |
String | description | |
Number | beds | Number of beds. |
Number | baths | Number of baths. |
Number | receptions | Number of receptions. |
Number | square_footage | Square footage of the property. |
String | address | |
String | ownership_type | |
String | listing_link |
If you're new to Web Scraper API, you need to sign up for a 1-week free trial or find a suitable plan on the dashboard to get started.
Register on the Oxylabs dashboard, select the product, then navigate to the pricing, and click Start free trial:
Now, you need to create your API user. Enter your preferred username, password, and click Create API User.
Save your credentials as you'll always need them to use the Web Scraper API and OxyCopilot.
We also have a detailed video tutorial, explaining how to get a free trial, create an API user, and more:
Once everything is set up, click the Scraper APIs Playground button on the left. You'll be redirected to the playground page, where you can start using OxyCopilot.
On the Scraper APIs Playground page, click the main OxyCopilot button in the top-left corner to begin creating your scraper and parser for collecting property listings data from Zoopla.
After clicking this button, you'll see the table, where you need to enter URLs, Scraper Parameters, and Parsing instructions.
Let's enter a URL to scrape properties for sale in London:
Copy
https://www.zoopla.co.uk/for-sale/property/london/?q=London
Set your preferred API parameters, like geolocation. If the page has dynamic content, make sure to enable JavaScript rendering. The example below shows how to use the United Kingdom geolocation for requests:
Copy
Scrape this URL from the United Kingdom location.
The next step is to compose and submit a text prompt that will create the data extraction instructions for the API. When creating prompts for Zoopla pages, draft clear instructions outlining the target data elements. Your prompt should detail which specific information you want to pull from the provided Zoopla URL.
Feel free to iterate and refine your prompt until the output matches your needs. Take the following prompt as your reference point:
Copy
Parse the real estate listings page. From each listing, extract the following data:
- Price.
- Additional price information: Fixed price, offers over, guide price, etc.
- Description.
- Beds: Extract the integer value.
- Baths: Extract the integer value.
- Receptions: Extract the integer value.
- Square footage: Extract the integer value.
- Address.
- Ownership type.
- Listing link.
When you provide a prompt, OxyCopilot converts it into a specialized set of JSON instructions. These instructions act as a blueprint, guiding the API's Custom Parser on how to navigate and collect specific information from Zoopla pages.
You can store these instructions for repeated API usage, or simply click "Save Instructions" and then copy the full request code in your programming language of choice.
Copy
{
"listings": {
"_fns": [
{
"_fn": "xpath",
"_args": [
"//div[@data-testid=\"regular-listings\"]/div",
"//div[@class=\"dkr2t81\"]/div",
"//div[@class=\"_1c20rz91\"]/div[1]/div",
"//section[@class=\"_1447rx93\"]/div[2]/div[1]/div",
"//section[@data-testid=\"search-content\"]/div[2]/div[1]/div",
"//div[@class=\"_1447rx91\"]/section/div[2]/div[1]/div",
"//div[@class=\"_1447rx90\"]/div/section/div[2]/div[1]/div",
"//div[@class=\"_14bi3x31\"]/div[3]/div/section/div[2]/div[1]/div",
"//div[@class=\"_3sd2q43\"]/div[2]/div[3]/div/section/div[2]/div[1]/div",
"//div[@class=\"_3sd2q47\"]/div/div[2]/div[3]/div/section/div[2]/div[1]/div"
]
}
],
"_items": {
"price": {
"_fns": [
{
"_fn": "xpath_one",
"_args": [
".//p[@class=\"_64if862 _194zg6t6\"]/text()",
".//p[@data-testid=\"listing-price\"]/text()",
".//div[@class=\"_64if866\"]/p/text()",
".//div[@class=\"_64if866\"]/p[1]/text()",
".//a[@class=\"_1lw0o5c1\"]/div/p/text()",
".//a[@class=\"_1lw0o5c1\"]/div/p[1]/text()",
".//a[@data-testid=\"listing-card-content\"]/div/p/text()"
]
},
{
"_fn": "regex_search",
"_args": [
"^\\s*(.[\\s\\S]*?)\\s*$",
1
]
}
]
},
"additional_price_info": {
"_fns": [
{
"_fn": "xpath_one",
"_args": [
".//p[@class=\"_64if860 _194zg6t8\"]/text()",
".//div[@class=\"_64if866\"]/p[2]/text()",
".//a[@data-testid=\"listing-card-content\"]/div/p[2]/text()",
".//a[@class=\"_1lw0o5c1\"]/div/p[2]/text()",
".//div[@class=\"_14bi3x329 _14bi3x316 _14bi3x31c _14bi3x34l _14bi3x365 _14bi3x37p _14bi3x331\"]/a/div/p[2]/text()",
".//div[@class=\"_1lw0o5ca\"]/div[2]/a/div/p[2]/text()",
".//div[@class=\"_5m7h840\"]/div/div[2]/a/div/p[2]/text()",
".//div[@class=\"_1cfz6d09 _194zg6t5\"]/div[2]/div/div[2]/a/div/p[2]/text()",
".//div[@class=\"_19tyedx0\"]/div/div[2]/div/div[2]/a/div/p[2]/text()",
".//div[@id=\"listing_69308247\"]/div/div/div[2]/div/div[2]/a/div/p[2]/text()",
".//div/div/div/div[2]/div/div[2]/a/div/p[2]/text()"
]
},
{
"_fn": "regex_search",
"_args": [
"^\\s*(.[\\s\\S]*?)\\s*$",
1
]
}
]
},
"description": {
"_fns": [
{
"_fn": "xpath",
"_args": [
".//p[@class=\"m6hnz63 _194zg6t9\"]",
".//a[@class=\"_1lw0o5c1\"]/p[2]",
".//a[@data-testid=\"listing-card-content\"]/p[2]",
".//div[@class=\"_14bi3x329 _14bi3x316 _14bi3x31c _14bi3x34l _14bi3x365 _14bi3x37p _14bi3x331\"]/a/p[2]",
".//div[@class=\"_1lw0o5ca\"]/div[2]/a/p[2]",
".//div[@class=\"_5m7h840\"]/div/div[2]/a/p[2]",
".//div[@class=\"_19tyedx0\"]/div/div[2]/div/div[2]/a/p[2]"
]
},
{
"_fn": "xpath",
"_args": [
"normalize-space(.)"
]
},
{
"_fn": "join",
"_args": " "
}
]
},
"beds": {
"_fns": [
{
"_fn": "xpath_one",
"_args": [
".//p[@class=\"_1wickv3 _194zg6t9\"]/span[1]/text()",
".//a[@class=\"_1lw0o5c1\"]/p[1]/span[1]/text()",
".//a[@data-testid=\"listing-card-content\"]/p[1]/span[1]/text()",
".//div[@class=\"_14bi3x329 _14bi3x316 _14bi3x31c _14bi3x34l _14bi3x365 _14bi3x37p _14bi3x331\"]/a/p[1]/span[1]/text()",
".//div[@class=\"_1lw0o5ca\"]/div[2]/a/p[1]/span[1]/text()",
".//div[@class=\"_5m7h840\"]/div/div[2]/a/p[1]/span[1]/text()",
".//div[@class=\"_19tyedx0\"]/div/div[2]/div/div[2]/a/p[1]/span[1]/text()"
]
},
{
"_fn": "regex_search",
"_args": [
"^\\s*(.[\\s\\S]*?)\\s*$",
1
]
},
{
"_fn": "amount_from_string"
}
]
},
"baths": {
"_fns": [
{
"_fn": "xpath_one",
"_args": [
".//p[@class=\"_1wickv3 _194zg6t9\"]/span[2]/text()",
".//a[@class=\"_1lw0o5c1\"]/p[1]/span[2]/text()",
".//a[@data-testid=\"listing-card-content\"]/p[1]/span[2]/text()",
".//div[@class=\"_14bi3x329 _14bi3x316 _14bi3x31c _14bi3x34l _14bi3x365 _14bi3x37p _14bi3x331\"]/a/p[1]/span[2]/text()",
".//div[@class=\"_1lw0o5ca\"]/div[2]/a/p[1]/span[2]/text()",
".//div[@class=\"_5m7h840\"]/div/div[2]/a/p[1]/span[2]/text()",
".//div[@class=\"_19tyedx0\"]/div/div[2]/div/div[2]/a/p[1]/span[2]/text()"
]
},
{
"_fn": "regex_search",
"_args": [
"^\\s*(.[\\s\\S]*?)\\s*$",
1
]
},
{
"_fn": "amount_from_string"
}
]
},
"receptions": {
"_fns": [
{
"_fn": "xpath_one",
"_args": [
".//p[@class=\"_1wickv3 _194zg6t9\"]/span[3]/text()",
".//a[@class=\"_1lw0o5c1\"]/p[1]/span[3]/text()",
".//a[@data-testid=\"listing-card-content\"]/p[1]/span[3]/text()",
".//div[@class=\"_14bi3x329 _14bi3x316 _14bi3x31c _14bi3x34l _14bi3x365 _14bi3x37p _14bi3x331\"]/a/p[1]/span[3]/text()",
".//div[@class=\"_1lw0o5ca\"]/div[2]/a/p[1]/span[3]/text()",
".//div[@class=\"_5m7h840\"]/div/div[2]/a/p[1]/span[3]/text()",
".//div[@class=\"_19tyedx0\"]/div/div[2]/div/div[2]/a/p[1]/span[3]/text()"
]
},
{
"_fn": "regex_search",
"_args": [
"^\\s*(.[\\s\\S]*?)\\s*$",
1
]
},
{
"_fn": "amount_from_string"
}
]
},
"square_footage": {
"_fns": [
{
"_fn": "xpath_one",
"_args": [
".//p[@class=\"_1wickv3 _194zg6t9\"]/span[4]/text()",
".//a[@class=\"_1lw0o5c1\"]/p[1]/span[4]/text()",
".//a[@data-testid=\"listing-card-content\"]/p[1]/span[4]/text()",
".//div[@class=\"_14bi3x329 _14bi3x316 _14bi3x31c _14bi3x34l _14bi3x365 _14bi3x37p _14bi3x331\"]/a/p[1]/span[4]/text()",
".//div[@class=\"_1lw0o5ca\"]/div[2]/a/p[1]/span[4]/text()",
".//div[@class=\"_5m7h840\"]/div/div[2]/a/p[1]/span[4]/text()",
".//div[@class=\"_1cfz6d09 _1cfz6d0a _194zg6t5\"]/div[2]/div/div[2]/a/p[1]/span[4]/text()"
]
},
{
"_fn": "regex_search",
"_args": [
"^\\s*(.[\\s\\S]*?)\\s*$",
1
]
},
{
"_fn": "amount_from_string"
}
]
},
"address": {
"_fns": [
{
"_fn": "xpath_one",
"_args": [
".//address[@class=\"m6hnz62 _194zg6t9\"]/text()",
".//a[@class=\"_1lw0o5c1\"]/address/text()",
".//a[@data-testid=\"listing-card-content\"]/address/text()",
".//div[@class=\"_14bi3x329 _14bi3x316 _14bi3x31c _14bi3x34l _14bi3x365 _14bi3x37p _14bi3x331\"]/a/address/text()",
".//div[@class=\"_1lw0o5ca\"]/div[2]/a/address/text()",
".//div[@class=\"_5m7h840\"]/div/div[2]/a/address/text()",
".//div[@class=\"_19tyedx0\"]/div/div[2]/div/div[2]/a/address/text()"
]
},
{
"_fn": "regex_search",
"_args": [
"^\\s*(.[\\s\\S]*?)\\s*$",
1
]
}
]
},
"ownership_type": {
"_fns": [
{
"_fn": "xpath_one",
"_args": [
".//div[@class=\"jc64990 jc64994 _194zg6t9\"]/div/text()",
".//ul[@class=\"_6150ji1\"]/li/div/div/text()",
".//ul[@class=\"_6150ji1\"]/li[1]/div/div/text()",
".//a[@class=\"_1lw0o5c1\"]/ul/li/div/div/text()",
".//a[@class=\"_1lw0o5c1\"]/ul/li[1]/div/div/text()",
".//a[@data-testid=\"listing-card-content\"]/ul/li/div/div/text()",
".//a[@data-testid=\"listing-card-content\"]/ul/li[1]/div/div/text()"
]
},
{
"_fn": "regex_search",
"_args": [
"^\\s*(.[\\s\\S]*?)\\s*$",
1
]
}
]
},
"listing_link": {
"_fns": [
{
"_fn": "xpath_one",
"_args": [
".//a[@class=\"_1lw0o5c2\"]/@href",
".//a[@class=\"_1lw0o5c1\"]/@href",
".//a[@data-testid=\"listing-card-content\"]/@href",
".//div[@class=\"_1lw0o5cb\"]/a/@href",
".//div[@class=\"_14bi3x329 _14bi3x316 _14bi3x31c _14bi3x34l _14bi3x365 _14bi3x37p _14bi3x331\"]/a/@href",
".//div[@class=\"_1lw0o5ca\"]/div[2]/a/@href",
".//div[@class=\"_14bi3x31c _14bi3x323\"]/div/a/@href"
]
},
{
"_fn": "regex_search",
"_args": [
"^\\s*(.[\\s\\S]*?)\\s*$",
1
]
}
]
}
}
}
}
Here's the generated API request code you can use in your preferred IDE to gather property listings data from Zoopla. Don't forget to enter the credentials you've got after creating your API user because you won't be able to use our Web Scraper API.
Copy
import requests
from pprint import pprint
# Structure payload.
payload = {
'source': 'universal',
'url': 'https://www.zoopla.co.uk/for-sale/property/london/?q=London',
'geo_location': 'United Kingdom',
'parse': True,
'parsing_instructions': {"listings":{"_fns":[{"_fn":"xpath","_args":["//div[@data-testid=\"regular-listings\"]/div","//div[@class=\"dkr2t81\"]/div","//div[@class=\"_1c20rz91\"]/div[1]/div","//section[@class=\"_1447rx93\"]/div[2]/div[1]/div","//section[@data-testid=\"search-content\"]/div[2]/div[1]/div","//div[@class=\"_1447rx91\"]/section/div[2]/div[1]/div","//div[@class=\"_1447rx90\"]/div/section/div[2]/div[1]/div","//div[@class=\"_14bi3x31\"]/div[3]/div/section/div[2]/div[1]/div","//div[@class=\"_3sd2q43\"]/div[2]/div[3]/div/section/div[2]/div[1]/div","//div[@class=\"_3sd2q47\"]/div/div[2]/div[3]/div/section/div[2]/div[1]/div"]}],"_items":{"price":{"_fns":[{"_fn":"xpath_one","_args":[".//p[@class=\"_64if862 _194zg6t6\"]/text()",".//p[@data-testid=\"listing-price\"]/text()",".//div[@class=\"_64if866\"]/p/text()",".//div[@class=\"_64if866\"]/p[1]/text()",".//a[@class=\"_1lw0o5c1\"]/div/p/text()",".//a[@class=\"_1lw0o5c1\"]/div/p[1]/text()",".//a[@data-testid=\"listing-card-content\"]/div/p/text()"]},{"_fn":"regex_search","_args":["^\\s*(.[\\s\\S]*?)\\s*$",1]}]},"additional_price_info":{"_fns":[{"_fn":"xpath_one","_args":[".//p[@class=\"_64if860 _194zg6t8\"]/text()",".//div[@class=\"_64if866\"]/p[2]/text()",".//a[@data-testid=\"listing-card-content\"]/div/p[2]/text()",".//a[@class=\"_1lw0o5c1\"]/div/p[2]/text()",".//div[@class=\"_14bi3x329 _14bi3x316 _14bi3x31c _14bi3x34l _14bi3x365 _14bi3x37p _14bi3x331\"]/a/div/p[2]/text()",".//div[@class=\"_1lw0o5ca\"]/div[2]/a/div/p[2]/text()",".//div[@class=\"_5m7h840\"]/div/div[2]/a/div/p[2]/text()",".//div[@class=\"_1cfz6d09 _194zg6t5\"]/div[2]/div/div[2]/a/div/p[2]/text()",".//div[@class=\"_19tyedx0\"]/div/div[2]/div/div[2]/a/div/p[2]/text()",".//div[@id=\"listing_69308247\"]/div/div/div[2]/div/div[2]/a/div/p[2]/text()",".//div/div/div/div[2]/div/div[2]/a/div/p[2]/text()"]},{"_fn":"regex_search","_args":["^\\s*(.[\\s\\S]*?)\\s*$",1]}]},"description":{"_fns":[{"_fn":"xpath","_args":[".//p[@class=\"m6hnz63 _194zg6t9\"]",".//a[@class=\"_1lw0o5c1\"]/p[2]",".//a[@data-testid=\"listing-card-content\"]/p[2]",".//div[@class=\"_14bi3x329 _14bi3x316 _14bi3x31c _14bi3x34l _14bi3x365 _14bi3x37p _14bi3x331\"]/a/p[2]",".//div[@class=\"_1lw0o5ca\"]/div[2]/a/p[2]",".//div[@class=\"_5m7h840\"]/div/div[2]/a/p[2]",".//div[@class=\"_19tyedx0\"]/div/div[2]/div/div[2]/a/p[2]"]},{"_fn":"xpath","_args":["normalize-space(.)"]},{"_fn":"join","_args":" "}]},"beds":{"_fns":[{"_fn":"xpath_one","_args":[".//p[@class=\"_1wickv3 _194zg6t9\"]/span[1]/text()",".//a[@class=\"_1lw0o5c1\"]/p[1]/span[1]/text()",".//a[@data-testid=\"listing-card-content\"]/p[1]/span[1]/text()",".//div[@class=\"_14bi3x329 _14bi3x316 _14bi3x31c _14bi3x34l _14bi3x365 _14bi3x37p _14bi3x331\"]/a/p[1]/span[1]/text()",".//div[@class=\"_1lw0o5ca\"]/div[2]/a/p[1]/span[1]/text()",".//div[@class=\"_5m7h840\"]/div/div[2]/a/p[1]/span[1]/text()",".//div[@class=\"_19tyedx0\"]/div/div[2]/div/div[2]/a/p[1]/span[1]/text()"]},{"_fn":"regex_search","_args":["^\\s*(.[\\s\\S]*?)\\s*$",1]},{"_fn":"amount_from_string"}]},"baths":{"_fns":[{"_fn":"xpath_one","_args":[".//p[@class=\"_1wickv3 _194zg6t9\"]/span[2]/text()",".//a[@class=\"_1lw0o5c1\"]/p[1]/span[2]/text()",".//a[@data-testid=\"listing-card-content\"]/p[1]/span[2]/text()",".//div[@class=\"_14bi3x329 _14bi3x316 _14bi3x31c _14bi3x34l _14bi3x365 _14bi3x37p _14bi3x331\"]/a/p[1]/span[2]/text()",".//div[@class=\"_1lw0o5ca\"]/div[2]/a/p[1]/span[2]/text()",".//div[@class=\"_5m7h840\"]/div/div[2]/a/p[1]/span[2]/text()",".//div[@class=\"_19tyedx0\"]/div/div[2]/div/div[2]/a/p[1]/span[2]/text()"]},{"_fn":"regex_search","_args":["^\\s*(.[\\s\\S]*?)\\s*$",1]},{"_fn":"amount_from_string"}]},"receptions":{"_fns":[{"_fn":"xpath_one","_args":[".//p[@class=\"_1wickv3 _194zg6t9\"]/span[3]/text()",".//a[@class=\"_1lw0o5c1\"]/p[1]/span[3]/text()",".//a[@data-testid=\"listing-card-content\"]/p[1]/span[3]/text()",".//div[@class=\"_14bi3x329 _14bi3x316 _14bi3x31c _14bi3x34l _14bi3x365 _14bi3x37p _14bi3x331\"]/a/p[1]/span[3]/text()",".//div[@class=\"_1lw0o5ca\"]/div[2]/a/p[1]/span[3]/text()",".//div[@class=\"_5m7h840\"]/div/div[2]/a/p[1]/span[3]/text()",".//div[@class=\"_19tyedx0\"]/div/div[2]/div/div[2]/a/p[1]/span[3]/text()"]},{"_fn":"regex_search","_args":["^\\s*(.[\\s\\S]*?)\\s*$",1]},{"_fn":"amount_from_string"}]},"square_footage":{"_fns":[{"_fn":"xpath_one","_args":[".//p[@class=\"_1wickv3 _194zg6t9\"]/span[4]/text()",".//a[@class=\"_1lw0o5c1\"]/p[1]/span[4]/text()",".//a[@data-testid=\"listing-card-content\"]/p[1]/span[4]/text()",".//div[@class=\"_14bi3x329 _14bi3x316 _14bi3x31c _14bi3x34l _14bi3x365 _14bi3x37p _14bi3x331\"]/a/p[1]/span[4]/text()",".//div[@class=\"_1lw0o5ca\"]/div[2]/a/p[1]/span[4]/text()",".//div[@class=\"_5m7h840\"]/div/div[2]/a/p[1]/span[4]/text()",".//div[@class=\"_1cfz6d09 _1cfz6d0a _194zg6t5\"]/div[2]/div/div[2]/a/p[1]/span[4]/text()"]},{"_fn":"regex_search","_args":["^\\s*(.[\\s\\S]*?)\\s*$",1]},{"_fn":"amount_from_string"}]},"address":{"_fns":[{"_fn":"xpath_one","_args":[".//address[@class=\"m6hnz62 _194zg6t9\"]/text()",".//a[@class=\"_1lw0o5c1\"]/address/text()",".//a[@data-testid=\"listing-card-content\"]/address/text()",".//div[@class=\"_14bi3x329 _14bi3x316 _14bi3x31c _14bi3x34l _14bi3x365 _14bi3x37p _14bi3x331\"]/a/address/text()",".//div[@class=\"_1lw0o5ca\"]/div[2]/a/address/text()",".//div[@class=\"_5m7h840\"]/div/div[2]/a/address/text()",".//div[@class=\"_19tyedx0\"]/div/div[2]/div/div[2]/a/address/text()"]},{"_fn":"regex_search","_args":["^\\s*(.[\\s\\S]*?)\\s*$",1]}]},"ownership_type":{"_fns":[{"_fn":"xpath_one","_args":[".//div[@class=\"jc64990 jc64994 _194zg6t9\"]/div/text()",".//ul[@class=\"_6150ji1\"]/li/div/div/text()",".//ul[@class=\"_6150ji1\"]/li[1]/div/div/text()",".//a[@class=\"_1lw0o5c1\"]/ul/li/div/div/text()",".//a[@class=\"_1lw0o5c1\"]/ul/li[1]/div/div/text()",".//a[@data-testid=\"listing-card-content\"]/ul/li/div/div/text()",".//a[@data-testid=\"listing-card-content\"]/ul/li[1]/div/div/text()"]},{"_fn":"regex_search","_args":["^\\s*(.[\\s\\S]*?)\\s*$",1]}]},"listing_link":{"_fns":[{"_fn":"xpath_one","_args":[".//a[@class=\"_1lw0o5c2\"]/@href",".//a[@class=\"_1lw0o5c1\"]/@href",".//a[@data-testid=\"listing-card-content\"]/@href",".//div[@class=\"_1lw0o5cb\"]/a/@href",".//div[@class=\"_14bi3x329 _14bi3x316 _14bi3x31c _14bi3x34l _14bi3x365 _14bi3x37p _14bi3x331\"]/a/@href",".//div[@class=\"_1lw0o5ca\"]/div[2]/a/@href",".//div[@class=\"_14bi3x31c _14bi3x323\"]/div/a/@href"]},{"_fn":"regex_search","_args":["^\\s*(.[\\s\\S]*?)\\s*$",1]}]}}}}
}
# Get response.
response = requests.request(
'POST',
'https://realtime.oxylabs.io/v1/queries',
auth=('YOUR_USERNAME', 'YOUR_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())
For more details about using our Web Scraper API, such as parameter values, integration methods or features, see our comprehensive documentation.
The API response will return structured Zoopla data based on the parsing instructions, as shown below:
Copy
{
"listings": [
{
"beds": 2,
"baths": 1,
"price": "\u00a3585,000",
"address": "Sulgrave Road, London W6",
"receptions": null,
"description": "A great opportunity to purchase a larger 2 bedroom flat over 760 sq ft with high ceilings, in a secured block offering great ...",
"listing_link": "/for-sale/details/69233429/",
"ownership_type": "Reduced",
"square_footage": null,
"additional_price_info": "Offers over"
},
{
"beds": 3,
"baths": 1,
"price": "\u00a3500,000",
"address": "Waverley Road, London SE25",
"receptions": 2,
"description": "We are delighted to present this charming 3-bedroom family home situated on the ever-popular Waverley Road, just a short ...",
"listing_link": "/for-sale/details/69280436/",
"ownership_type": "Chain free",
"square_footage": null,
"additional_price_info": null
},
{
"beds": 2,
"baths": 2,
"price": "\u00a3500,000",
"address": "The Thomas More Building, Ickenham Road, Ruislip HA4",
"receptions": 1,
"description": "A beautifully presented duplex apartment offering modern living within a desirable and central location. This spacious ...",
"listing_link": "/for-sale/details/68654047/",
"ownership_type": "Leasehold",
"square_footage": null,
"additional_price_info": null
},
{
"beds": 2,
"baths": 1,
"price": "\u00a3375,000",
"address": "Maitland Road, Stratford, London E15",
"receptions": 1,
"description": "A fantastic 2 bedroom apartment, securely set on the 2nd floor, offering a wonderful open-plan living space with ample room ...",
"listing_link": "/for-sale/details/69706877/",
"ownership_type": "Leasehold",
"square_footage": 698,
"additional_price_info": null
},
{
"beds": 3,
"baths": 1,
"price": "\u00a3750,000",
"address": "The Woodlands, Hither Green SE13",
"receptions": 1,
"description": "A beautifully refurbished home in Hither Green, blending original charm with stylish modern updates. Spacious, full of ...",
"listing_link": "/for-sale/details/69706879/",
"ownership_type": "Chain free",
"square_footage": null,
"additional_price_info": "Guide price"
},
{
"beds": 2,
"baths": 1,
"price": "\u00a3280,000",
"address": "London Road, Romford RM7",
"receptions": 1,
"description": "**two/three bedroom duplex apartment** Located on the popular London Road and within easy reach of Romford Town Centre and ...",
"listing_link": "/for-sale/details/69706872/",
"ownership_type": "Leasehold",
"square_footage": null,
"additional_price_info": "Guide price"
},
{
"beds": 2,
"baths": 1,
"price": "\u00a3375,000",
"address": "Granville Place, High Road, London N12",
"receptions": 1,
"description": "Situated in the highly sought-after Granville Place development in North Finchley, this beautifully presented two-bedroom ...",
"listing_link": "/for-sale/details/69706857/",
"ownership_type": "Leasehold",
"square_footage": null,
"additional_price_info": "Offers over"
},
{
"beds": 2,
"baths": 1,
"price": "\u00a3385,000",
"address": "Sisley Road, Barking IG11",
"receptions": 1,
"description": "William H Brown are Delighted to offer for sale this Refurbished Two Bedroom House. The property benefits from a Chic ...",
"listing_link": "/for-sale/details/69706860/",
"ownership_type": "Freehold",
"square_footage": null,
"additional_price_info": "Offers over"
},
{
"beds": 1,
"baths": 1,
"price": "\u00a3412,500",
"address": "Alexandra Gate, Harringay N8",
"receptions": 443,
"description": "**beat stamp duty now** with exclusive incentives?move in ready and waiting for you! This amazing suite apartment is set on ...",
"listing_link": "/new-homes/details/69706847/",
"ownership_type": "Leasehold",
"square_footage": null,
"additional_price_info": null
},
{
"beds": 2,
"baths": 1,
"price": "\u00a3700,000",
"address": "Norroy Road, Putney, London SW15",
"receptions": 1,
"description": "Excellently located, this 2 bedroom ground floor flat offers charming accommodation near amenities and Putney Station. It ...",
"listing_link": "/for-sale/details/69706825/",
"ownership_type": "Leasehold",
"square_footage": 720,
"additional_price_info": null
},
{
"beds": 2,
"baths": 2,
"price": "\u00a3556,000",
"address": "Saffron Central Square, Croydon CR0",
"receptions": 1,
"description": "A Fantastic two double-bedroom duplex penthouse with a 900sqft of roof terrace in Saffron Square, next to West Croydon Railway ...",
"listing_link": "/for-sale/details/69706830/",
"ownership_type": "Leasehold",
"square_footage": 1345,
"additional_price_info": null
},
{
"beds": 2,
"baths": 2,
"price": "\u00a3850,000",
"address": "Charrington Tower, New Providance Wharf E14",
"receptions": 2,
"description": "Johns&co is proud to present a truly remarkable dual aspect two bedroom, two bathroom apartment located on the 34th floor of ...",
"listing_link": "/for-sale/details/69706818/",
"ownership_type": "Leasehold",
"square_footage": null,
"additional_price_info": null
},
{
"beds": 2,
"baths": 2,
"price": "\u00a3850,000",
"address": "Forum Magnum Square, Waterloo, London SE1",
"receptions": 1,
"description": "A bright, south-west-facing 2 bedroom flat situated in a popular apartment block with a gym and a swimming pool, offering ...",
"listing_link": "/for-sale/details/69706739/",
"ownership_type": "Leasehold",
"square_footage": 712,
"additional_price_info": null
},
{
"beds": 3,
"baths": 1,
"price": "\u00a3500,000",
"address": "Ashby Avenue, Chessington KT9",
"receptions": 2,
"description": "An extended three bedroom house situated in a popular location on the west ewell border with lounge and dining room, modern ...",
"listing_link": "/for-sale/details/69706720/",
"ownership_type": "Freehold",
"square_footage": null,
"additional_price_info": "Offers over"
},
{
"beds": 3,
"baths": 1,
"price": "\u00a3700,000",
"address": "20 Palmers Rd, London E2",
"receptions": 1,
"description": "Stunning three bedroom split level waterside apartment with private terrace and allocated underground parking (optional, under ...",
"listing_link": "/for-sale/details/69706718/",
"ownership_type": "Leasehold",
"square_footage": null,
"additional_price_info": "Offers over"
},
{
"beds": 1,
"baths": 1,
"price": "\u00a3800,000",
"address": "Frobisher Crescent, Barbican, London EC2Y",
"receptions": 1,
"description": "Lovely barrel-vaulted ceiling one-bedroom split level apartment, larger than average. Located on the top floor (9th). ...",
"listing_link": "/for-sale/details/69706711/",
"ownership_type": "Leasehold",
"square_footage": 691,
"additional_price_info": null
},
{
"beds": 3,
"baths": 1,
"price": "\u00a3585,000",
"address": "Monega Road, London E7",
"receptions": 1,
"description": "Property Masterz UK Ltd proudly presents a lovely three-bedroom house, featuring a spacious reception, a modern bathroom, and ...",
"listing_link": "/for-sale/details/69706703/",
"ownership_type": null,
"square_footage": null,
"additional_price_info": "Guide price"
},
{
"beds": 2,
"baths": 2,
"price": "\u00a3695,000",
"address": "Melbray Mews, London SW6",
"receptions": 1,
"description": "A superbly presented two bedroom apartment on the first floor of this private modern development. The property has a spacious ...",
"listing_link": "/for-sale/details/69706704/",
"ownership_type": "Leasehold",
"square_footage": 649,
"additional_price_info": null
},
{
"beds": 2,
"baths": 1,
"price": "\u00a31,150,000",
"address": "Rees Street, London N1",
"receptions": 1,
"description": "This beautifully presented two double bedroom Victorian maisonette is set within the Arlington Conservation area. Light and ...",
"listing_link": "/for-sale/details/69706699/",
"ownership_type": "Share of Freehold",
"square_footage": null,
"additional_price_info": null
},
{
"beds": 4,
"baths": 2,
"price": "\u00a31,200,000",
"address": "Tangier Road, Richmond TW10",
"receptions": 2,
"description": "An exceptional four-bedroom semi-detached house with almost 1500 sq ft of accommodation over two floors. No chain.",
"listing_link": "/for-sale/details/69706628/",
"ownership_type": "Chain free",
"square_footage": null,
"additional_price_info": "Guide price"
},
{
"beds": 2,
"baths": 2,
"price": "\u00a3525,000",
"address": "Cheshire Street, London E2",
"receptions": 1,
"description": "Spanning 719 sq. Ft, this modern two-bedroom apartment is located in a purpose-built development just off Brick Lane. The ...",
"listing_link": "/for-sale/details/69706626/",
"ownership_type": "Leasehold",
"square_footage": null,
"additional_price_info": null
},
{
"beds": 1,
"baths": 1,
"price": "\u00a3300,000",
"address": "Blackdown Close, London N2",
"receptions": 1,
"description": "We offer for sale an attractive one-bedroom purpose-built flat located on the ground floor of this popular and modern block. ...",
"listing_link": "/for-sale/details/69706613/",
"ownership_type": "Leasehold",
"square_footage": null,
"additional_price_info": null
},
{
"beds": 1,
"baths": 1,
"price": "\u00a3200,000",
"address": "Vicarage Farm Road, Heston, Hounslow TW5",
"receptions": 1,
"description": "Over 55's First Floor Retirement Flat with Stairlift \u2013 Vicarage Farm Court, Vicarage Farm Road, Hounslow, TW5 Move Inn ...",
"listing_link": "/for-sale/details/69706586/",
"ownership_type": "Retirement",
"square_footage": 481,
"additional_price_info": "Guide price"
},
{
"beds": 2,
"baths": 1,
"price": "\u00a3700,000",
"address": "Lowden Court, Prestwood Street N1",
"receptions": 1,
"description": "A bright and spacious 2 bedroom apartment located on the third floor of a sought after development moments from Old Street and ...",
"listing_link": "/for-sale/details/69706591/",
"ownership_type": "Leasehold",
"square_footage": null,
"additional_price_info": null
},
{
"beds": 2,
"baths": 2,
"price": "\u00a31,050,000",
"address": "Leman Street, London E1",
"receptions": 2,
"description": "Set within a converted Edwardian mansion a short walk from the City, is this luxury duplex two bedroom, two bathroom ...",
"listing_link": "/for-sale/details/69706574/",
"ownership_type": "Leasehold",
"square_footage": 1432,
"additional_price_info": null
},
{
"beds": 3,
"baths": 1,
"price": "\u00a3550,000",
"address": "Dawlish Drive, Ruislip HA4",
"receptions": 1,
"description": "This extended three bedroom terrace house on Dawlish Drive, is a must see and one that's not to be missed, as it has been ...",
"listing_link": "/for-sale/details/69706549/",
"ownership_type": "Freehold",
"square_footage": null,
"additional_price_info": "Offers over"
},
{
"beds": 3,
"baths": 2,
"price": "\u00a33,100,000",
"address": "De Laszlo House, Fitzjohns Avenue NW3",
"receptions": 1,
"description": "Sole agent. A spectacular and lateral three bedroom apartment situated in this desirable secure development served by lifts ...",
"listing_link": "/for-sale/details/69706548/",
"ownership_type": "Leasehold",
"square_footage": null,
"additional_price_info": null
},
{
"beds": 2,
"baths": 2,
"price": "\u00a3875,000",
"address": "The Brambles, Woodside, Wimbledon, London SW19",
"receptions": 2,
"description": "A lovely two bedroom duplex flat with off street parking close to Wimbledon Station and the Village.",
"listing_link": "/for-sale/details/69706530/",
"ownership_type": "Leasehold",
"square_footage": null,
"additional_price_info": "Guide price"
}
]
}
Object type | Name | Description |
---|---|---|
Array of objects | listings | List of real estate listings. |
String | price | |
String | additional_price_info | Additional price information such as fixed price, offers over, guide price, etc. |
String | description | |
Number | beds | Number of beds. |
Number | baths | Number of baths. |
Number | receptions | Number of receptions. |
Number | square_footage | Square footage of the property. |
String | address | |
String | ownership_type | |
String | listing_link |
Scale up your business with Oxylabs®
Proxies
Advanced proxy solutions
Data Collection
Datasets
Resources
Innovation hub