Register an endpoint
Via the dashboard
Open webhook settings
Go to Settings → Notifications → Channels & webhooks. Scroll to the Webhooks section.
Add an endpoint
Click Add endpoint, enter your HTTPS URL, and choose the events you want to subscribe to.
Via the API
You can also register endpoints programmatically with the REST API.Supported events
| Event | Fires when |
|---|---|
competitor.rating_change | A tracked competitor’s Google rating changes |
competitor.review_surge | A competitor receives an unusual spike in reviews |
competitor.hours_change | A competitor updates hours, services, price, or category |
competitor.website_change | A competitor’s website URL or content changes |
competitor.new_competitor | A competitor closes, reopens, or changes status |
business.rating_change | Your own Google rating changes |
business.review_surge | Your listing receives an unusual review surge |
alert.created | Any alert is created — a catch-all for all event types |
Verifying webhook signatures
Every delivery includes anX-NearIQ-Signature header containing an HMAC-SHA256 digest of the raw request body, prefixed with sha256=. Use your webhook secret (beginning with whsec_) to recompute the expected signature and compare it to the one in the header.
Always verify signatures before processing a payload. This confirms the request originated from NearIQ and the body has not been tampered with.
Pass the raw request body (before JSON parsing) to the verification function. Parsing and re-serializing the body can change whitespace and invalidate the signature.
Request headers
Every webhook delivery includes these headers:| Header | Value |
|---|---|
X-NearIQ-Signature | sha256=<hmac-sha256 of raw body> |
X-NearIQ-Event | The event name, e.g. competitor.rating_change |
Content-Type | application/json |
Managing endpoints
Use the REST API to list, update, or delete your registered endpoints.Limits
- You can register up to 10 webhook endpoints per account.
- NearIQ retries failed deliveries (non-2xx responses or timeouts) with exponential backoff.
- Your endpoint should return a
2xxresponse within 10 seconds to be considered successful.