Redfin Search

Search for real estate listings on Redfin using a region_id, region_type, and market from the locations endpoint.

Endpoint

GET /api/redfin/search

Generate Code with AI

Copy a ready-made prompt with all the endpoint details, parameters, and example responses. Paste it into ChatGPT, Claude, or any AI assistant to instantly generate working code.

Parameters

region_id integer Required

Region identifier from /api/redfin/locations.

region_type integer Required

Region type: 1=neighborhood, 2=ZIP, 5=county, 6=city.

market string Required

Market identifier from /api/redfin/locations (e.g., seattle, socal, dc, nyc).

min_price integer Optional

Minimum price filter

max_price integer Optional

Maximum price filter

num_beds integer Optional

Minimum number of bedrooms

num_baths number Optional

Minimum number of bathrooms

property_types string Optional

Comma-separated property types (1-8).

status integer Optional

Listing status: 1=active, 9=all, 130=pending, 131=active+pending.

sold_within_days integer Optional

Include properties sold within this many days (1-365). Required for some regions like Seattle.

num_homes integer Optional

Number of results per page (max 450).

page integer Optional

Page number for pagination.

Request Examples

<?php

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'https://scrappa.co/api/redfin/search?region_id=16163&region_type=6&market=seattle&sold_within_days=30');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'x-api-key: YOUR_API_KEY_HERE',
]);

$response = curl_exec($ch);
curl_close($ch);

echo $response;
<?php

use Illuminate\Support\Facades\Http;

$response = Http::withHeaders([
    'x-api-key' => 'YOUR_API_KEY_HERE',
])->get('https://scrappa.co/api/redfin/search?region_id=16163&region_type=6&market=seattle&sold_within_days=30');

return $response->json();
fetch('https://scrappa.co/api/redfin/search?region_id=16163&region_type=6&market=seattle&sold_within_days=30', {
  headers: {
    'x-api-key': 'YOUR_API_KEY_HERE'
  }
})
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error('Error:', error));
const axios = require('axios');

axios.get('https://scrappa.co/api/redfin/search?region_id=16163&region_type=6&market=seattle&sold_within_days=30', {
  headers: {
    'x-api-key': 'YOUR_API_KEY_HERE'
  }
})
  .then(response => console.log(response.data))
  .catch(error => console.error('Error:', error));
import requests

headers = {
    'x-api-key': 'YOUR_API_KEY_HERE'
}

response = requests.get('https://scrappa.co/api/redfin/search?region_id=16163&region_type=6&market=seattle&sold_within_days=30', headers=headers)
print(response.json())
require 'net/http'
require 'uri'
require 'json'

uri = URI.parse('https://scrappa.co/api/redfin/search?region_id=16163&region_type=6&market=seattle&sold_within_days=30')
request = Net::HTTP::Get.new(uri)
request['x-api-key'] = 'YOUR_API_KEY_HERE'

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
  http.request(request)
end

puts JSON.parse(response.body)
package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
)

func main() {
    client := &http.Client{}
    req, _ := http.NewRequest("GET", "https://scrappa.co/api/redfin/search?region_id=16163&region_type=6&market=seattle&sold_within_days=30", nil)
    req.Header.Set("x-api-key", "YOUR_API_KEY_HERE")

    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    body, _ := ioutil.ReadAll(resp.Body)
    fmt.Println(string(body))
}
curl -X GET 'https://scrappa.co/api/redfin/search?region_id=16163&region_type=6&market=seattle&sold_within_days=30' \
  -H 'x-api-key: YOUR_API_KEY_HERE'

Response Schema

JSON Response 200 OK
{
    "listings": []
}

Try It Live

Test this endpoint in our interactive playground with real data.

Open in Playground