openapi: 3.1.0
info:
title: Redfin GIS CSV Export API
description: >-
The Redfin GIS CSV Export API provides bulk property data downloads in
CSV format. This endpoint returns up to 350 property records per
request in tabular format, making it suitable for data analysis and
spreadsheet workflows. It accepts parameters for market selection,
price ranges, bedroom and bathroom counts, region identifiers, and
property status filters. The CSV output includes fields such as
address, list price, property type, square footage, lot size, and
listing status, enabling developers and analysts to aggregate
property data for research and comparison purposes.
version: '1.0.0'
contact:
name: Redfin
url: https://www.redfin.com
termsOfService: https://www.redfin.com/about/terms-of-use
externalDocs:
description: Reverse-Engineered API Documentation
url: https://github.com/alientechsw/RedfinPlus/blob/master/docs/REDFIN.md
servers:
- url: https://www.redfin.com/stingray
description: Redfin Stingray Production Server
tags:
- name: CSV Export
description: >-
Endpoints for exporting property search results in CSV format.
paths:
/api/gis-csv:
get:
operationId: exportGisCsv
summary: Export property search results as CSV
description: >-
Exports property search results in CSV format based on the specified
region, property type, status, and filter parameters. Returns up to
350 property records per request. The CSV output includes columns
for address, city, state, ZIP code, list price, beds, baths, square
footage, lot size, year built, days on market, property type, listing
status, and other property attributes. This endpoint corresponds to
the Download All link on Redfin search result pages.
tags:
- CSV Export
parameters:
- name: region_id
in: query
description: >-
The unique identifier for a Redfin region.
schema:
type: integer
- name: region_type
in: query
description: >-
The type of region to search. Values include 1 (neighborhood),
2 (ZIP code), 5 (county), 6 (city).
schema:
type: integer
enum:
- 1
- 2
- 5
- 6
- name: uipt
in: query
description: >-
Property type filter. Values include 1 (house), 2 (condo),
3 (townhouse), 4 (multi-family), 5 (land), 6 (other).
Multiple values can be comma-separated.
schema:
type: string
- name: status
in: query
description: >-
Listing status filter. Values include 1 (active), 130 (pending),
131 (active and pending).
schema:
type: integer
enum:
- 1
- 130
- 131
- name: min_price
in: query
description: >-
Minimum listing price filter in USD.
schema:
type: integer
- name: max_price
in: query
description: >-
Maximum listing price filter in USD.
schema:
type: integer
- name: num_beds
in: query
description: >-
Minimum number of bedrooms filter.
schema:
type: integer
- name: max_num_beds
in: query
description: >-
Maximum number of bedrooms filter.
schema:
type: integer
- name: num_baths
in: query
description: >-
Minimum number of bathrooms filter.
schema:
type: integer
- name: max_num_baths
in: query
description: >-
Maximum number of bathrooms filter.
schema:
type: integer
- name: min_year_built
in: query
description: >-
Minimum year built filter.
schema:
type: integer
- name: max_year_built
in: query
description: >-
Maximum year built filter.
schema:
type: integer
- name: min_listing_approx_size
in: query
description: >-
Minimum approximate square footage filter.
schema:
type: integer
- name: max_listing_approx_size
in: query
description: >-
Maximum approximate square footage filter.
schema:
type: integer
- name: min_parcel_size
in: query
description: >-
Minimum lot/parcel size filter.
schema:
type: integer
- name: max_parcel_size
in: query
description: >-
Maximum lot/parcel size filter.
schema:
type: integer
- name: min_stories
in: query
description: >-
Minimum number of stories filter.
schema:
type: integer
- name: max_stories
in: query
description: >-
Maximum number of stories filter.
schema:
type: integer
- name: gar
in: query
description: >-
Garage availability filter.
schema:
type: boolean
- name: hoa
in: query
description: >-
HOA filter. Value of 0 means no HOA.
schema:
type: integer
- name: num_homes
in: query
description: >-
Maximum number of results to return per request. The API
caps at approximately 350 records.
schema:
type: integer
maximum: 350
- name: sf
in: query
description: >-
Listing type sub-filters for refining results.
schema:
type: string
- name: time_on_market_range
in: query
description: >-
Days on market range filter. Uses reverse range format.
schema:
type: string
responses:
'200':
description: CSV file containing property search results
content:
text/csv:
schema:
type: string
description: >-
CSV-formatted property data with columns including
address, city, state, ZIP, price, beds, baths, square
footage, lot size, year built, days on market, property
type, and listing status.