Listing-data ingestion: bulk feeds, incremental updates, and normalisation of price, commission and sale history.
Two ingestion modes. A bulk feed loads the market's full inventory; an incremental extract picks up what changed since the last run. Both land in the same canonical listing classes.
Listing history is kept as a timeline rather than as a current state. A price reduction and its date are the signal; the current asking price alone is not.
How it works
Listing data is treated as evidence about the market rather than as fact about the property. Physical characteristics come from the assessor record in Property; what the listing contributes is price, timing and the agent's account of condition.
Operations
Address Autocomplete
GET/api/address-autocomplete
Address Autocomplete
addressAutocomplete
Provide address autocomplete suggestions using Typesense database.
Response
application/json
Success
{
"result": [
{
"full_address": "1303 North 24th Street, Fort Pierce, FL 34950-5706, USA",
"listing_identifier": "RX-10996641"
}
]
}
application/json
Parsing error
{
"message": "Something went wrong while parsing data."
}
application/json
Not Found
{
"message": "Not Found"
}
Parameters
1
Parameter
Type
Example
Description
addressrequired
stringquery
1303 N 24th St
Address to search suggestions for.
Response 200application/json
1 fields
Success
Field
Type
Description
result
object[]
Address suggestions
highlight
string
Highlighted addressExample 18419 SE Wood Haven Ln <mark>Jup</mark>iter FL 33469
address_identifier
string
Address identifierExample 1
full_address
string
Full addressExample 1303 North 24th Street, Fort Pierce, FL 34950-5706, USA
Link for table PUT item operationExample https://verified-listings-search-dev-listingsbucket-tazledfrubic.s3.amazonaws.com/commission/20240704/update.csv?AWSAccessKeyId=<redacted>&Signature=<redacted>&content-type=text%2Fcsv&x-amz-security-token=<redacted>&Expires=1720100100
GET/listing/{id}
Search
listingsSearchId
Get Listing
Get raw data from IDX.
Response
application/json
Success
{
"listing": {
"street": "8346 NW 118 Way",
"city": "Coral Springs",
"state": "Florida",
"zipcode": "33076",
"status": "Active",
"price": "800000",
"bathroom_count": "2",
"bedroom_count": "3",
"lease_price": null,
"sale_price": null,
"square_footage": "1904",
"sold_date": null,
"description": "Turn key*Quick closing ok* immaculate Single Family Home with serene wide water views located in a Guard Gated Golf course Cmnty* Impact Glass* potential to convert to a 4 Bedroom* Tile in living areas* wood in one room* Tankless gas Wtr Htr* Gas Range for gourmet cooking* Snack Bar Island w/sink* SS Appliances* Granite counters & 42 inch Cabinets* high volume ceilings, recessed lighting* knockdown texture* crown molding*some coffered ceilings* Master has a Huge walk in closet * amenities galore* close to shopping, places of worship, schools, parks, Equestrian center and much more*",
"primary_features": {
"county": "Broward County",
"partial_bathrooms": null,
"property_sub_type": "Single Family Residence",
"property_type": "Residential",
"subdivision": "Somerset",
"year_built": "2013"
},
"interior": {
"appliances": "Some Gas Appliances, Dryer, Dishwasher, Disposal, Gas Range, Gas Water Heater, Microwave, Refrigerator, Washer",
"building_area_total": "2574",
"cooling": "Central Air, Ceiling Fan(s), Electric",
"fireplace_features": null,
"flooring": "Carpet, Ceramic Tile, Tile, Wood",
"heating": "Central, Electric",
"interior_features": "Breakfast Bar, Dual Sinks, High Ceilings, Living/Dining Room, Main Level Primary, Pantry, Split Bedrooms, Separate Shower, Walk-In Closet(s), Attic",
"spa_features": null,
"stories_total": null
},
"external": {
"construction_materials": "Block, Other",
"covered_spaces": "2",
"door_features": null,
"exterior_features": "Enclosed Porch, Security/High Impact Doors",
"garage_spaces": "2",
"lot_features": "Other, Sprinklers Automatic, < 1/4 Acre",
"lot_size_area": "6841",
"lot_size_square_feet": "6841",
"parking_features": "Attached, Driveway, Garage",
"patio_and_porch_features": "Porch, Screened",
"pool_features": "None, Community",
"roof": "Spanish Tile",
"sewer": "Public Sewer",
"utilities": "Cable Available",
"water_source": "Public",
"window_features": "Blinds, Drapes, Impact Glass"
},
"location": {
"association_amenities": null,
"community_features": "Clubhouse, Gated, Home Owners Association, Pool",
"complex_name": null,
"elementary_school": "Heron Heights",
"mls_area_major": "3614",
"mls_area_minor": "North Broward 441 To Everglades (3611-3642)",
"postal_city": "Coral Springs",
"view": "Canal, Water",
"waterfront_features": "Canal Front",
"zoning_description": "RS-6"
},
"additional": {
"builder_model": "Azalea",
"housing_older_persons_act": "No HOPA",
"mls_status": "Active",
"pets_allowed": "Size Limit, Yes",
"property_condition": "Resale",
"property_sub_type_additional": "Single Family Residence",
"security_features": "Smoke Detector(s)",
"year_built_details": "Resale"
},
"financial": {
"association_fee": "838",
"association_fee_frequency": "Quarterly",
"association_fee_includes": "Common Area Maintenance, Recreation Facilities, Security",
"disclosures": null,
"listing_terms": "Conventional",
"possession": "Closing & Funding",
"special_listing_conditions": "Listed As-Is",
"tax_annual_amount": "9611",
"tax_year": "2023"
}
}
}
Parameters
1
Parameter
Type
Example
Description
idrequired
stringpath
R10823327
ID of the listing to get.
Response 200application/json
1 fields
Success
Field
Type
Description
listing
object
Listing object
Other responses
404
GET/api/delete-search-cache/{operation_id}
Get Search Cache Deletion Status
getDeleteSearchCacheStatus
Get the status of the search cache deletion operation.
This endpoint returns a list of verified listings. The response includes the total number of listings, the listings themselves, the page number, and the limit of listings per page.
This endpoint supports query parameters following this structure: lexicon_listing_property[operator]=value, where lexicon_listing_property is the property to filter by (staircase_discount_price_amount, current_list_price_amount, days_on_market_count), operator is the operator to use for the filter (gte, lte, eq, gt, lt), and value is the value to filter by.
To perform Radius search to retrieve all of the listings around a desired location by specific radius provide the following:
Latitude of the location.
Longitude of the location.
Radius that will be used to perform search.
Number of listings to retrieve while performing search
Note: if the provided Radius return number of listings that is less than the expected number, the radius will automatically increase by 1 mi, until the desired number of listings reached or max radius of 50 mi reached.
Examples of query parameters: latitude=26.6755617,longitude=-80.2620304,radius=5,number_of_listings=50