Page DeltasPage Deltas

Guide

Så förvandlar du vilken webbplats som helst till ett change-API

De flesta webbsidor du bryr dig om kommer aldrig att lansera ett API. Konkurrentpriser, leverantörers användarvillkors-PDF:er, myndighetsregister, partners ändringsloggar: informationen finns direkt i HTML-koden, men det finns ingen endpoint att anropa. Du har tre realistiska alternativ: Bygg en egen scraper och hantera ständiga fel. Betala ett scraping-API för att hämta hela sidan på begäran. Eller förvandla sidan till ett ändringsflöde: en bevakning som håller koll åt dig och bara skickar JSON när något viktigt faktiskt har ändrats. Den här artikeln går igenom den tredje vägen, från början till slut, med Page Deltas.

Gratisplan · 10 bevakade URL:er eller webbplatskartor · obegränsade kontroller (best-effort) · AI-filtrering och sammanfattningar · REST API, MCP och signerade webhooks på alla planer · inget kreditkort krävs

3 nya sidor upptäckta i sitemap.xml
POST https://hooks.your-app.com/page-deltas200
{
  "event": "sitemap.new_urls",
  "monitor": "https://www.hubspot.com/sitemap.xml",
  "detected_at": "2026-06-15T19:30:00Z",
  "new_urls": [
    "https://www.hubspot.com/case-studies/workleap",
    "https://www.hubspot.com/products/artificial-intelligence/use-cases/sales-meeting-prep-and-follow-up",
    "https://www.hubspot.com/email-signature-generator/create-rules-gmail"
  ]
}

Egen scraper vs scraping-API vs ändringsflöde

Ärlig tumregel: Om du behöver tusentals sidor som en datamängd, använd ett scraping-API. Om du behöver veta när en specifik offentlig sida ändras i linje med en instruktion, ger ett ändringsflöde mindre kod och mycket mindre underhåll.

Egen scraper

Vad du får: Rå HTML som du tolkar själv. Bäst för full kontroll på udda sajter. Insatsen är hög (selektorer, proxyservrar, rendering, återförsök). När sajten görs om slutar din parser att fungera obemärkt. Uppdatering sker när ditt cron-jobb körs. Typisk kostnad: Infrastruktur plus din arbetstid.

Scraping-API

Vad du får: Strukturerad datautvinning per förfrågan. Bäst för massutvinning av många sidor. Insatsen är låg till medelhög. Leverantören hanterar de flesta förändringar i layouten. Uppdatering sker endast när du anropar API:et. Typisk kostnad: Krediter per anrop.

Ändringsflöde (denna guide)

Vad du får: En JSON-händelse när något viktigt har ändrats, tillsammans med en AI-sammanfattning. Bäst för "meddela mitt system när den här sidan ändras". Insatsen är låg: Skapa en bevakning, använd sedan webhook eller polling. Innehållsextrahering och en LLM-instruktion avgör vad som är viktigt. Adaptiva kontroller; direkt push till din endpoint vid träff. Prissättning per bevakad URL i din plan (kontroller räknas inte på Page Deltas).

Vad du kommer att bygga

Bas-URL: https://api.pagedeltas.com. Alla endpoints finns under /api. Lyckade svar returneras som JSON.

Konto och API-nyckel

Skapa en gratis Page Deltas-organisation och en API-nyckel.

Bevakning med en instruktion (brief)

Skapa en bevakning på en offentlig URL med en instruktion på naturligt språk (filtret).

Polling eller webhook

Polla GET /api/monitors/{id}/changes eller koppla en generisk webhook-kanal så att varje träff skickar signerad JSON via POST till din applikation.

Valfri MCP

Anslut samma nyckel till Claude, Cursor eller VS Code via MCP.

Konfiguration: Förvandla en sida till ett ändringsflöde

Fem steg från API-nyckel till en signerad webhook. Föredra en webhook när du vill ha push i stället för pull.

01

Skapa ett konto och en API-nyckel

Registrera dig på pagedeltas.com/register. Inget kreditkort krävs. Gratisplan: 10 bevakade URL:er eller sitemaps, obegränsade kontroller (best-effort-frekvens), AI-filtrering och sammanfattningar, obegränsat antal teammedlemmar, Slack / Discord / Teams / e-post / signerade webhooks, 14 dagars historik, REST API och MCP. I appen: Inställningar → API-nycklar (redaktör eller admin). Skapa en nyckel och kopiera den direkt; den visas bara en gång. export PAGEDELTAS_TOKEN="pdt_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx". Nycklar är knutna till organisationen och fungerar med administratörsbehörighet inom den. De är inte kopplade till en enskild medlem, så att ta bort en kollega återkallar inte nyckeln. Ta bort nyckeln för att stänga av åtkomsten. Behandla den som ett lösenord: Använd miljövariabler eller en hemlighetshanterare, aldrig versionshanterade konfigurationsfiler.

02

Skapa en bevakning (cURL)

POST https://api.pagedeltas.com/api/monitors med Authorization: Bearer $PAGEDELTAS_TOKEN och JSON-kropp: url, nl_description (instruktionen), valfri filter_prompt och channel_ids: []. Exempel på instruktion: "Konkurrentens prissida. Avisera när ett abonnemangspris ändras, en nivå läggs till eller tas bort, eller kvoter och gränser ändras. Ignorera cookie-banderoller, A/B-testlayouter och roterande omdömen." Det finns inget frekvensfält. Kadensen är adaptiv (aktiva sidor kontrolleras oftare, lugna mer sällan; betalda planer har förtur). Använd POST /api/monitors/{id}/check-now för en omedelbar kontroll vid behov (hastighetsbegränsad till 1 anrop/minut/bevakning). nl_description är instruktionen som språkmodellen använder för att avgöra om en ändring är relevant. Vaga instruktioner förvandlar din webhook till ett störtflod av ovidkommande visuella ändringar. Valfritt: filter_prompt, css_selector, xpath_selector, is_pdf och channel_ids (kanalundantag per bevakning; utelämna för att använda organisationens standardvärden). Endast för öppna webbsidor. Sidor bakom inloggning stöds inte i dagsläget. Webbplatskartor (sitemaps) hanteras som en separat resurs (/api/sitemap-monitors) när frågan är: "Har en helt ny sida dykt upp?" snarare än "Har den här sidan skrivits om?"

03

Polla ändringsflödet

GET https://api.pagedeltas.com/api/monitors/{id}/changes?limit=50 med din Bearer-token. De senaste ändringarna visas först (standard 50, max 100). Det finns ingen markör (cursor). Håll själv reda på den senaste detected_at-tidsstämpeln du redan har hanterat. Varje ändring innehåller id, detected_at och summary: En lättförståelig AI-beskrivning av vad som matchade instruktionen, inte en rå HTML-diff. Skicka summary vidare till Slack, ett ärendehanteringssystem eller en annan agent.

04

Samma skapande och polling i Python

Använd requests-biblioteket med Authorization Bearer och Content-Type application/json. Gör POST till /api/monitors med url, nl_description och channel_ids: []. Läs av monitor["id"] från svaret. Anropa sedan GET /api/monitors/{monitor_id}/changes med limit=50 och skriv ut detected_at och summary för varje ändring. Kör detta enligt ett schema om du absolut måste polla. Välj hellre en webhook om du vill få data automatiskt pushad.

05

Skippa polling, få pushad JSON (HMAC-signerade webhooks)

I appen: Kanaler → Lägg till en kanal → Generisk webhook. Klistra in din HTTPS-mottagar-URL. Kopiera kanalhemligheten så snart den visas (visas bara en gång). Klicka på Skicka test. Du kan också skapa kanalen via API (POST /api/alert-channels) och koppla den med PUT /api/monitors/{id}/alert-channels, eller lämna channel_ids tomt så att bevakningen använder organisationens standard. Varje matchande ändring skickar platt JSON via POST till din URL med Content-Type application/json och sidhuvudet X-Signature: sha256=<hex>. Fälten inkluderar event (change.detected), monitor_id, monitor_url, monitor_name, change_id, detected_at, summary, before_screenshot_url, after_screenshot_url och dashboard_url. Verifiera X-Signature som HMAC-SHA256 av den råa förfrågningskroppen med din kanalhemlighet (formatet sha256=<hex>). Beräkna hashen på de exakta byten innan du tolkar JSON, annars misslyckas verifieringen. Nya fält kan läggas till över tid: Ignorera okända nycklar. Leveransvillkor: Ett leveransförsök per kanal och avisering för närvarande (inga automatiska återförsök); svara snabbt och hantera dubbletter idempotent. Nätverksfel eller icke-2xx-koder markerar leveransen som misslyckad; själva bevakningen pausas inte av leveransfel. Alla försök granskas på serversidan. För kollegor i stället för kod används Slack-, Discord-, Teams- eller e-postkanaler på samma sätt. Den kompletta guiden för Slack finns i Så får du aviseringar om webbplatsändringar i Slack.

Valfritt: Styr bevakningar från Claude, Cursor eller VS Code (MCP)

Samma API-nyckel. Strömmande HTTP MCP-endpoint: https://api.pagedeltas.com/mcp. Agenter får verktyg som create_monitor, list_monitor_changes, create_alert_channel och hjälpfunktioner för webbplatskartor. Cookie-sessioner accepteras inte på MCP. Föredra en webhook-kanal för händelsedrivna system som inte ska polla.

Cursor mcp.json

I ~/.cursor/mcp.json sätter du mcpServers.pagedeltas.url till https://api.pagedeltas.com/mcp och headers.Authorization till Bearer pdt_xxxxxxxx. Starta om Cursor så att verktygen blir tillgängliga.

Fullständiga klientexempel

Instruktioner för Claude Code, VS Code och Claude Desktop via mcp-remote finns i MCP-dokumentationen.

MCP-dokumentation

Din instruktion är ditt frågespråk

I ett REST API filtrerar du med frågeparametrar. I ett ändringsflöde är filtret den instruktion på naturligt språk som du anger på bevakningen. Page Deltas hämtar sidan, jämför med föregående kontroll och frågar en språkmodell om skillnaden stämmer överens med din instruktion. Relevanta aviseringar levereras med en skriftlig sammanfattning och skärmdumpar före och efter. Formulera instruktionen precis som du skulle briefa en kollega.

Prissättning

Ett abonnemangspris ändras eller en ny prisnivå tillkommer.

Upphandlingar / anbud

En ny upphandling publiceras inom vårt verksamhetsområde.

API-dokumentation

API-dokumentationen lägger till, tar bort eller fasar ut en endpoint.

Rekrytering

En senior ingenjörsroll annonseras ut; ignorera icke-tekniska roller.

Allmän bevakningsguide

Samma grundprincip som i vår allmänna bevakningsguide och manualen för filter och beskrivningar.

Så bevakar du webbplatsändringar

Filterguide

Exempel på vad som fungerar och vad du bör undvika när du formulerar instruktionen.

Filter och beskrivningar

Kvoter som faktiskt har betydelse (och de som inte har det)

På Page Deltas är gränsen du planerar efter hur många URL:er (eller webbplatskartor) du bevakar – inte en månatlig kontrollkvot. API-endpoints för läsning och skrivning har inga fasta gränser utöver rimlig användning. Undantaget är check-now: 1 anrop / minut / bevakning (returnerar 429 med Retry-After vid överskridande). Om du når planens URL-gräns returneras en 422-kod med aktuellt antal och maxgräns. Traditionella verktyg tvingar dig att räkna på kontroller ("kontroll varje timme på en sida ≈ 720 kontroller/månad"). Här väljer du sidorna och skriver instruktionen. Frekvensen anpassar sig automatiskt.

Free

10 bevakade URL:er · 14 dagars historik · obegränsade kontroller (best-effort), AI, API, MCP, alla 5 aviseringskanaler · 0 $

Starter

150 bevakade URL:er · 30 dagars historik · 29 $/mån · prioriterade kontroller

Pro

1 000 bevakade URL:er · 90 dagars historik · 79 $/mån

Business

5 000 bevakade URL:er · 365 dagars historik · 199 $/mån

Scale

20 000 bevakade URL:er · 730 dagars historik · 499 $/mån

Enterprise

Anpassat antal URL:er och historik · SSO / SCIM

Hur detta skiljer sig från ett change-API av Visualping-typ

Visualpings utvecklarmaterial kretsar kring fasta intervall, valfri CSS/XPath-avgränsning, månatliga kontrollkvoter och en stor webhook-datastruktur centrerad runt diffar och prioritetsflaggor. Det fungerar när uppgiften är: "Reagera när pixlarna rörde sig, och låt min egen kod avgöra resten". Page Deltas är byggt för: "Väck bara mitt system när ändringen matchar denna instruktion". Den här artikeln är den tekniska guiden; hela jämförelsen plan för plan finns på Page Deltas vs Visualping.

Instruktion på naturligt språk i första hand

Det primära filtret är instruktionen. Selektorer är valfria, inte obligatoriska.

Adaptiv kadens

Du slipper ange tidsintervall. Aktiva sidor kontrolleras oftare; lugna mer sällan.

Enkel och platt webhook-payload

Fokuserad på summary, skärmdumps-URL:er och HMAC X-Signature.

Obegränsade kontroller; betala för antal URL:er

Alla planer inkluderar obegränsade kontroller. Du betalar för hur många URL:er du bevakar.

MCP med samma nycklar

MCP använder exakt samma API-nycklar som REST-ytan.

Fullständig produktjämförelse

Jämförelse plan för plan mellan Page Deltas och Visualping.

Page Deltas vs Visualping

Ärliga begränsningar

Var medveten om vad detta ändringsflöde är och inte är innan du kopplar in produktionssystem.

Endast offentliga sidor

Marknadsföringssajter, offentliga PDF:er, öppna karriärsidor, offentliga sitemaps. Portaler bakom inloggning finns på färdplanen, men stöds inte i dag.

Inte ett verktyg för visuell regression eller pixelkontroll

Om uppgiften är "flyttade den här pixeln sig 20px", är ett specialiserat verktyg för visuella diffar fortfarande bättre lämpat.

Ingen bevakning av LinkedIn- eller X-aktivitet

Page Deltas bevakar den öppna webben. Användaraktivitet på LinkedIn och X hör hemma på MultiFollow. Sökordsbevakning över LinkedIn, X, Reddit med flera hör hemma på KWatch.

Webhook-leverans sker med ett försök i dagsläget

Bygg mottagande endpoints som är idempotenta.

Hitta inte på egna fältnamn i svaren

Kopiera strukturer från den aktuella API-referensen och ignorera okända JSON-nycklar.

API-referens

Relaterade guider och dokumentation

Fördjupad konfiguration för team i Slack, no-code snabbstarten och officiella API-format.

Aviseringar om ändringar i Slack

Koppla samma bevakning till en inkommande Slack-webhook för att nå människor i stället för kod.

Så får du aviseringar om webbplatsändringar i Slack

Snabbstart

Vägen utan kod: Ange en URL, skriv instruktionen, välj en kanal och klicka på Skicka test.

Snabbstart

API-referens

Aktuella format för förfrågningar och svar. Kopiera fält härifrån och ignorera okända JSON-nycklar.

API-referens

MCP-dokumentation

Klientexempel för Claude Code, Cursor, VS Code och Claude Desktop.

MCP-dokumentation

Vanliga frågor

Hur hämtar jag data från en webbplats som saknar API?
Det finns tre alternativ: Bygg en scraper, använd ett scraping-API för massutvinning, eller rikta ett ändringsbevaknings-API mot sidan och ta emot JSON-ändringsflödet. För behovet "meddela mitt system när den här sidan ändras" kräver ändringsflödet oftast minst kod: Skapa en bevakning och använd sedan webhook eller polling.
Kan jag göra detta utan att skriva kod?
Ja. Skapa bevakningen i instrumentpanelen, lägg till en generisk webhook (eller Slack / Teams / Discord / e-post) under Kanaler, skriv instruktionen och klicka på Skicka test. Snabbstartguiden visar no-code-vägen.
Vad är skillnaden mellan ett scraping-API och ett ändringsbevaknings-API?
Ett scraping-API hämtar hela sidans innehåll varje gång du anropar det. Ett ändringsbevaknings-API håller koll på sidan och skickar endast de faktiska förändringarna, med en färdigberäknad AI-sammanfattning. Vid ren datainsamling behövs scrapers. Vid frågan "har något som matchar min instruktion ändrats?" passar ett ändringsflöde bäst.
Kostar åtkomst till API eller webhooks extra?
Nej. REST API, MCP och signerade webhooks ingår i alla planer, inklusive gratisplanen. Användningen begränsas enbart av planens URL-gräns, inte av någon separat API-kreditmätare.
Kan AI-agenter skapa bevakningar åt mig?
Ja. Anslut en MCP-klient till https://api.pagedeltas.com/mcp med en Bearer API-nyckel. Se MCP-dokumentationen.

Författare

Julien, produktchef på Page Deltas. Välj en offentlig URL som du redan uppdaterar manuellt i dag. Skapa ett gratiskonto, generera en API-nyckel, skapa bevakningen med en instruktion på en mening, anslut en generisk webhook, verifiera HMAC-signaturen en gång och vänta på den första riktiga träffen. Finjustera listan över ignorerade delar efter den första onödiga aviseringen. Det är oftast hela uppsättningen av ett change-API.

Börja med en sida som ändringsflöde

Gratisplan, inget kreditkort behövs. Skapa ett konto, generera en API-nyckel, ange URL:en du redan håller koll på, lägg till en instruktion från filterguiden och välj mellan att polla /changes eller ta emot signerad JSON via POST till din egen endpoint.

Så förvandlar du vilken webbplats som helst till ett change-API · Page Deltas · Page Deltas