Redfin 'For Sale' Listings API (Async) | Ruby
Scrape Redfin For Sale pages in structured JSON/CSV with ScraperAPI async in Ruby. Supports URL, country code, TLD, and raw data extraction for flexible scraping.
This endpoint will retrieve listing information from a single 'For Sale' property listing page and transform it into usable JSON.
Single query request:
require 'net/http'
require 'json'
require 'uri'
uri = URI('https://async.scraperapi.com/structured/redfin/forsale')
request = Net::HTTP::Post.new(uri, 'Content-Type' => 'application/json')
request.body = {
apiKey: 'API_KEY',
url: 'URL',
country_code: 'COUNTRY_CODE',
tld: 'TLD',
raw: 'RAW',
callback: {
type: 'webhook',
url: 'YYYYY'
}
}.to_json
begin
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end
puts response.body
rescue => e
puts "Error: #{e.message}"
end
Multiple query request:
//require 'net/http'
require 'json'
require 'uri'
uri = URI('https://async.scraperapi.com/structured/redfin/forsale')
request = Net::HTTP::Post.new(uri, 'Content-Type' => 'application/json')
request.body = {
apiKey: 'API_KEY',
urls: ['URL1','URL2'],
country_code: 'COUNTRY_CODE',
tld: 'TLD',
raw: 'RAW',
callback: {
type: 'webhook',
url: 'YYYYY'
}
}.to_json
begin
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end
puts response.body
rescue => e
puts "Error: #{e.message}"
end
API_KEY
(required)
User's API Key.
URL
(required)
The URL of the Redfin page. The URL has to be the URL of a property for sale.
country_code
Allows you to geotarget the request. Use this parameter if you want Redfin to be scraped from a specific country.
TLD
raw
This is a boolean param - true
or false
If the raw
parameter is set to true
, the raw data will be extracted from the page without further parsing.
Important:
The structure of the data in raw mode cannot be guaranteed, it’s a tradeoff: You get a lot more information back, but the structure of the response may change if Redfin
modifies their page layout.
Sample Response
For single query requests:
{
"id": "aa65d866-b53f-4488-9cbe-2bee29d6f65c",
"status": "running",
"statusUrl": "https://async.scraperapi.com/jobs/aa65d866-b53f-4488-9cbe-2bee29d6f65c",
"url": "https://www.redfin.com/NH/Salem/1-Chestnut-Dr-03079/home/96531263"
}
For multiple query requests:
[
{
"id": "6d282e78-4d1a-46cb-838f-cc59e592774f",
"attempts": 0,
"status": "running",
"statusUrl": "https://async.scraperapi.com/jobs/6d282e78-4d1a-46cb-838f-cc59e592774f",
"url": "https://www.redfin.com/NH/Salem/1-Chestnut-Dr-03079/home/96531263"
},
{
"id": "d59ed100-6213-4097-afe5-6488ec5dda12",
"attempts": 0,
"status": "running",
"statusUrl": "https://async.scraperapi.com/jobs/d59ed100-6213-4097-afe5-6488ec5dda12",
"url": "https://www.redfin.com/MA/Methuen/72-Sheldon-St-01844/home/11773076"
}
]
Last updated
Was this helpful?