Property Search with OData Query Syntax

GET /v2/PropertySearch/odata

Query properties using OData syntax for advanced filtering and querying. Supports standard OData operators like $filter, $select, $top, and $skip.

Headers

  • x-api-key string Required

    API key for authentication

  • x-user-id string

    Optional user identifier for tracking and analytics

Query parameters

  • $filter string

    OData filter expression

  • $select string

    Comma-separated list of fields to return

  • $top integer

    Number of results to return

    Minimum value is 1, maximum value is 1000. Default value is 10.

  • $skip integer

    Number of results to skip for pagination

    Minimum value is 0. Default value is 0.

  • $orderby string

    Field to sort by with optional direction

Responses

  • 200 application/json

    Successful OData query response

    Hide response attributes Show response attributes object
    • live boolean

      Indicates if the data is live from the API

    • input object

      Response input parameters for a Property Search request

    • data array[object]

      Array of property results

      Hide data attributes Show data attributes object
      • absenteeOwner boolean

        Default value is true.

      • address object
        Hide address attributes Show address attributes object
        • address string
        • city string
        • county string
        • state string
        • street string
        • zip string
      • adjustableRate boolean

        Default value is true.

      • airConditioningAvailable boolean

        Default value is true.

      • assessedImprovementValue integer

        Default value is 0.

      • assessedLandValue integer

        Default value is 0.

      • assessedValue integer

        Default value is 0.

      • auction boolean

        Default value is true.

      • basement boolean

        Default value is true.

      • bathrooms integer

        Default value is 0.

      • bedrooms integer

        Default value is 0.

      • cashBuyer boolean

        Default value is true.

      • corporateOwned boolean

        Default value is true.

      • death boolean

        Default value is true.

      • distressed boolean

        Default value is true.

      • documentType string
      • documentTypeCode string
      • equity boolean

        Default value is true.

      • equityPercent integer

        Default value is 0.

      • estimatedEquity integer

        Default value is 0.

      • estimatedValue integer

        Default value is 0.

      • floodZone boolean

        Default value is true.

      • floodZoneDescription string
      • floodZoneType string
      • foreclosure boolean

        Default value is true.

      • forSale boolean

        Default value is true.

      • freeClear boolean

        Default value is true.

      • garage boolean

        Default value is true.

      • highEquity boolean

        Default value is true.

      • id string
      • inherited boolean

        Default value is true.

      • inStateAbsenteeOwner boolean

        Default value is true.

      • investorBuyer boolean

        Default value is true.

      • landUse string
      • lastSaleAmount string
      • lastSaleDate string
      • latitude number

        Default value is 0.

      • lenderName string
      • longitude number

        Default value is 0.

      • lotSquareFeet integer

        Default value is 0.

      • mailAddress object
        Hide mailAddress attributes Show mailAddress attributes object
        • address string
        • city string
        • county string
        • state string
        • street string
        • zip string
      • medianIncome string
      • MFH2to4 boolean

        Default value is true.

      • MFH5plus boolean

        Default value is true.

      • mlsActive boolean

        Default value is true.

      • mlsCancelled boolean

        Default value is true.

      • mlsDaysOnMarket integer

        Default value is 0.

      • mlsFailed boolean

        Default value is true.

      • mlsHasPhotos boolean

        Default value is true.

      • mlsLastSaleDate string
      • mlsLastStatusDate string
      • mlsListingDate string
      • mlsListingPrice integer

        Default value is 0.

      • mlsPending boolean

        Default value is true.

      • mlsSold boolean

        Default value is true.

      • mlsStatus string
      • mlsType string
      • negativeEquity boolean

        Default value is true.

      • neighborhood object
        Hide neighborhood attributes Show neighborhood attributes object
        • center string
        • id string
        • name string
        • type string
      • openMortgageBalance integer

        Default value is 0.

      • outOfStateAbsenteeOwner boolean

        Default value is true.

      • owner1FirstName string
      • owner1LastName string
      • owner2FirstName string
      • owner2LastName string
      • ownerOccupied boolean

        Default value is true.

      • preForeclosure boolean

        Default value is true.

      • privateLender boolean

        Default value is true.

      • propertyId string
      • propertyType string
      • propertyUse string
      • propertyUseCode integer

        Default value is 0.

      • reo boolean

        Default value is true.

      • roomsCount integer

        Default value is 0.

      • squareFeet integer

        Default value is 0.

      • suggestedRent string
      • unitsCount integer

        Default value is 0.

      • vacant boolean

        Default value is true.

      • yearBuilt integer

        Default value is 0.

      • yearsOwned integer

        Default value is 0.

    • resultCount integer

      Total number of results found

    • resultIndex integer

      Index of the last record returned in the current response data

    • recordCount integer

      Number of records returned in the current response data

    • statusCode integer

      HTTP status code of the response

    • statusMessage string

      Status message corresponding to the status code

    • requestExecutionTimeMS string

      Time taken to execute the request in milliseconds

  • 400 application/json

    Bad Request - Invalid input parameters

    Hide response attributes Show response attributes object
    • error string
    • message string
    • statusCode integer
    • details object

      Additional error details

  • 401 application/json

    Unauthorized - Invalid or missing API key

    Hide response attributes Show response attributes object
    • error string
    • message string
    • statusCode integer
  • 500 application/json

    Internal Server Error

    Hide response attributes Show response attributes object
    • error string
    • message string
    • statusCode integer
GET /v2/PropertySearch/odata
curl \
 --request GET 'https://api.realestateapi.com/v2/PropertySearch/odata' \
 --header "x-api-key: string" \
 --header "x-user-id: string"
Response examples (200)
{
  "live": true,
  "input": {},
  "data": [
    {
      "absenteeOwner": false,
      "address": {
        "address": "13723 Neil Armstrong Ave Unit 308, Herndon, Va 20171",
        "city": "Herndon",
        "county": "Fairfax",
        "state": "VA",
        "street": "13723 Neil Armstrong Ave Unit 308",
        "zip": "20171"
      },
      "adjustableRate": false,
      "airConditioningAvailable": false,
      "assessedImprovementValue": 326590,
      "assessedLandValue": 82000,
      "assessedValue": 408590,
      "auction": false,
      "basement": false,
      "bathrooms": 2,
      "bedrooms": 2,
      "cashBuyer": false,
      "corporateOwned": false,
      "death": false,
      "distressed": false,
      "documentType": "Grant Deed",
      "documentTypeCode": "DTGD",
      "equity": false,
      "equityPercent": 38,
      "estimatedEquity": 189084,
      "estimatedValue": 490308,
      "floodZone": true,
      "floodZoneDescription": "AREA OF MINIMAL FLOOD HAZARD",
      "floodZoneType": "X",
      "foreclosure": false,
      "forSale": false,
      "freeClear": false,
      "garage": false,
      "highEquity": false,
      "id": "253175355",
      "inherited": false,
      "inStateAbsenteeOwner": false,
      "investorBuyer": false,
      "landUse": "Residential",
      "lastSaleAmount": "418000",
      "lastSaleDate": "2020-07-23",
      "latitude": 38.9207,
      "lenderName": "One American Mtg",
      "longitude": -77.4218,
      "lotSquareFeet": 0,
      "mailAddress": {
        "address": "13723 Neil Armstrong Ave Unit 308, Herndon, Va 20171",
        "city": "Herndon",
        "county": "Fairfax",
        "state": "VA",
        "street": "13723 Neil Armstrong Ave Unit 308",
        "zip": "20171"
      },
      "medianIncome": "150066",
      "MFH2to4": false,
      "MFH5plus": false,
      "mlsActive": true,
      "mlsCancelled": false,
      "mlsDaysOnMarket": 101,
      "mlsFailed": false,
      "mlsHasPhotos": false,
      "mlsLastSaleDate": "2020-07-23",
      "mlsLastStatusDate": "2023-04-15",
      "mlsListingDate": "2023-04-15",
      "mlsListingPrice": 2500,
      "mlsPending": false,
      "mlsSold": false,
      "mlsStatus": "Active",
      "mlsType": "ForSale",
      "negativeEquity": false,
      "neighborhood": {
        "center": "POINT(-77.421701188095 38.919564722822)",
        "id": "63205",
        "name": "Discovery Square",
        "type": "subdivision"
      },
      "openMortgageBalance": 313500,
      "outOfStateAbsenteeOwner": false,
      "owner1FirstName": "Attili",
      "owner1LastName": "Srinivas",
      "owner2FirstName": "Attili",
      "owner2LastName": "Manjusha",
      "ownerOccupied": true,
      "preForeclosure": false,
      "privateLender": false,
      "propertyId": "253175355",
      "propertyType": "CONDO",
      "propertyUse": "Condominium",
      "propertyUseCode": 366,
      "reo": false,
      "roomsCount": 5,
      "squareFeet": 1323,
      "suggestedRent": "2070",
      "unitsCount": 0,
      "vacant": false,
      "yearBuilt": 2015,
      "yearsOwned": 3
    }
  ],
  "resultCount": 150,
  "resultIndex": 250,
  "recordCount": 50,
  "statusCode": 200,
  "statusMessage": "OK",
  "requestExecutionTimeMS": "150ms"
}
Response examples (400)
{
  "error": "Bad Request",
  "message": "Invalid input parameters",
  "statusCode": 400,
  "details": {}
}
Response examples (401)
{
  "error": "Unauthorized",
  "message": "Invalid or missing API key",
  "statusCode": 401
}
Response examples (500)
{
  "error": "Internal Server Error",
  "message": "An unexpected error occurred",
  "statusCode": 500
}