Event reference
Website change events
The webhook event for competitor website changes: every key, the shape of each change and a sample body.
A website event fires when a tracked page changes in a way the judge keeps. One page change is one event. The event lists every change on the page in changes.
- eventType
website- subEventType
website_change- signalType
website.changedfor a changed page.website.page_addedandwebsite.page_removedexist in the schema but are never sent- Platform field
websiteResponse(same value asmetadata)- Tracker
- Website pages
- relevance
- Judged:
{ "status": "relevant", … }
How to read this page
Every website body has the common fields plus one websiteResponse object, sent twice (also as metadata). It has the item fields and two keys of its own. There is no platform key.
Fields
websiteResponse
titlestring|null
The page title.
textstring|null
The first 2,000 characters of the page's Markdown after the change. The whole page is not sent.
urlstring|null
The page URL. Same as
pageUrl.authorobject|null
null for pages.mediaobject[]
{ type: 'image' | 'video' | 'document', url: string }. Usually empty.metricsobject|null
null for pages.pageUrlstring
The page that changed.
changesobject[]
What changed, one entry per change. See below.
Each entry of changes has this shape:
changes[] · one change
type'minor'|'major'
How big the judge rated the change.
titlestring
A short name for the change (
Breeze AI Credits Added).descriptionstring
One or two sentences on what changed.
previousstring
The excerpt that changed, before the change, as Markdown. A short snippet, not the whole page. When the section is new it reads like
… was not present in the previous version.currentstring
The same excerpt after the change, as Markdown.
categoriesstring[]
Labels for the change (
feature_update, product_launch). Free-form, treat as open.Event · website_change (HubSpot)Sample with the exact shape (no real run yet)
json
1{2 "version": 1,3 "eventId": "df38433d-cc67-4467-ba3a-8892f7a50702",4 "eventType": "website",5 "subEventType": "website_change",6 "action": "updated",7 "signalType": "website.changed",8 "source": "website",9 "orgId": "org_3KikADUjsyXrUJ4RJhWpwcp98Yf",10 "trackerId": "440b3b16-2000-484a-aa8b-7481d482f1dd",11 "projectId": "2738158a-08fd-4fc4-912d-43d4c328bc10",12 "runId": "8ba8ccfa-e9e5-4764-9feb-4b0e88a2ba4a",13 "competitor": {14 "name": "HubSpot",15 "domain": "hubspot.com",16 "subjectKey": "https://www.hubspot.com/pricing"17 },18 "occurredAt": "2026-10-27T15:08:27.064Z",19 "detectedAt": "2026-10-27T15:08:27.064Z",20 "sequence": 5,21 "itemKey": "website-https://www.hubspot.com/pricing",22 "relevance": {23 "status": "relevant",24 "confidence": 1,25 "reasoning": "HubSpot added HubSpot Credits for Breeze AI agents to its Professional plan. No price changes were detected.",26 "summary": "HubSpot added HubSpot Credits for Breeze AI agents to its Professional plan. No price changes were detected.",27 "shortSummary": "Breeze AI Credits Added",28 "categories": [29 "feature_update",30 "pricing_strategy"31 ]32 },33 "websiteResponse": {34 "title": "HubSpot Pricing",35 "text": "Title: HubSpot Pricing\n\nURL Source: https://www.hubspot.com/pricing\n\nMarkdown Content:\n# Choose your plan\n\n## Professional\n\nEverything in Starter, plus marketing automation, custom reporting, omni-channel campaigns and HubSpot Credits for Breeze AI agents. …",36 "url": "https://www.hubspot.com/pricing",37 "author": null,38 "media": [],39 "metrics": null,40 "pageUrl": "https://www.hubspot.com/pricing",41 "changes": [42 {43 "type": "major",44 "title": "Breeze AI Credits Added",45 "description": "Added HubSpot Credits for Breeze AI agents to the Professional plan feature list.",46 "previous": "# Choose your plan\n\n## Professional\n\nEverything in Starter, plus marketing automation, custom reporting and omni-channel campaigns. …",47 "current": "# Choose your plan\n\n## Professional\n\nEverything in Starter, plus marketing automation, custom reporting, omni-channel campaigns and HubSpot Credits for Breeze AI agents. …",48 "categories": [49 "feature_update",50 "pricing_strategy"51 ]52 }53 ]54 },55 "metadata": {56 "title": "HubSpot Pricing",57 "text": "Title: HubSpot Pricing\n\nURL Source: https://www.hubspot.com/pricing\n\nMarkdown Content:\n# Choose your plan\n\n## Professional\n\nEverything in Starter, plus marketing automation, custom reporting, omni-channel campaigns and HubSpot Credits for Breeze AI agents. …",58 "url": "https://www.hubspot.com/pricing",59 "author": null,60 "media": [],61 "metrics": null,62 "pageUrl": "https://www.hubspot.com/pricing",63 "changes": [64 {65 "type": "major",66 "title": "Breeze AI Credits Added",67 "description": "Added HubSpot Credits for Breeze AI agents to the Professional plan feature list.",68 "previous": "# Choose your plan\n\n## Professional\n\nEverything in Starter, plus marketing automation, custom reporting and omni-channel campaigns. …",69 "current": "# Choose your plan\n\n## Professional\n\nEverything in Starter, plus marketing automation, custom reporting, omni-channel campaigns and HubSpot Credits for Breeze AI agents. …",70 "categories": [71 "feature_update",72 "pricing_strategy"73 ]74 }75 ]76 }77}
Long text values are shortened here with “ …”. Your endpoint gets the full text.
A website change in the Signals feed