Skip to main content
GET
/
v1
/
signals
/
geo
/
search
Search geo signals within a state
curl --request GET \
  --url https://api.homelogs.io/v1/signals/geo/search \
  --header 'X-API-Key: <api-key>'
{
  "state": "<string>",
  "count": 1,
  "signals": [
    {
      "signal_key": "<string>",
      "value": {},
      "score": 123,
      "confidence": 123,
      "decision": "<string>",
      "reasons": [
        "<string>"
      ],
      "computed_at": "2023-11-07T05:31:56Z",
      "geo_id": "<string>",
      "geo_type": "property",
      "display_name": "<string>"
    }
  ],
  "next_cursor": "<string>"
}
Searches geo-scoped signals across a state, with filters like geo_type, signal_keys, and decision/score thresholds. Use this when you want ranked or filtered geo-level opportunities, not just one fixed geo_id. For narrative examples and interpretation guidance, see Signals & Methodology.

Required input

  • None (defaults to state=WA if omitted)

Optional input

  • state (2-letter code)
  • signal_keys (CSV list)
  • geo_type (jurisdiction, city, zip, county, state)
  • decision (for example positive)
  • min_score (0..1)
  • limit (1..100)
  • cursor (opaque pagination token)

Example request

curl -sS "$API_BASE_URL/v1/signals/geo/search?state=WA&geo_type=county&signal_keys=roofing_activity_hotspot&decision=positive&min_score=0.60&limit=25" \
  -H "x-api-key: $HOMELOGS_API_KEY"

Response shape

  • state
  • count
  • signals[] with geo_id, geo_type, display_name, signal_key, value, score, confidence, decision, reasons, computed_at
  • next_cursor

Authorizations

X-API-Key
string
header
required

Query Parameters

state
string
default:WA
Pattern: ^[A-Za-z]{2}$
signal_keys
string

Optional CSV list of signal keys.

geo_type
enum<string>
Available options:
property,
jurisdiction,
city,
zip,
county,
state
decision
string
Example:

"positive"

min_score
number
Required range: 0 <= x <= 1
Example:

0.5

limit
integer
default:25
Required range: 1 <= x <= 100
cursor
string

Opaque cursor from previous page.

Response

Signal rows matching filters.

state
string
required
count
integer
required
Required range: x >= 0
signals
object[]
required
next_cursor
string | null
required