Guide

Sådan forvandler du ethvert website til en change-API

De fleste af de websider, du holder øje med, vil aldrig lancere et API. Konkurrenters priser, leverandørers servicevilkår-PDF'er, myndigheders registre, partneres changelogs: dataene ligger direkte i HTML-koden, men der er intet endpoint at kalde. Du har tre realistiske muligheder: Byg din egen scraper og håndter konstante fejl. Betal et scraping-API for at udtrække hele siden på anmodning. Eller forvandl siden til et ændringsfeed: en overvågning, der holder øje for dig og kun sender JSON, når der rent faktisk sker en væsentlig ændring. Dette indlæg viser den tredje vej, fra start til slut, med Page Deltas.

Gratis abonnement · 10 overvågede URL'er eller sitemaps · ubegrænsede tjek (best-effort) · AI-filtrering og resuméer · REST API, MCP og signerede webhooks på alle abonnementer · intet kreditkort påkrævet

3 nye sider registreret 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"
  ]
}

Gør-det-selv-scraper vs scraping-API vs ændringsfeed

Ærlig tommelfingerregel: Hvis du har brug for tusindvis af sider som et datasæt, så brug et scraping-API. Hvis du har brug for at vide, hvornår en offentlig side ændrer sig i overensstemmelse med en bestemt instruks, kræver et ændringsfeed mindre kode og langt mindre vedligeholdelse.

Gør-det-selv-scraper

Hvad du får: Rå HTML, som du selv skal parse. Bedst til fuld kontrol over specielle sites. Indsatsen er høj (selektorer, proxies, rendering, genforsøg). Når websitet redesignes, går din parser i stykker i det stille. Opdatering afhænger af dit cron-job. Typisk pris: Infrastruktur plus din arbejdstid.

Scraping-API

Hvad du får: Struktureret dataudtræk pr. anmodning. Bedst til masseudtræk af mange sider. Indsatsen er lav til medium. Udbyderen absorberer de fleste layoutændringer. Opdatering sker kun, når du kalder det. Typisk pris: Kreditter pr. anmodning.

Ændringsfeed (denne guide)

Hvad du får: En JSON-hændelse, når noget meningsfuldt ændres, ledsaget af et AI-resumé. Bedst til "giv mit system besked, når denne side ændrer sig". Indsatsen er lav: Opret én overvågning, og brug derefter webhook eller polling. Indholdsekstraktion kombineret med en LLM-instruks afgør, hvad der er vigtigt. Tilpassede tjek; push direkte til dit endpoint ved match. Afregning pr. overvåget URL i dit abonnement (tjek tælles ikke på Page Deltas).

Hvad du kommer til at bygge

Basis-URL: https://api.pagedeltas.com. Alle endpoints findes under /api. Vellykkede svar returneres som JSON.

Konto og API-nøgle

Opret en gratis Page Deltas-organisation og en API-nøgle.

Overvågning med en instruks (brief)

Opret en overvågning på en offentlig URL med en instruks i naturligt sprog (filtret).

Polling eller webhook

Foretag polling på GET /api/monitors/{id}/changes, eller tilknyt en generisk webhook-kanal, så hvert match sender signeret JSON via POST til din applikation.

Valgfri MCP

Forbind den samme nøgle til Claude, Cursor eller VS Code via MCP.

Opsætning: Forvandl en side til et ændringsfeed

Fem trin fra API-nøgle til signeret webhook. Foretræk en webhook, når du ønsker push frem for pull.

01

Opret en konto og en API-nøgle

Opret en konto på pagedeltas.com/register. Intet kreditkort påkrævet. Gratis abonnement: 10 overvågede URL'er eller sitemaps, ubegrænsede tjek (best-effort-frekvens), AI-filtrering og resuméer, ubegrænset antal teammedlemmer, Slack / Discord / Teams / e-mail / signerede webhooks, 14 dages historik, REST API og MCP. I appen: Indstillinger → API-nøgler (editor eller admin). Opret en nøgle og kopiér den med det samme; den vises kun én gang. export PAGEDELTAS_TOKEN="pdt_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx". Nøgler er knyttet til organisationen og har administratorrettigheder inden for den. De er ikke bundet til et individuelt medlem, så fjernelse af et teammedlem tilbagekalder ikke nøglen. Slet nøglen for at fjerne adgangen. Behandl den som en adgangskode: Gem den i miljøvariabler eller en secret store, aldrig i versionsstyrede konfigurationsfiler.

02

Opret en overvågning (cURL)

POST https://api.pagedeltas.com/api/monitors med Authorization: Bearer $PAGEDELTAS_TOKEN og JSON-body: url, nl_description (instruksen), valgfri filter_prompt og channel_ids: []. Eksempel på instruks: "Konkurrentens prisside. Giv besked, når en abonnementspris ændres, en plan tilføjes eller fjernes, eller kvoter og grænser ændres. Ignorer cookie-bannere, A/B-testlayouts og roterende udtalelser." Der er intet frekvensfelt. Kadencen er adaptiv (aktive sider tjekkes oftere, rolige sjældnere; betalte planer får prioriteret tjek). Brug POST /api/monitors/{id}/check-now for et øjeblikkeligt tjek på anmodning (hastighedsbegrænset til 1/minut/overvågning). nl_description er den instruks, som sprogmodellen bruger til at vurdere, om en ændring er relevant. Vag formulerede instrukser vil oversvømme din webhook med ubetydelige visuelle ændringer. Valgfrit: filter_prompt, css_selector, xpath_selector, is_pdf og channel_ids (kanal-tilsidesættelser pr. overvågning; udelad for at bruge organisationens standarder). Kun offentlige websider. Sider bag et login understøttes endnu ikke. Sitemap-overvågninger er en særskilt ressource (/api/sitemap-monitors), når opgaven er: "Er der dukket en helt ny URL op?" frem for "Er denne side blevet omskrevet?"

03

Poll ændringsfeedet

GET https://api.pagedeltas.com/api/monitors/{id}/changes?limit=50 med dit Bearer-token. De seneste ændringer vises først (standard 50, maks. 100). Der er ingen markør (cursor). Hold styr på det seneste detected_at-tidsstempel, du allerede har behandlet. Hver ændring indeholder id, detected_at og summary: En letforståelig AI-beskrivelse af, hvad der matchede instruksen, ikke en rå HTML-diff. Send summary videre til Slack, et sagssystem eller en anden agent.

04

Samme oprettelse og polling i Python

Brug requests-biblioteket med Authorization Bearer og Content-Type application/json. Send et POST-kald til /api/monitors med url, nl_description og channel_ids: []. Hent monitor["id"] fra svaret. Kald derefter GET /api/monitors/{monitor_id}/changes med limit=50, og udskriv detected_at og summary for hver ændring. Kør dette med et tidsinterval, hvis du absolut vil bruge polling. Foretræk en webhook, hvis du ønsker proaktiv push i stedet for pull.

05

Slip for polling, få tilsendt JSON (HMAC-signerede webhooks)

I appen: Kanaler → Tilføj en kanal → Generisk webhook. Indsæt din HTTPS-modtager-URL. Kopiér kanalhemmeligheden, så snart den vises (kun én gang). Klik på Send test. Eller opret kanalen via API (POST /api/alert-channels), og tilknyt den med PUT /api/monitors/{id}/alert-channels, eller lad channel_ids være tomt, så overvågningen bruger organisationens standarder. Hver matchende ændring sender flad JSON via POST til din URL med Content-Type application/json og headeren X-Signature: sha256=<hex>. Felterne omfatter event (change.detected), monitor_id, monitor_url, monitor_name, change_id, detected_at, summary, before_screenshot_url, after_screenshot_url og dashboard_url. Valider X-Signature som HMAC-SHA256 af den rå request-body med din kanalhemmelighed (headerformat sha256=<hex>). Beregn hashværdien på de nøjagtige bytes inden JSON-parsing, ellers vil verifikationen fejle. Nye felter kan tilføjes med tiden: Ignorer ukendte nøgler. Leveringsbetingelser: Én leveringsforsøg pr. kanal pr. advarsel i øjeblikket (ingen automatiske genforsøg); svar hurtigt, og håndter dubletter idempotent. Fejl i netværket eller statuskoder uden for 2xx markerer leveringen som mislykket; selve overvågningen sættes ikke på pause på grund af leveringsfejl. Ethvert forsøg logges på serveren. Til mennesker frem for kode kan du bruge Slack-, Discord-, Teams- eller e-mailkanaler på samme måde. Gennemgangen af Slack-opsætningen findes i Sådan får du besked om websiteændringer i Slack.

Valgfrit: Styr overvågninger fra Claude, Cursor eller VS Code (MCP)

Samme API-nøgle. Streamable HTTP MCP-endpoint: https://api.pagedeltas.com/mcp. Agenter får værktøjer som create_monitor, list_monitor_changes, create_alert_channel og sitemap-hjælpere. Cookie-sessioner accepteres ikke på MCP. Foretræk en webhook-kanal til hændelsesdrevne systemer, der ikke bør foretage polling.

Cursor mcp.json

I ~/.cursor/mcp.json indstiller du mcpServers.pagedeltas.url til https://api.pagedeltas.com/mcp og headers.Authorization til Bearer pdt_xxxxxxxx. Genstart Cursor, så værktøjerne bliver indlæst.

Komplette klienteksempler

Eksempler for Claude Code, VS Code og Claude Desktop via mcp-remote findes i MCP-dokumentationen.

MCP-dokumentation

Din instruks er dit forespørgselssprog

Med et REST API filtrerer du med forespørgselsparametre (query params). Med et ændringsfeed er filteret den instruks i naturligt sprog, du angiver på overvågningen. Page Deltas udtrækker siden, sammenligner med det seneste tjek og spørger en LLM, om forskellen matcher din instruks. Relevante alarmer ankommer med et skriftligt resumé og før/efter-skærmbilleder. Skriv instruksen på samme måde, som du ville instruere en kollega.

Priser

En abonnementspris ændres, eller et nyt prisniveau dukker op.

Udbud / licitationer

Et nyt udbud offentliggøres inden for vores forretningsområde.

API-dokumentation

API-dokumentationen tilføjer, fjerner eller udfaser et endpoint.

Rekruttering

En senior ingeniørstilling opslås; ignorer ikke-tekniske stillinger.

Generel overvågningsguide

Samme princip som i vores generelle overvågningsguide og vejledningen til filtre og beskrivelser.

Sådan overvåger du websiteændringer

Filtervejledning

Eksempler på hvad der fungerer, og hvad du bør undgå, når du formulerer instruksen.

Filtre og beskrivelser

Kvoter, der rent faktisk betyder noget (og dem, der ikke gør)

Hos Page Deltas er den grænse, du planlægger ud fra, hvor mange URL'er (eller sitemaps) du overvåger – ikke en månedlig tjekkvote. API read/write-endpoints har ingen faste gebyrer ud over rimelig anvendelse. Undtagelsen er check-now: 1 anmodning / minut / overvågning (returnerer 429 med Retry-After ved overskridelse). Når grænsen for dit abonnements URL'er nås, returneres en 422-fejl med dit aktuelle antal og grænsen. Traditionelle værktøjer med betaling pr. tjek tvinger dig til at regne ("et tjek i timen på én side ≈ 720 tjek/måned"). Her vælger du siderne og skriver instruksen. Frekvensen tilpasser sig automatisk.

Free

10 overvågede URL'er · 14 dages historik · ubegrænsede tjek (best-effort), AI, API, MCP, alle 5 advarselskanaler · $0

Starter

150 overvågede URL'er · 30 dages historik · $29/md. · prioriteret tjek

Pro

1.000 overvågede URL'er · 90 dages historik · $79/md.

Business

5.000 overvågede URL'er · 365 dages historik · $199/md.

Scale

20.000 overvågede URL'er · 730 dages historik · $499/md.

Enterprise

Tilpasset antal URL'er og historik · SSO / SCIM

Hvordan dette adskiller sig fra et Visualping-lignende change-API

Visualpings udviklerartikler fokuserer på faste intervaller, valgfri CSS/XPath-afgrænsning, en månedlig tjekkvote og en stor webhook-datastruktur centreret om visuelle pixel-diffs og vigtighedsflag. Det fungerer fint, hvis opgaven lyder: "Reager når pixels har flyttet sig, og lad min egen kode vurdere det". Page Deltas er bygget til: "Væk kun mit system, når ændringen matcher denne instruks". Dette indlæg er den tekniske integrationsguide; den komplette sammenligning plan for plan findes på Page Deltas vs Visualping.

Instruks i naturligt sprog kommer først

Det primære filter er instruksen. Selektorer er valgfrie, ikke påkrævede.

Adaptiv kadence

Ingen indtastning af tidsintervaller. Aktive sider tjekkes oftere; rolige sider sjældnere.

Flad og overskuelig webhook-payload

Centreret om summary, skærmbillede-URL'er og HMAC X-Signature.

Ubegrænsede tjek; betal for antal URL'er

Hvert abonnement inkluderer ubegrænsede tjek. Du betaler for, hvor mange URL'er du overvåger.

MCP på de samme nøgler

MCP bruger nøjagtig de samme API-nøgler som REST-grænsefladen.

Komplet produktsammenligning

Sammenligning plan for plan mellem Page Deltas og Visualping.

Page Deltas vs Visualping

Klare begrænsninger

Vær opmærksom på, hvad dette ændringsfeed er og ikke er, før du integrerer produktionssystemer.

Kun offentlige websider

Marketingwebsites, offentlige PDF'er, offentlige karrieresider, offentlige sitemaps. Portaler bag et login er på køreplanen, men ikke tilgængelige i dag.

Ikke et værktøj til visuel regression eller layoutovervågning

Hvis opgaven er "flyttede denne pixel sig 20px", er et visuelt diff-værktøj stadig det rigtige valg.

Ingen overvågning af LinkedIn- eller X-aktivitet

Page Deltas overvåger det åbne internet. Individuel brugeraktivitet på LinkedIn og X hører til på MultiFollow. Nøgleordsomtaler på tværs af LinkedIn, X, Reddit m.fl. hører til på KWatch.

Webhook-levering foregår med ét forsøg i dag

Byg idempotente modtager-endpoints.

Find ikke på egne feltnavne

Kopiér datastrukturer direkte fra den aktuelle API-reference, og ignorer ukendte JSON-nøgler.

API-reference

Relaterede guides og dokumentation

Dybdegående vejledning til Slack for teams, no-code hurtigstart og de officielle API-formater.

Slack-ændringsalarmer

Forbind den samme overvågning til en Slack incoming webhook for at sende beskeder til mennesker i stedet for kode.

Sådan får du besked om websiteændringer i Slack

Hurtigstart

No-code-vejen: Indsæt en URL, skriv instruksen, vælg en kanal, og tryk Send test.

Hurtigstart

API-reference

Formater på forespørgsler og svar i realtid. Kopiér felter herfra, og ignorer ukendte JSON-nøgler.

API-reference

MCP-dokumentation

Klient-eksempler til Claude Code, Cursor, VS Code og Claude Desktop.

MCP-dokumentation

Ofte stillede spørgsmål

Hvordan henter jeg data fra et website, der ikke har et API?
Der er tre muligheder: Byg en scraper, brug et scraping-API til masseudtræk, eller ret et overvågnings-API mod siden og modtag JSON-ændringsfeedet. Til formålet "giv mit system besked, når denne side ændrer sig", kræver ændringsfeedet typisk færrest linjer kode: Opret en overvågning, og brug webhook eller polling.
Kan jeg gøre dette uden at skrive kode?
Ja. Opret overvågningen i dashboardet, tilføj en generisk webhook (eller Slack / Teams / Discord / e-mail) under Kanaler, skriv instruksen, og klik på Send test. Hurtigstart-guiden viser no-code-vejen.
Hvad er forskellen på et scraping-API og et ændringsovervågnings-API?
Et scraping-API udtrækker hele sidens indhold, hver gang du kalder det. Et ændringsovervågnings-API holder øje med siden og udsender kun de faktiske ændringer sammen med et færdigt AI-resumé. Behov for dataudtræk kræver scrapere. Behovet "ændrede noget sig, som matcher min instruks?" kræver et ændringsfeed.
Koster adgang til API eller webhooks ekstra?
Nej. REST API, MCP og signerede webhooks er inkluderet i alle abonnementer, inklusive Free. Forbruget reguleres alene af dit abonnements grænse for overvågede URL'er, ikke en separat API-kreditmåler.
Kan AI-agenter oprette overvågninger for mig?
Ja. Forbind en MCP-klient til https://api.pagedeltas.com/mcp med en Bearer API-nøgle. Se MCP-dokumentationen.

Forfatter

Julien, Product Manager hos Page Deltas. Vælg én offentlig URL, som du allerede genindlæser manuelt. Opret en gratis konto, generer en API-nøgle, opret overvågningen med en instruks på én sætning, tilknyt en generisk webhook, verificer HMAC-signaturen én gang, og vent på det første reelle match. Tilpas eventuelt listen over ignorerede elementer efter den første overflødige advarsel. Det er som regel hele opsætningen af et ændrings-API.

Start med én side som ændringsfeed

Gratis abonnement, intet kreditkort påkrævet. Opret en konto, generer en API-nøgle, indsæt den URL, du allerede holder øje med, tilføj en instruks fra filtervejledningen, og vælg mellem at polle /changes eller modtage signeret JSON via POST på dit eget endpoint.

Sådan forvandler du ethvert website til en change-API · Page Deltas · Page Deltas