Skip to main content
AVnesterDevelopers
← All tools

compare_properties

Side-by-side comparison of 2–5 listings on objective metrics (price per sqft, age, RERA ID as listed, amenities).

Endpoint POST https://api.avnester.com/public/v1/compare_properties

Parameters

The most-used parameters. Full schema in the OpenAPI document.

listingIdsstring[]required
Between 2 and 5 listing IDs.

Worked example

# compare three apartments the user is weighing
curl -X POST https://api.avnester.com/public/v1/compare_properties \
  -H 'Content-Type: application/json' \
  -d '{
       "listingIds": ["lst_abc123", "lst_def456", "lst_ghi789"]
     }'
Response
{
  "comparison": [
    {
      "listingId": "lst_abc123",
      "status": "found",
      "listing": {
        "listingId": "lst_abc123",
        "title": "2 BHK in Saravanampatti",
        "price": 6500000,
        "carpetAreaSqft": 1180,
        "ageInYears": 3,
        "reraId": "TN/02/Building/0123/2024"
      },
      "metrics": { "pricePerSqft": 5508, "vsCheapestPercent": 12, "vsLargestAreaPercent": 0 }
    },
    {
      "listingId": "lst_def456",
      "status": "found",
      "listing": {
        "listingId": "lst_def456",
        "title": "2 BHK in Ganapathy",
        "price": 5800000,
        "carpetAreaSqft": 1090,
        "ageInYears": 6,
        "reraId": null
      },
      "metrics": { "pricePerSqft": 5321, "vsCheapestPercent": 0, "vsLargestAreaPercent": -8 }
    },
    {
      "listingId": "lst_ghi789",
      "status": "not_found_or_unpublished",
      "listing": null,
      "metrics": null
    }
  ],
  "message": "lst_ghi789 did not resolve (not found or unpublished).",
  "framing": "These are objective trade-offs, not a recommendation.",
  "attribution": "AVnester"
}

Run this example in the playground

Rate limits

OAuth (Developer)

30 / min

The same ceiling applies to every tool on a given plan, on both the MCP and REST transports; every plan’s is on Pricing. OAuth registration is free and self-serve. Calls made without signing in have their own per-IP limits — see the quickstart.

Common errors

  • 400Need 2–4 listingIds

    Provide between 2 and 4 listing IDs in listingIds[].

  • 429Rate limit exceeded

    Back off until the time in the Retry-After header. Signed in with OAuth, the per-tool limit is counted per user instead of per address; a paid plan raises it.

  • 429Daily call limit reached (calls without signing in)

    Retry-After counts to 00:00 UTC, and only calls that returned an answer count. Signed in, calls count against your plan instead of your IP address.

Next steps