Public API Docs

AgentCompare.ie public endpoints

This page explains the public endpoints we intentionally expose for agent discovery. The machine-readable catalog lives at /.well-known/api-catalog.

Admin-only routes and disabled Google Places endpoints are left out on purpose so agents only discover APIs that are safe and genuinely usable from the public web.

How to use this section

  • Each endpoint below links to a machine-readable JSON description.
  • Request and response examples mirror the live route handlers in this codebase.
  • Rate limits shown here describe the default server settings in the current app.

GET

Geocode

Returns a formatted address, coordinates, Eircode, and routing key for a supplied address, Google place ID, or latitude/longitude pair.

GET
/api/geocode

Summary

Resolve an address, place ID, or coordinates into location details.

Query parameters

NameTypeRequiredNotes
addressstringNoPostal address to geocode.
placeIdstringNoGoogle Place ID to resolve.
latnumberNoLatitude for reverse geocoding.
lngnumberNoLongitude for reverse geocoding.
resultTypestringNoOptional reverse-geocode result type hint.

Response examples

200Resolved location data.

application/json

{
  "formattedAddress": "Blackrock, County Dublin, Ireland",
  "location": {
    "lat": 53.3015,
    "lng": -6.1778
  },
  "postalCode": "A94",
  "eircode": "A94",
  "routingKey": "A94"
}

429Rate limit exceeded.

application/json

{
  "error": "Too many geocode lookups. Please wait and try again."
}

POST

Resolve Eircode

Accepts a full Irish Eircode and returns a formatted address, location coordinates, routing key, and county when the lookup can be verified.

POST
/api/location/resolve-eircode

Summary

Verify and resolve an Irish Eircode into address and map coordinates.

JSON body

FieldTypeRequiredNotes
eircodestringYesFull Irish Eircode, for example A65 F4E2.

Response examples

200Verified Eircode lookup result.

application/json

{
  "formattedAddress": "Main Street, Bray, Co. Wicklow, Ireland",
  "location": {
    "lat": 53.2022,
    "lng": -6.0983
  },
  "eircode": "A98 F8F2",
  "routingKey": "A98",
  "county": "Wicklow"
}

400Invalid JSON body or invalid Eircode format.

application/json

{
  "error": "Enter a full Eircode like A65 F4E2."
}

404The Eircode could not be verified.

application/json

{
  "error": "We couldn't verify that Eircode yet. Please request a concierge audit for now."
}

POST

Valuation Estimate

Builds a valuation estimate using nearby PPR sales after geocoding an address, Google place ID, or supplied coordinates.

POST
/api/valuation/estimate

Summary

Estimate a property value from address or coordinate input.

JSON body

FieldTypeRequiredNotes
addressstringNoAddress to geocode before running the valuation.
placeIdstringNoGoogle Place ID to geocode before running the valuation.
locationLatnumberNoLatitude when coordinates are already known.
locationLngnumberNoLongitude when coordinates are already known.
formattedAddressstringNoOptional display address when coordinates are supplied directly.
propertyTypestring (detached, semi-detached, terraced, bungalow, apartment, site)NoOptional property type hint.

Response examples

200Valuation estimate with comparable sales summary.

application/json

{
  "address": "12 Seaview Park, Blackrock, Co Dublin",
  "location": {
    "lat": 53.3015,
    "lng": -6.1778
  },
  "estimate": {
    "low": 640000,
    "mid": 685000,
    "high": 730000
  },
  "confidence": "medium",
  "comps": [
    {
      "id": "sale_123",
      "address": "4 Example Avenue, Blackrock, Co Dublin",
      "sale_price": 690000,
      "sale_date": "2026-01-18"
    }
  ],
  "stats": {
    "compsCount": 1,
    "radiusKm": 1.5,
    "monthsLookback": 24
  }
}

400Missing address input or invalid request body.

application/json

{
  "error": "Address, placeId, or coordinates are required."
}

429Rate limit exceeded.

application/json

{
  "error": "Too many valuation checks. Please wait and try again."
}