{
    "checked_at": "2026-09-17T18:03:16+07:00",
    "window_hours": 24,
    "sources": 101,
    "sources_with_failures": 17,
    "items": [
        {
            "feed": "exchange",
            "vertical": "banks",
            "source": "abbank",
            "runs": 288,
            "failures": 0,
            "first_success": "2026-09-16T18:08:04+07:00",
            "last_success": "2026-09-17T18:02:03+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "interest",
            "vertical": "banks",
            "source": "abbank:interest",
            "runs": 26,
            "failures": 0,
            "first_success": "2026-09-16T18:50:41+07:00",
            "last_success": "2026-09-17T17:36:42+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "exchange",
            "vertical": "banks",
            "source": "acb",
            "runs": 288,
            "failures": 0,
            "first_success": "2026-09-16T18:08:03+07:00",
            "last_success": "2026-09-17T18:02:02+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "interest",
            "vertical": "banks",
            "source": "acb:interest",
            "runs": 26,
            "failures": 0,
            "first_success": "2026-09-16T18:50:41+07:00",
            "last_success": "2026-09-17T17:36:42+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "exchange",
            "vertical": "banks",
            "source": "agribank",
            "runs": 288,
            "failures": 0,
            "first_success": "2026-09-16T18:08:04+07:00",
            "last_success": "2026-09-17T18:02:03+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "interest",
            "vertical": "banks",
            "source": "agribank:interest",
            "runs": 26,
            "failures": 0,
            "first_success": "2026-09-16T18:50:41+07:00",
            "last_success": "2026-09-17T17:36:42+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "interest",
            "vertical": "banks",
            "source": "bacabank:interest",
            "runs": 26,
            "failures": 0,
            "first_success": "2026-09-16T18:50:43+07:00",
            "last_success": "2026-09-17T17:36:44+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "exchange",
            "vertical": "banks",
            "source": "baovietbank",
            "runs": 288,
            "failures": 0,
            "first_success": "2026-09-16T18:08:04+07:00",
            "last_success": "2026-09-17T18:02:03+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "interest",
            "vertical": "banks",
            "source": "baovietbank:interest",
            "runs": 26,
            "failures": 0,
            "first_success": "2026-09-16T18:50:42+07:00",
            "last_success": "2026-09-17T17:36:43+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "exchange",
            "vertical": "banks",
            "source": "bidv",
            "runs": 288,
            "failures": 0,
            "first_success": "2026-09-16T18:08:03+07:00",
            "last_success": "2026-09-17T18:02:02+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "interest",
            "vertical": "banks",
            "source": "bidv:interest",
            "runs": 26,
            "failures": 0,
            "first_success": "2026-09-16T18:50:40+07:00",
            "last_success": "2026-09-17T17:36:41+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "exchange",
            "vertical": "banks",
            "source": "eximbank",
            "runs": 288,
            "failures": 0,
            "first_success": "2026-09-16T18:08:04+07:00",
            "last_success": "2026-09-17T18:02:02+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "interest",
            "vertical": "banks",
            "source": "eximbank:interest",
            "runs": 26,
            "failures": 0,
            "first_success": "2026-09-16T18:50:42+07:00",
            "last_success": "2026-09-17T17:36:43+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "exchange",
            "vertical": "banks",
            "source": "gpbank",
            "runs": 288,
            "failures": 0,
            "first_success": "2026-09-16T18:08:05+07:00",
            "last_success": "2026-09-17T18:02:04+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "interest",
            "vertical": "banks",
            "source": "gpbank:interest",
            "runs": 26,
            "failures": 0,
            "first_success": "2026-09-16T18:50:41+07:00",
            "last_success": "2026-09-17T17:36:42+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "exchange",
            "vertical": "banks",
            "source": "hdbank",
            "runs": 288,
            "failures": 0,
            "first_success": "2026-09-16T18:08:05+07:00",
            "last_success": "2026-09-17T18:02:04+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "exchange",
            "vertical": "banks",
            "source": "hongleong",
            "runs": 288,
            "failures": 0,
            "first_success": "2026-09-16T18:08:05+07:00",
            "last_success": "2026-09-17T18:02:04+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "interest",
            "vertical": "banks",
            "source": "hongleong:interest",
            "runs": 26,
            "failures": 0,
            "first_success": "2026-09-16T18:50:41+07:00",
            "last_success": "2026-09-17T17:36:42+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "exchange",
            "vertical": "banks",
            "source": "hsbc",
            "runs": 288,
            "failures": 288,
            "first_success": null,
            "last_success": null,
            "last_error": "2026-09-17T18:02:05+07:00",
            "last_message": "network error: HTTPError: 403 Client Error: Forbidden for url: https://www.hsbc.com.vn/foreign-exchange/rate/"
        },
        {
            "feed": "exchange",
            "vertical": "banks",
            "source": "indovina",
            "runs": 288,
            "failures": 1,
            "first_success": "2026-09-16T18:08:05+07:00",
            "last_success": "2026-09-17T18:02:04+07:00",
            "last_error": "2026-09-17T00:03:33+07:00",
            "last_message": "timed out after 35657ms"
        },
        {
            "feed": "interest",
            "vertical": "banks",
            "source": "indovina:interest",
            "runs": 26,
            "failures": 0,
            "first_success": "2026-09-16T18:50:43+07:00",
            "last_success": "2026-09-17T17:36:44+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "exchange",
            "vertical": "banks",
            "source": "kienlongbank",
            "runs": 288,
            "failures": 288,
            "first_success": null,
            "last_success": null,
            "last_error": "2026-09-17T18:02:05+07:00",
            "last_message": "network error: HTTPError: 403 Client Error: Forbidden for url: https://laisuat.kienlongbank.com/PageTyGia.aspx"
        },
        {
            "feed": "interest",
            "vertical": "banks",
            "source": "kienlongbank:interest",
            "runs": 26,
            "failures": 26,
            "first_success": null,
            "last_success": null,
            "last_error": "2026-09-17T17:36:45+07:00",
            "last_message": "RuntimeError: kienlongbank: no public deposit board. Verified again on 2026-09-12 along a route the earlier walks had not taken: the home page links /lai-suat-kienlongbank four times and laisuat.kienlongbank.com/lai-suat-ca-nhan four more, and both land on the same document library whose personal, corporate and online schedules are all dated 10/04/2024. Last reading 2026-09-06 07:14 (20 terms); 14"
        },
        {
            "feed": "exchange",
            "vertical": "banks",
            "source": "lpbank",
            "runs": 288,
            "failures": 0,
            "first_success": "2026-09-16T18:08:04+07:00",
            "last_success": "2026-09-17T18:02:03+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "interest",
            "vertical": "banks",
            "source": "lpbank:interest",
            "runs": 26,
            "failures": 0,
            "first_success": "2026-09-16T18:50:42+07:00",
            "last_success": "2026-09-17T17:36:43+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "exchange",
            "vertical": "banks",
            "source": "mbbank",
            "runs": 288,
            "failures": 7,
            "first_success": "2026-09-16T18:08:06+07:00",
            "last_success": "2026-09-17T18:02:05+07:00",
            "last_error": "2026-09-17T13:13:23+07:00",
            "last_message": "no rates returned"
        },
        {
            "feed": "interest",
            "vertical": "banks",
            "source": "mbbank:interest",
            "runs": 26,
            "failures": 0,
            "first_success": "2026-09-16T18:50:42+07:00",
            "last_success": "2026-09-17T17:36:43+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "exchange",
            "vertical": "banks",
            "source": "msb",
            "runs": 288,
            "failures": 0,
            "first_success": "2026-09-16T18:08:06+07:00",
            "last_success": "2026-09-17T18:02:05+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "interest",
            "vertical": "banks",
            "source": "msb:interest",
            "runs": 26,
            "failures": 0,
            "first_success": "2026-09-16T18:50:41+07:00",
            "last_success": "2026-09-17T17:36:42+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "exchange",
            "vertical": "banks",
            "source": "namabank",
            "runs": 288,
            "failures": 0,
            "first_success": "2026-09-16T18:08:05+07:00",
            "last_success": "2026-09-17T18:02:03+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "interest",
            "vertical": "banks",
            "source": "namabank:interest",
            "runs": 26,
            "failures": 0,
            "first_success": "2026-09-16T18:50:42+07:00",
            "last_success": "2026-09-17T17:36:43+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "exchange",
            "vertical": "banks",
            "source": "ncb",
            "runs": 288,
            "failures": 0,
            "first_success": "2026-09-16T18:08:05+07:00",
            "last_success": "2026-09-17T18:02:04+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "interest",
            "vertical": "banks",
            "source": "ncb:interest",
            "runs": 26,
            "failures": 0,
            "first_success": "2026-09-16T18:50:43+07:00",
            "last_success": "2026-09-17T17:36:45+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "exchange",
            "vertical": "banks",
            "source": "ocb",
            "runs": 288,
            "failures": 1,
            "first_success": "2026-09-16T18:08:05+07:00",
            "last_success": "2026-09-17T18:02:04+07:00",
            "last_error": "2026-09-17T17:37:37+07:00",
            "last_message": "timed out after 35797ms"
        },
        {
            "feed": "interest",
            "vertical": "banks",
            "source": "ocb:interest",
            "runs": 26,
            "failures": 1,
            "first_success": "2026-09-16T18:50:42+07:00",
            "last_success": "2026-09-17T17:36:44+07:00",
            "last_error": "2026-09-17T11:50:40+07:00",
            "last_message": "Error: Page.evaluate: TypeError: Cannot read properties of null (reading 'click')\n    at eval (eval at evaluate (:311:30), <anonymous>:1:57)\n    at eval (<anonymous>)\n    at UtilityScript.evaluate (<anonymous>:311:30)\n    at UtilityScript.<anonymous> (<anonymous>:1:44)"
        },
        {
            "feed": "exchange",
            "vertical": "banks",
            "source": "oceanbank",
            "runs": 288,
            "failures": 0,
            "first_success": "2026-09-16T18:08:06+07:00",
            "last_success": "2026-09-17T18:02:05+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "exchange",
            "vertical": "banks",
            "source": "pgbank",
            "runs": 288,
            "failures": 0,
            "first_success": "2026-09-16T18:08:06+07:00",
            "last_success": "2026-09-17T18:02:05+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "interest",
            "vertical": "banks",
            "source": "pgbank:interest",
            "runs": 26,
            "failures": 0,
            "first_success": "2026-09-16T18:50:43+07:00",
            "last_success": "2026-09-17T17:36:44+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "exchange",
            "vertical": "banks",
            "source": "publicbank",
            "runs": 288,
            "failures": 0,
            "first_success": "2026-09-16T18:08:04+07:00",
            "last_success": "2026-09-17T18:02:03+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "interest",
            "vertical": "banks",
            "source": "publicbank:interest",
            "runs": 26,
            "failures": 0,
            "first_success": "2026-09-16T18:50:41+07:00",
            "last_success": "2026-09-17T17:36:42+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "exchange",
            "vertical": "banks",
            "source": "pvcombank",
            "runs": 288,
            "failures": 3,
            "first_success": "2026-09-16T18:08:04+07:00",
            "last_success": "2026-09-17T18:02:03+07:00",
            "last_error": "2026-09-17T00:13:04+07:00",
            "last_message": "no rates returned"
        },
        {
            "feed": "interest",
            "vertical": "banks",
            "source": "pvcombank:interest",
            "runs": 26,
            "failures": 0,
            "first_success": "2026-09-16T18:50:42+07:00",
            "last_success": "2026-09-17T17:36:43+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "exchange",
            "vertical": "banks",
            "source": "sacombank",
            "runs": 288,
            "failures": 0,
            "first_success": "2026-09-16T18:08:04+07:00",
            "last_success": "2026-09-17T18:02:02+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "exchange",
            "vertical": "banks",
            "source": "saigonbank",
            "runs": 288,
            "failures": 0,
            "first_success": "2026-09-16T18:08:04+07:00",
            "last_success": "2026-09-17T18:02:03+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "interest",
            "vertical": "banks",
            "source": "saigonbank:interest",
            "runs": 26,
            "failures": 0,
            "first_success": "2026-09-16T18:50:41+07:00",
            "last_success": "2026-09-17T17:36:42+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "exchange",
            "vertical": "banks",
            "source": "scb",
            "runs": 288,
            "failures": 1,
            "first_success": "2026-09-16T18:08:04+07:00",
            "last_success": "2026-09-17T18:02:03+07:00",
            "last_error": "2026-09-17T01:08:20+07:00",
            "last_message": "network error: ConnectionError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))"
        },
        {
            "feed": "interest",
            "vertical": "banks",
            "source": "scb:interest",
            "runs": 26,
            "failures": 0,
            "first_success": "2026-09-16T18:50:43+07:00",
            "last_success": "2026-09-17T17:36:44+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "exchange",
            "vertical": "banks",
            "source": "seabank",
            "runs": 288,
            "failures": 0,
            "first_success": "2026-09-16T18:08:05+07:00",
            "last_success": "2026-09-17T18:02:03+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "interest",
            "vertical": "banks",
            "source": "seabank:interest",
            "runs": 26,
            "failures": 0,
            "first_success": "2026-09-16T18:50:43+07:00",
            "last_success": "2026-09-17T17:36:44+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "exchange",
            "vertical": "banks",
            "source": "shb",
            "runs": 288,
            "failures": 0,
            "first_success": "2026-09-16T18:08:06+07:00",
            "last_success": "2026-09-17T18:02:04+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "interest",
            "vertical": "banks",
            "source": "shb:interest",
            "runs": 26,
            "failures": 0,
            "first_success": "2026-09-16T18:50:42+07:00",
            "last_success": "2026-09-17T17:36:44+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "exchange",
            "vertical": "banks",
            "source": "techcombank",
            "runs": 288,
            "failures": 288,
            "first_success": null,
            "last_success": null,
            "last_error": "2026-09-17T18:02:05+07:00",
            "last_message": "network error: HTTPError: 403 Client Error: Forbidden for url: https://techcombank.com/content/techcombank/web/vn/vi/cong-cu-tien-ich/ty-gia/_jcr_content.exchange-rates.integration.json"
        },
        {
            "feed": "interest",
            "vertical": "banks",
            "source": "techcombank:interest",
            "runs": 26,
            "failures": 26,
            "first_success": null,
            "last_success": null,
            "last_error": "2026-09-17T17:36:45+07:00",
            "last_message": "no rates returned"
        },
        {
            "feed": "exchange",
            "vertical": "banks",
            "source": "tpbank",
            "runs": 288,
            "failures": 0,
            "first_success": "2026-09-16T18:08:06+07:00",
            "last_success": "2026-09-17T18:02:05+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "interest",
            "vertical": "banks",
            "source": "tpbank:interest",
            "runs": 26,
            "failures": 0,
            "first_success": "2026-09-16T18:50:43+07:00",
            "last_success": "2026-09-17T17:36:44+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "exchange",
            "vertical": "banks",
            "source": "uob",
            "runs": 288,
            "failures": 0,
            "first_success": "2026-09-16T18:08:04+07:00",
            "last_success": "2026-09-17T18:02:03+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "exchange",
            "vertical": "banks",
            "source": "vcbneo",
            "runs": 288,
            "failures": 1,
            "first_success": "2026-09-16T18:08:06+07:00",
            "last_success": "2026-09-17T18:02:05+07:00",
            "last_error": "2026-09-17T10:18:00+07:00",
            "last_message": "no rates returned"
        },
        {
            "feed": "exchange",
            "vertical": "banks",
            "source": "vib",
            "runs": 288,
            "failures": 0,
            "first_success": "2026-09-16T18:08:05+07:00",
            "last_success": "2026-09-17T18:02:04+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "interest",
            "vertical": "banks",
            "source": "vib:interest",
            "runs": 26,
            "failures": 0,
            "first_success": "2026-09-16T18:50:41+07:00",
            "last_success": "2026-09-17T17:36:43+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "exchange",
            "vertical": "banks",
            "source": "vietabank",
            "runs": 288,
            "failures": 0,
            "first_success": "2026-09-16T18:08:05+07:00",
            "last_success": "2026-09-17T18:02:03+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "exchange",
            "vertical": "banks",
            "source": "vietbank",
            "runs": 288,
            "failures": 0,
            "first_success": "2026-09-16T18:08:04+07:00",
            "last_success": "2026-09-17T18:02:03+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "exchange",
            "vertical": "banks",
            "source": "vietcapitalbank",
            "runs": 288,
            "failures": 0,
            "first_success": "2026-09-16T18:08:05+07:00",
            "last_success": "2026-09-17T18:02:04+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "interest",
            "vertical": "banks",
            "source": "vietcapitalbank:interest",
            "runs": 26,
            "failures": 0,
            "first_success": "2026-09-16T18:50:43+07:00",
            "last_success": "2026-09-17T17:36:44+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "exchange",
            "vertical": "banks",
            "source": "vietcombank",
            "runs": 288,
            "failures": 0,
            "first_success": "2026-09-16T18:08:03+07:00",
            "last_success": "2026-09-17T18:02:02+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "interest",
            "vertical": "banks",
            "source": "vietcombank:interest",
            "runs": 26,
            "failures": 0,
            "first_success": "2026-09-16T18:50:40+07:00",
            "last_success": "2026-09-17T17:36:41+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "exchange",
            "vertical": "banks",
            "source": "vietinbank",
            "runs": 288,
            "failures": 0,
            "first_success": "2026-09-16T18:08:03+07:00",
            "last_success": "2026-09-17T18:02:02+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "interest",
            "vertical": "banks",
            "source": "vietinbank:interest",
            "runs": 26,
            "failures": 0,
            "first_success": "2026-09-16T18:50:41+07:00",
            "last_success": "2026-09-17T17:36:41+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "exchange",
            "vertical": "banks",
            "source": "vpbank",
            "runs": 288,
            "failures": 0,
            "first_success": "2026-09-16T18:08:04+07:00",
            "last_success": "2026-09-17T18:02:02+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "interest",
            "vertical": "banks",
            "source": "vpbank:interest",
            "runs": 26,
            "failures": 0,
            "first_success": "2026-09-16T18:50:41+07:00",
            "last_success": "2026-09-17T17:36:42+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "exchange",
            "vertical": "banks",
            "source": "vrb",
            "runs": 288,
            "failures": 0,
            "first_success": "2026-09-16T18:08:05+07:00",
            "last_success": "2026-09-17T18:02:04+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "interest",
            "vertical": "banks",
            "source": "vrb:interest",
            "runs": 26,
            "failures": 0,
            "first_success": "2026-09-16T18:50:42+07:00",
            "last_success": "2026-09-17T17:36:43+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "gold",
            "vertical": "gia_vang",
            "source": "btmc",
            "runs": 288,
            "failures": 1,
            "first_success": "2026-09-16T18:06:28+07:00",
            "last_success": "2026-09-17T18:00:38+07:00",
            "last_error": "2026-09-17T09:16:51+07:00",
            "last_message": "HTTPSConnectionPool(host='btmc.vn', port=443): Read timed out. (read timeout=15)"
        },
        {
            "feed": "gold",
            "vertical": "gia_vang",
            "source": "btmh",
            "runs": 288,
            "failures": 0,
            "first_success": "2026-09-16T18:06:29+07:00",
            "last_success": "2026-09-17T18:00:40+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "gold",
            "vertical": "gia_vang",
            "source": "doji",
            "runs": 288,
            "failures": 0,
            "first_success": "2026-09-16T18:06:24+07:00",
            "last_success": "2026-09-17T18:00:35+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "gold",
            "vertical": "gia_vang",
            "source": "kimnganphuc",
            "runs": 288,
            "failures": 0,
            "first_success": "2026-09-16T18:06:34+07:00",
            "last_success": "2026-09-17T18:00:45+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "gold",
            "vertical": "gia_vang",
            "source": "ngoctham",
            "runs": 288,
            "failures": 0,
            "first_success": "2026-09-16T18:06:32+07:00",
            "last_success": "2026-09-17T18:00:43+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "gold",
            "vertical": "gia_vang",
            "source": "phuquy",
            "runs": 288,
            "failures": 1,
            "first_success": "2026-09-16T18:06:31+07:00",
            "last_success": "2026-09-17T18:00:41+07:00",
            "last_error": "2026-09-17T03:01:32+07:00",
            "last_message": "phuquy returned no data"
        },
        {
            "feed": "gold",
            "vertical": "gia_vang",
            "source": "pnj",
            "runs": 288,
            "failures": 0,
            "first_success": "2026-09-16T18:06:26+07:00",
            "last_success": "2026-09-17T18:00:36+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "gold",
            "vertical": "gia_vang",
            "source": "sjc",
            "runs": 288,
            "failures": 0,
            "first_success": "2026-09-16T18:06:21+07:00",
            "last_success": "2026-09-17T18:00:22+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "gold",
            "vertical": "gia_vang",
            "source": "world_gold",
            "runs": 288,
            "failures": 0,
            "first_success": "2026-09-16T18:06:36+07:00",
            "last_success": "2026-09-17T18:00:47+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "vehicles",
            "vertical": "gia_xe",
            "source": "bonbanh_car",
            "runs": 3,
            "failures": 0,
            "first_success": "2026-09-16T20:58:55+07:00",
            "last_success": "2026-09-17T17:40:47+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "vehicles",
            "vertical": "gia_xe",
            "source": "ford",
            "runs": 5,
            "failures": 0,
            "first_success": "2026-09-16T20:47:02+07:00",
            "last_success": "2026-09-17T17:30:59+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "vehicles",
            "vertical": "gia_xe",
            "source": "honda_bike",
            "runs": 5,
            "failures": 0,
            "first_success": "2026-09-16T20:53:19+07:00",
            "last_success": "2026-09-17T17:35:27+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "vehicles",
            "vertical": "gia_xe",
            "source": "honda_car",
            "runs": 5,
            "failures": 0,
            "first_success": "2026-09-16T20:46:35+07:00",
            "last_success": "2026-09-17T17:30:37+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "vehicles",
            "vertical": "gia_xe",
            "source": "mitsubishi",
            "runs": 5,
            "failures": 0,
            "first_success": "2026-09-16T20:47:04+07:00",
            "last_success": "2026-09-17T17:31:01+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "vehicles",
            "vertical": "gia_xe",
            "source": "suzuki_bike",
            "runs": 5,
            "failures": 5,
            "first_success": null,
            "last_success": null,
            "last_error": "2026-09-17T17:35:29+07:00",
            "last_message": "403 Client Error: Forbidden for url: https://suzuki.com.vn/pages/bang-gia-xe-may"
        },
        {
            "feed": "vehicles",
            "vertical": "gia_xe",
            "source": "suzuki_car",
            "runs": 5,
            "failures": 5,
            "first_success": null,
            "last_success": null,
            "last_error": "2026-09-17T17:31:03+07:00",
            "last_message": "403 Client Error: Forbidden for url: https://suzuki.com.vn/pages/bang-gia-o-to"
        },
        {
            "feed": "vehicles",
            "vertical": "gia_xe",
            "source": "toyota",
            "runs": 5,
            "failures": 0,
            "first_success": "2026-09-16T20:46:22+07:00",
            "last_success": "2026-09-17T17:30:24+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "vehicles",
            "vertical": "gia_xe",
            "source": "twobanh_bike",
            "runs": 3,
            "failures": 0,
            "first_success": "2026-09-16T21:05:41+07:00",
            "last_success": "2026-09-17T17:47:39+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "vehicles",
            "vertical": "gia_xe",
            "source": "vinfast_bike",
            "runs": 5,
            "failures": 0,
            "first_success": "2026-09-16T20:54:00+07:00",
            "last_success": "2026-09-17T17:36:02+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "vehicles",
            "vertical": "gia_xe",
            "source": "vinfast_car",
            "runs": 5,
            "failures": 0,
            "first_success": "2026-09-16T20:52:29+07:00",
            "last_success": "2026-09-17T17:34:33+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "vehicles",
            "vertical": "gia_xe",
            "source": "yamaha_bike",
            "runs": 5,
            "failures": 0,
            "first_success": "2026-09-16T20:52:33+07:00",
            "last_success": "2026-09-17T17:34:38+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "mirror",
            "vertical": "mirror",
            "source": "db.vi.bmt.bz",
            "runs": 9,
            "failures": 0,
            "first_success": "2026-09-17T17:21:49+07:00",
            "last_success": "2026-09-17T18:00:24+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "crypto",
            "vertical": "tien_ao",
            "source": "coingecko_categories",
            "runs": 288,
            "failures": 0,
            "first_success": "2026-09-16T18:07:31+07:00",
            "last_success": "2026-09-17T18:01:33+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "crypto",
            "vertical": "tien_ao",
            "source": "coingecko_global",
            "runs": 288,
            "failures": 0,
            "first_success": "2026-09-16T18:06:48+07:00",
            "last_success": "2026-09-17T18:00:50+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "crypto",
            "vertical": "tien_ao",
            "source": "coingecko_markets",
            "runs": 288,
            "failures": 0,
            "first_success": "2026-09-16T18:06:27+07:00",
            "last_success": "2026-09-17T18:00:28+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "crypto",
            "vertical": "tien_ao",
            "source": "coingecko_trending",
            "runs": 288,
            "failures": 0,
            "first_success": "2026-09-16T18:07:10+07:00",
            "last_success": "2026-09-17T18:01:11+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "crypto",
            "vertical": "tien_ao",
            "source": "crypto_retention",
            "runs": 1,
            "failures": 0,
            "first_success": "2026-09-17T11:07:35+07:00",
            "last_success": "2026-09-17T11:07:35+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "fuel",
            "vertical": "xang_dau",
            "source": "crude_oil",
            "runs": 50,
            "failures": 0,
            "first_success": "2026-09-16T18:16:31+07:00",
            "last_success": "2026-09-17T18:00:35+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "fuel",
            "vertical": "xang_dau",
            "source": "petrolimex",
            "runs": 50,
            "failures": 0,
            "first_success": "2026-09-16T18:16:21+07:00",
            "last_success": "2026-09-17T18:00:22+07:00",
            "last_error": null,
            "last_message": null
        },
        {
            "feed": "fuel",
            "vertical": "xang_dau",
            "source": "pvoil",
            "runs": 50,
            "failures": 3,
            "first_success": "2026-09-16T18:16:28+07:00",
            "last_success": "2026-09-17T18:00:31+07:00",
            "last_error": "2026-09-17T08:46:28+07:00",
            "last_message": "PVOIL served a Cloudflare challenge, not the board — the fetch was blocked before it reached them, so the parser is not the thing to look at"
        }
    ]
}