Rechat SDK
    Preparing search index...

    Listings

    sdk.Listings searches Rechat's listing inventory from code. On a portal site the search routes through the portal (which scopes results to the brokerage); on any other site it falls back to the public API.

    const sdk = new Rechat.Sdk()

    const result = await sdk.Listings.search({
    filters: {
    listing_statuses: ['Active'],
    minimum_price: 500000,
    maximum_price: 900000,
    minimum_bedrooms: 3,
    property_types: ['Residential'],
    },
    sortBy: '-price',
    limit: 20,
    offset: 0,
    })

    console.log(result.info.total, 'matches')
    result.data.forEach(listing => console.log(listing))
    Param Default Description
    filters required The filter object — see below. listing_statuses is required.
    sortBy "-price" Sort field; - prefix = descending
    limit 20 Listings per page
    offset 0 Pagination offset

    Resolves with { data, info } where data is the listings array and info is { count, total }count for this page, total across all pages.

    Same parameters as search, but only returns the total:

    const { total } = await sdk.Listings.count({
    filters: { listing_statuses: ['Active'], pool: true },
    })

    All optional except listing_statuses.

    Generallisting_statuses (e.g. ['Active', 'Sold']), brand.

    Rangesminimum_price / maximum_price, minimum_bedrooms / maximum_bedrooms, minimum_bathrooms, minimum_parking_spaces, minimum_square_meters / maximum_square_meters, minimum_lot_square_meters / maximum_lot_square_meters, minimum_year_built / maximum_year_built, minimum_sold_date (Unix epoch seconds).

    Flagspool, open_house, office_exclusive.

    Classificationproperty_types, property_subtypes, architectural_styles, agents, list_agents, list_offices, mls_number, mlses (brokerage-side MLS scope: restricts every search to these MLSes regardless of other filters).

    Geopostal_codes, mls_areas, school_districts, subdivisions, counties, boundaries, points (an array of { latitude, longitude } polygon vertices).

    Note the JavaScript filters use square meters, unlike the web-component attributes, which take square feet.

    Looking for a ready-made UI instead? The Web Components render a full search experience on top of this same API.