/api/v2/listings/all
/api/v2/listings/residential/rentals/
/api/v2/listings/residential/sales/
/api/v2/listings/commercial/rentals/
/api/v2/listings/commercial/sales/
These endpoints enable you to query the Funnel Listings Database for the listings that your company has access to. It will return a list of currently available listings that match your search parameters. The /residential/
endpoints will return residential listings only and the /commercial/
endpoints will return commercial listings only. The /rentals/
endpoints will return only rental listings and the /sales/
endpoints will return only sales listings. For an aggregated set of listings (includes both residential and commercial, and both rentals and sales) the /all/
endpoint is provided for convenience.
agents
, building
, management_company
, building_ownership
, layout
, incentives
, source
, pets
, neighborhoods
, postal_code
, unit_type
, unit_type_name
Each of these fields may be used to filter for listings that match one or more of the values submitted in the query, in other words, the query combines with OR logic. in order to include multiple values in your query for a multiple choice field simply include the querystring parameter multiple times in the URL of your API request. for example, request below will include listings assigned to agent 42 or agent 43 or agent 44.
https://nestiolistings.com/api/v2/listings/residential/rentals/?key=<your_key>&agents=42&agents=43&agents=44
agents
geometry
POLYGON((0.0 0.0, 0.0 1.0, 1.0 1.0, 1.0 0.0, 0.0 0.0))
0.0,0.0|0.0,1.0|1.0,1.0|1.0,0.0|0.0,0.0
listing_type
property_type
commercial_use
building
building_name_address
building_ownership
company
exclusive
true or false.min_price
max_price
elevator
doorman
pets
layout
bathrooms
neighborhoods
postal_code
date_available_before
date_available_after
has_photos
incentives
open_house_begin
open_house_end
featured
source
city
is_renovated
dishwasher
microwave
exposed_brick
hardwood_floors
virtual_doorman
storage
short_term
live_in_super
last_listed_at_before
last_listed_at_after
parking
include_private
true
, the API will include listings marked as private. This is helpful when displaying listings in an internal system. Listings marked private are typically intended not to be marketted and should not be displayed publically.false
true
or false
unit_type
unit_type_name
floorplan
property
sort
building
layout
price
date_available
updated
- The last time a key property, such as rent or status was changed on the unit.status_updated
- The last time the unit’s status was changed (i.e. when the unit went from rented to available).neighborhood
prioritize-company
- Assigns listings a value based on their management company, pushing a user’s company listings to the top. Exclusive listings are prioritized over open listings.next-openhouse
- Sorts by upcoming open house date.sort_dir
asc
or desc
.asc
except for sort
options updated
and status_updated
.display_agent
Example request made via client side JavaScript using jQuery:
var apiData = $.ajax("https://nestiolistings.com/api/v2/listings/residential/rentals/?key=<your_key>&has_photos=1")
Example response body:
{
total_items: 500,
items: [
{
max_lease_term: 24,
exclusive: null,
min_lease_term: 12,
bathrooms: 2,
square_footage: null,
updated_at: "2015-07-18T11:12:32.786308",
property_type: "Residential",
id: 350889,
featured: false,
occupancy_status: null,
renter_fee: null,
layout: "2 Bedroom",
floor: null,
date_available: "2015-09-01",
last_listed_at: "2015-07-18T11:12:32.786508",
source: "Blast",
amenities: [
"Hardwood Floors",
"Stainless Steel Appliances",
"Windowed Kitchen",
"Pass-Through Kitchen",
"Walk-In Closet",
"Marble",
"Desirable Layout"
],
pets: "Pets Allowed",
access_info: "To schedule a viewing, contact Example Broker. example@fakebrokerage.com 555-555-5555",
status: "Available",
description: "",
price: "7200.00",
bedrooms: 2,
incentives: null,
key_in_office: null,
listing_company: {
phone_number: "(555) 555-5555",
email: "",
website: "",
name: "Example Management Company",
address: "123 Some St, New York, NY 10010",
logo: null,
company_id: 1289,
fax_number: ""
},
primary_video_url: "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
secondary_video_url: "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
virtual_tour_url: "https://virtualtours.com/1234",
photos: [
{
original: "https://assets-img.nestiostatic.com/unit_photos/originals/1e33cf2e65d517301adce1fda8f30e76.jpg?s=a51703d90404d302f030b5b79c1b324a",
large: "https://assets-img.nestiostatic.com/unit_photos/originals/1e33cf2e65d517301adce1fda8f30e76.jpg?fit=crop&h=540&w=720&s=2334719c403d5c8f2a07e81369e4cca9",
thumbnail: "https://assets-img.nestiostatic.com/unit_photos/originals/1e33cf2e65d517301adce1fda8f30e76.jpg?fit=crop&h=70&w=100&s=a3d5d4b3fe655f23f04e8ce9e493e1c9",
sort_order: 0,
small: "https://assets-img.nestiostatic.com/unit_photos/originals/1e33cf2e65d517301adce1fda8f30e76.jpg?fit=crop&h=180&w=240&s=8ca556ba82008a5c3cbcb53e1ab00ffb",
xlarge: "https://assets-img.nestiostatic.com/unit_photos/originals/1e33cf2e65d517301adce1fda8f30e76.jpg?fit=max&h=1000&w=1000&s=20297f84cb26b5208a6ab5f043688a1a",
media_type: "Photo",
id: 2677180
},
{
original: "https://assets-img.nestiostatic.com/unit_photos/originals/91708378e4274873fa3277ed0b5df868.jpg?s=a51703d90404d302f030b5b79c1b324a",
large: "https://assets-img.nestiostatic.com/unit_photos/originals/91708378e4274873fa3277ed0b5df868.jpg?fit=crop&h=540&w=720&s=2334719c403d5c8f2a07e81369e4cca9",
thumbnail: "https://assets-img.nestiostatic.com/unit_photos/originals/91708378e4274873fa3277ed0b5df868.jpg?fit=crop&h=70&w=100&s=a3d5d4b3fe655f23f04e8ce9e493e1c9",
sort_order: 1,
small: "https://assets-img.nestiostatic.com/unit_photos/originals/91708378e4274873fa3277ed0b5df868.jpg?fit=crop&h=180&w=240&s=8ca556ba82008a5c3cbcb53e1ab00ffb",
xlarge: "https://assets-img.nestiostatic.com/unit_photos/originals/91708378e4274873fa3277ed0b5df868.jpg?fit=max&h=1000&w=1000&s=20297f84cb26b5208a6ab5f043688a1a",
media_type: "Photo",
id: 2677181
},
{
original: "https://assets-img.nestiostatic.com/unit_photos/originals/d02110ba661debdba5ab3ac1beccecf6.jpg?s=a51703d90404d302f030b5b79c1b324a",
large: "https://assets-img.nestiostatic.com/unit_photos/originals/d02110ba661debdba5ab3ac1beccecf6.jpg?fit=crop&h=540&w=720&s=2334719c403d5c8f2a07e81369e4cca9",
thumbnail: "https://assets-img.nestiostatic.com/unit_photos/originals/d02110ba661debdba5ab3ac1beccecf6.jpg?fit=crop&h=70&w=100&s=a3d5d4b3fe655f23f04e8ce9e493e1c9",
sort_order: 2,
small: "https://assets-img.nestiostatic.com/unit_photos/originals/d02110ba661debdba5ab3ac1beccecf6.jpg?fit=crop&h=180&w=240&s=8ca556ba82008a5c3cbcb53e1ab00ffb",
xlarge: "https://assets-img.nestiostatic.com/unit_photos/originals/d02110ba661debdba5ab3ac1beccecf6.jpg?fit=max&h=1000&w=1000&s=20297f84cb26b5208a6ab5f043688a1a",
media_type: "Photo",
id: 2677182
},
{
original: "https://assets-img.nestiostatic.com/unit_photos/originals/866d8628376baefe54fc3013f65762d1.jpg?s=a51703d90404d302f030b5b79c1b324a",
large: "https://assets-img.nestiostatic.com/unit_photos/originals/866d8628376baefe54fc3013f65762d1.jpg?fit=crop&h=540&w=720&s=2334719c403d5c8f2a07e81369e4cca9",
thumbnail: "https://assets-img.nestiostatic.com/unit_photos/originals/866d8628376baefe54fc3013f65762d1.jpg?fit=crop&h=70&w=100&s=a3d5d4b3fe655f23f04e8ce9e493e1c9",
sort_order: 3,
small: "https://assets-img.nestiostatic.com/unit_photos/originals/866d8628376baefe54fc3013f65762d1.jpg?fit=crop&h=180&w=240&s=8ca556ba82008a5c3cbcb53e1ab00ffb",
xlarge: "https://assets-img.nestiostatic.com/unit_photos/originals/866d8628376baefe54fc3013f65762d1.jpg?fit=max&h=1000&w=1000&s=20297f84cb26b5208a6ab5f043688a1a",
media_type: "Photo",
id: 2677183
}
],
listing_type: "For Rent",
building: {
cross_streets: [
"Columbus Ave / W 59th St"
],
neighborhood: {
name: "Midtown West",
area: "Midtown Manhattan"
},
id: 103019,
city: "Manhattan",
name: "",
building_ownership: null,
postal_code: "10019",
state: "NY",
amenities: [ ],
location: {
latitude: 40.7691689,
longitude: -73.9850159
},
building_description: "",
street_address: "1 Columbus Pl"
},
first_showing_date: null,
unit_number: "N-46D",
open_houses: [ ],
mls_policies: {
vow_opt_out: false,
idx_opt_out: false,
allow_comments: false,
allow_automated_valuations: false,
cobroke_agreement: "REBNY Universal Co-broke"
},
contacts: [ ],
street_address: "1 Columbus Pl"
}
],
total_pages: 500,
page: 1
}
access_info
- text, describing how to access the listing for a showingamenities
- list of amenities and unit featuresbathrooms
- number of bathrooms in the unit. example: a unit with 1 full bathroom and 1 half bathroom will have ‘1.5’ as the value of bathrooms.bedrooms
- integer number of bedrooms in the unit. studio and loft units will have ‘0’ as the value of bedrooms.building
id
- Funnel database id of the buildingname
- the nickname of the building if it has one, or null otherwisestreet_address
- the street address of the building, modified by address display preferences. see here for more info on display preferencesneighborhood
area
- some locales have groupings of neighborhoods into larger areas, for example “Midtown Manhattan”name
- the colloquial name of the neighborhood. example: “Flatiron District”city
- the name of the city or boroughstate
- 2 letter postal code abbreviation. example: “NY” or “NJ”postal_code
- the USPS postal code of the buildinglocation
latitude
longitude
amenities
- list of amenities and building featuresbuilding_description
- text description of the buildingbuilding_age
- string. “Pre-War”, “Post-War”, or “New Development”year_built
- integer. example: 2009total_units
- integer. total units in the building.floors
- float. number of floors in the building. example: 15.0tax_lot
- string. for the city’s record keeping system for parcels of land.tax_block
- string. for the city’s record keeping system for parcels of land.building_type
- string. example: “High-Rise” or “Townhouse”building_ownership
- the ownership class of the building. example: “condo” or “co-op”cross_streets
- cross streets of the building’s address, if we have them, otherwise null. this field will be modified by address display preferences see here for more info on display preferencessource_id
- if the building data originated from a source external to Funnel, we will include the id number assigned by that source to the building hereupdated_at
- timestamp of the most recent change to the listingcontacts
agent_id
- Funnel database id of the agentname
email
phone_number
mobile_phone_number
title
headshot
original
- url of the image with the original size it was uploaded asthumbnail
- url of the image resized to be suitable for use as a small thumbnailcommission_structure
- if we have information about the unit’s commission structure it will appear here. Note: this data will only appear if your API key is configured to provide broker info.date_available
- timestamp when the unit is available for move-indescription
- text description of the unit itselfexclusive
- true if the unit is exclusive to the listing brokerageexposure
- if we have data about the unit’s facing it will appear here with one of the following possible values: North, East, South, Westfee_structure
- either “CYOF” (Collect Your Own Fee) or “Co-Broke”first_showing_date
floor
- the floor of the building the unit is located onfurnished_price
- if the unit is provided furnished it might have a different price than the normal listed price.furnished_type
- if the unit is furnished it might have one of the following types of furnishing: Unfurnished, Furnished, Optional.key_in_office
- true if the listing brokerage possesses the keyid
- Funnel database id of the unitlast_listed_at
- timestamp of the most recent previous listing of the unitlayout
- a more detailed description of the layout of the unit. for example, a unit with 2 bedrooms and a home office will have bedrooms “2”, but layout will have the more detailed description “2 Bedroom /w HO”.listing_type
- sale or rentallisting_company
phone_number
email
website
name
address
logo
company_id
fax_number
mls_policies
- this field lists policies specific to the MLS source the listing is from
vow_opt_out
- if true, this listing may not be displayed on a RLS VOW websiteidx_opt_out
- if true, this listing may not be displayed on a RLS IDX websiteallow_comments
- if true, the MLS source allows user comments to be left on the listingallow_automated_valuations
- if true, the MLS source allows automated property valuation services to leave estimates on the listingcobroke_agreement
- this will show text describing the type of cobroke agreement the listing is permitted to be marketed withoccupancy_status
- true if the unit has a current tenantopen_houses
start_time
end_time
date
pets
- description of what kinds of pets the building’s management company allowsprimary_video_url
- URL of the primary video associated with the listingsecondary_video_url
- URL of the secondary video associated with the listingvirtual_tour_url
- URL of the virtual tour associated with the listingphotos
-
Please note that there are query parameters after the file extension on image urls. You don’t need to concern yourself with these - the important information is provided in the JSON keys.
id
- Funnel database id of the photooriginal
- url of the image with the original size it was uploaded asthumbnail
- url of the image resized to be suitable for use as a small thumbnail (100px by 70px, cropped)small
- url of the image resized to be larger than a thumbnail but smaller than the original (240px by 180px, cropped)large
- url of the image resized to be larger than thumbnail and small sizes (720px by 540px, cropped)xlarge
- url of the largest resized image (up to 1000px by 1000px, uncropped)media_type
- photo or floorplansort_order
- the order the the photo is intended to be displayed inprice
- all prices in USD. for rentals this is the rent for one month. for sales this is the current asking price.property_type
- residential or commercialsource
- describes the primary source where the listing data originatedstatus
- describes the current status of the unit with respect to availability, pending applications, etc.street_address
- the street address of the building, modified by address display preferences. see here for more info on display preferencessquare_footage
total_rooms
unit_number
- the number of the unit within the building. example: “3G” or “2R”view
- if we have data on the view from the unit it will appear here with one of the following possible values: Open View, Partially Obstructed, or Obstructed.website_marketable
- if false, listing cannot be marketed on a website.private
- true
if the listing is marked private in Funnel.incentives
- describes additional incentives offered by the building’s owner to brokersmin_lease_term
- minimum number of months a lease can be signed formax_lease_term
- maximum number of months a lease can be signed forrenter_fee
- whether or not a renter signing a lease has to be a broker’s feecommon_charges_maintenance_fee
- in USDmonthly_taxes
- in USDnumber_of_shares
- number of shares of ownership for buildings with a co-op or cond-op ownership classpercent_of_common_elements
- percent of common areas owned for buildings with a co-op or cond-op ownership classflip_tax
max_financing
tax_deduction
commercial_use
- if true the unit is permitted to be used for commercial purposeselectric_cost
- for commercial listings only, null otherwise/api/v2/listings/<listing_id>/
This endpoint returns the data for a single currently available open listing.
These parameters can be passes as query string parameters to customize the response.
display_agent
include_private
false
true
or false
Example request made via client side JavaScript using jQuery:
var apiData = $.ajax("https://nestiolistings.com/api/v2/listings/350889/?key=<your_key>")
Example Response Body
{
max_lease_term: 24,
exclusive: null,
min_lease_term: 12,
bathrooms: 2,
square_footage: null,
updated_at: "2015-07-18T11:12:32.786308",
property_type: "Residential",
id: 350889,
featured: false,
occupancy_status: null,
renter_fee: null,
layout: "2 Bedroom",
floor: null,
date_available: "2015-09-01",
last_listed_at: "2015-07-18T11:12:32.786508",
source: "Blast",
amenities: [
"Hardwood Floors",
"Stainless Steel Appliances",
"Windowed Kitchen",
"Pass-Through Kitchen",
"Walk-In Closet",
"Marble",
"Desirable Layout"
],
pets: "Pets Allowed",
access_info: "To schedule a viewing, contact Example Broker. example@fakebrokerage.com 555-555-5555",
status: "Available",
description: "",
fee_structure: "CYOF",
price: "7200.00",
bedrooms: 2,
incentives: null,
key_in_office: null,
listing_company: {
phone_number: "(555) 555-5555",
email: "",
website: "",
name: "Example Management Company",
address: "123 Some St, New York, NY 10010",
logo: null,
company_id: 1289,
fax_number: ""
},
photos: [
{
original: "https://assets-img.nestiostatic.com/unit_photos/originals/1e33cf2e65d517301adce1fda8f30e76.jpg?s=a51703d90404d302f030b5b79c1b324a",
large: "https://assets-img.nestiostatic.com/unit_photos/originals/1e33cf2e65d517301adce1fda8f30e76.jpg?fit=crop&h=540&w=720&s=2334719c403d5c8f2a07e81369e4cca9",
thumbnail: "https://assets-img.nestiostatic.com/unit_photos/originals/1e33cf2e65d517301adce1fda8f30e76.jpg?fit=crop&h=70&w=100&s=a3d5d4b3fe655f23f04e8ce9e493e1c9",
sort_order: 0,
small: "https://assets-img.nestiostatic.com/unit_photos/originals/1e33cf2e65d517301adce1fda8f30e76.jpg?fit=crop&h=180&w=240&s=8ca556ba82008a5c3cbcb53e1ab00ffb",
xlarge: "https://assets-img.nestiostatic.com/unit_photos/originals/1e33cf2e65d517301adce1fda8f30e76.jpg?fit=max&h=1000&w=1000&s=20297f84cb26b5208a6ab5f043688a1a",
media_type: "Photo",
id: 2677180
},
{
original: "https://assets-img.nestiostatic.com/unit_photos/originals/91708378e4274873fa3277ed0b5df868.jpg?s=a51703d90404d302f030b5b79c1b324a",
large: "https://assets-img.nestiostatic.com/unit_photos/originals/91708378e4274873fa3277ed0b5df868.jpg?fit=crop&h=540&w=720&s=2334719c403d5c8f2a07e81369e4cca9",
thumbnail: "https://assets-img.nestiostatic.com/unit_photos/originals/91708378e4274873fa3277ed0b5df868.jpg?fit=crop&h=70&w=100&s=a3d5d4b3fe655f23f04e8ce9e493e1c9",
sort_order: 1,
small: "https://assets-img.nestiostatic.com/unit_photos/originals/91708378e4274873fa3277ed0b5df868.jpg?fit=crop&h=180&w=240&s=8ca556ba82008a5c3cbcb53e1ab00ffb",
xlarge: "https://assets-img.nestiostatic.com/unit_photos/originals/91708378e4274873fa3277ed0b5df868.jpg?fit=max&h=1000&w=1000&s=20297f84cb26b5208a6ab5f043688a1a",
media_type: "Photo",
id: 2677181
},
{
original: "https://assets-img.nestiostatic.com/unit_photos/originals/d02110ba661debdba5ab3ac1beccecf6.jpg?s=a51703d90404d302f030b5b79c1b324a",
large: "https://assets-img.nestiostatic.com/unit_photos/originals/d02110ba661debdba5ab3ac1beccecf6.jpg?fit=crop&h=540&w=720&s=2334719c403d5c8f2a07e81369e4cca9",
thumbnail: "https://assets-img.nestiostatic.com/unit_photos/originals/d02110ba661debdba5ab3ac1beccecf6.jpg?fit=crop&h=70&w=100&s=a3d5d4b3fe655f23f04e8ce9e493e1c9",
sort_order: 2,
small: "https://assets-img.nestiostatic.com/unit_photos/originals/d02110ba661debdba5ab3ac1beccecf6.jpg?fit=crop&h=180&w=240&s=8ca556ba82008a5c3cbcb53e1ab00ffb",
xlarge: "https://assets-img.nestiostatic.com/unit_photos/originals/d02110ba661debdba5ab3ac1beccecf6.jpg?fit=max&h=1000&w=1000&s=20297f84cb26b5208a6ab5f043688a1a",
media_type: "Photo",
id: 2677182
},
{
original: "https://assets-img.nestiostatic.com/unit_photos/originals/866d8628376baefe54fc3013f65762d1.jpg?s=a51703d90404d302f030b5b79c1b324a",
large: "https://assets-img.nestiostatic.com/unit_photos/originals/866d8628376baefe54fc3013f65762d1.jpg?fit=crop&h=540&w=720&s=2334719c403d5c8f2a07e81369e4cca9",
thumbnail: "https://assets-img.nestiostatic.com/unit_photos/originals/866d8628376baefe54fc3013f65762d1.jpg?fit=crop&h=70&w=100&s=a3d5d4b3fe655f23f04e8ce9e493e1c9",
sort_order: 3,
small: "https://assets-img.nestiostatic.com/unit_photos/originals/866d8628376baefe54fc3013f65762d1.jpg?fit=crop&h=180&w=240&s=8ca556ba82008a5c3cbcb53e1ab00ffb",
xlarge: "https://assets-img.nestiostatic.com/unit_photos/originals/866d8628376baefe54fc3013f65762d1.jpg?fit=max&h=1000&w=1000&s=20297f84cb26b5208a6ab5f043688a1a",
media_type: "Photo",
id: 2677183
}
],
listing_type: "For Rent",
building: {
cross_streets: [
"Columbus Ave / W 59th St"
],
neighborhood: {
name: "Midtown West",
area: "Midtown Manhattan"
},
id: 103019,
city: "Manhattan",
name: "",
building_ownership: null,
postal_code: "10019",
state: "NY",
amenities: [ ],
location: {
latitude: 40.7691689,
longitude: -73.9850159
},
building_description: "",
building_age: "New Development",
building_type: "Loft",
year_built: 2011,
total_units: 50,
floors: 10.0,
tax_lot: "11",
tax_block: "12",
street_address: "1 Columbus Pl"
},
first_showing_date: null,
unit_number: "N-46D",
open_houses: [ ],
mls_policies: {
vow_opt_out: false,
idx_opt_out: false,
allow_comments: false,
allow_automated_valuations: false,
cobroke_agreement: "REBNY Universal Co-broke"
},
contacts: [ ],
street_address: "1 Columbus Pl"
}
glossary of listing object fields
'listing_type'
and 'property_type'
these fields can accept multiple values. if omitted the default values will be used (listing_type=rentals
, property_type=residential
). if you would like to, for example mix together rentals and sales in the same query result you can include the listing_type parameter multiple times. example:
https://nestiolistings.com/api/v2/sync/listings/?listing_type=rentals&listing_type=sales
/api/v2/sync/listings/
This end-point allows you to sync listings in bulk from Funnel’s database into your own. The data will be returned in paginated form with 50 listings per page, and can be filtered using the following options as query string parameters.
updated_since
2015-06-05T13:45:00
. Filters the listings returned to only include available listings that have been updated since the provided date.listing_type
default
property_type
default
The Listings Sync endpoint is only available using Basic Authentication. Before you use the listings sync endpoint, please confirm with your Funnel representative that your Funnel plan includes sync access, and it is enabled for your API key.
The sync API uses pointer-based pagination. Each page of API results provides a pointer to the next available page. To get the pointer to the next page, look for the ['pointer']['next_id']
field in the response:
{
"items": [ listings... ],
"pointer": {
"next_id": 234567
}
}
And then to retrieve the next page pass that value as the max_id parameter:
https://nestiolistings.com/api/v2/sync/listings/?max_id=234567
If you are using any filter parameters, be sure to pass those along with the max_id, such as
https://nestiolistings.com/api/v2/sync/listings/?updated_since=2015-05-19T12:47:00&max_id=234567
building_ownership
- the ownership class of the building.
building_type
- the type of building structure.
pets
- description of what kinds of pets the building’s management company allows.
status
- describes the current status of the unit with respect to availability, pending applications, etc.