{
  "id": 4447081,
  "title": "Read any BetterStack status page as JSON",
  "url": "https://urgent.news/2026/08/30/read-any-betterstack-status-page-as-json",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-08-30T15:12:02.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/ranova/read-any-betterstack-status-page-as-json-2ep6"
  },
  "original_language": "en",
  "account": "BetterStack status pages are designed for human users, featuring a unique page for each vendor with its own formatting. To obtain data in JSON format, including component details, statuses, and timestamps, you must write a separate parser for each vendor. The BetterStack Status Page Scraper, an actor, simplifies this process specifically for Better Uptime status pages.\n\nWhen using the scraper, the output is a single real record containing essential information. For example, the record includes:\n- id: 5482129\n- title: Render: Background Workers\n- url: https://render.betteruptime.com/\n- seller: Render\n- description: All background workers hosted on Render.\n- status: not_monitored\n- availability: 1\n- resource_type: Monitor\n- last_status_day: 2026-08-02\n- record_type: resource\n\nEach record maintains a consistent structure with fields for availability, description, id, last_status_day, record_type, resource_type, seller, status, title, and url. Fields without values are omitted instead of being filled with placeholders. The scraper also deduplicates records before adding them to the dataset.\n\nUsers can interact with the scraper through various methods, including the Apify Console, REST API calls, or integration as an MCP tool within an agent. The scraper returns the same dataset regardless of the method used.\n\nThe pricing model is based on per-event charges rather than hourly rates. Starting a run is free, and costs are incurred only for the results obtained. To try the BetterStack Status Page Scraper, visit the Apify Store.",
  "summary": "Status pages are built for humans: a page per vendor, each with its own markup. If you want the same data as JSON — which components exist, what state each one is in, when it last changed — you end up writing a parser per vendor. This actor does that part for BetterStack (Better Uptime) status pages. What comes back One real record from an actual run: { \"id\" : \"5482129\" , \"title\" : \"Render:…",
  "key_points": [
    "BetterStack status pages offer JSON data format",
    "BetterStack Status Page Scraper simplifies JSON extraction",
    "Scraper returns consistent dataset across methods"
  ],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}