Skip to main content
GET
/
listing
/
{id}
Stream listing updates (SSE)
curl --request GET \
  --url https://borough.qwady.app/v1/listing/{id} \
  --header 'Authorization: Bearer <token>'
"<string>"

Overview

Opens a Server-Sent Events (SSE) stream for a single listing. The stream delivers cached data immediately, then attempts a live fetch for the freshest data available. Tier requirement: Pro, Business, or Internal.

SSE Events

EventDescription
cachedImmediate response from D1 cache (arrives within milliseconds)
liveFresh data fetched live from the source (arrives in 2-5 seconds)
errorLive fetch or parse could not complete; the payload includes an error code such as fetch_failed
doneStream complete, connection will close

Example

curl -N -H "Authorization: Bearer BOROUGH-..." \
  -H "Accept: text/event-stream" \
  https://borough.qwady.app/v1/listing/4961849
event: cached
data: {"id":"4961849","price":3200,"status":"ACTIVE",...}

event: live
data: {"id":"4961849","price":3150,"status":"ACTIVE",...}

event: done
data: {}

Behavior

  • The cached event is always sent first (from D1 database)
  • The live event is sent if the live fetch succeeds (typically 2-5 seconds)
  • If the live fetch fails or times out, an error event is sent instead of live
  • The stream always ends with a done event
  • Total stream duration is typically under 10 seconds

When to use

This endpoint is designed for one-time fresh data retrieval. For ongoing monitoring, use persistent watchers instead. Note: Business and Internal tier users get live data automatically on the regular GET /v1/property/{id} endpoint (returned with "source": "live"), so the SSE stream is primarily useful for Pro tier users who want live data.

Authorizations

Authorization
string
header
required

Polar.sh license key. Format: BOROUGH-<uuid>

Path Parameters

id
string
required

Listing ID

Response

Server-Sent Events stream

The response is of type string.