{
  "schema_version": 2,
  "generated_at": "2026-05-11T12:50:16.123Z",
  "built_from": "/tmp/scc-evidence",
  "scraper_count": 16,
  "summary": {
    "ok": 6,
    "partial": 4,
    "blocked": 3,
    "other": 3
  },
  "req_fields": [
    {
      "key": "title",
      "label_th": "ชื่อ/หัวข้อ",
      "group": "identity",
      "required": true
    },
    {
      "key": "description",
      "label_th": "คำอธิบาย",
      "group": "identity",
      "required": true
    },
    {
      "key": "type",
      "label_th": "ประเภท",
      "group": "identity",
      "required": true
    },
    {
      "key": "price",
      "label_th": "ราคา",
      "group": "commercial",
      "required": true
    },
    {
      "key": "areaSqm",
      "label_th": "พื้นที่ใช้สอย (ตร.ม.)",
      "group": "property",
      "required": true
    },
    {
      "key": "bedrooms",
      "label_th": "ห้องนอน",
      "group": "property",
      "required": true
    },
    {
      "key": "bathrooms",
      "label_th": "ห้องน้ำ",
      "group": "property",
      "required": true
    },
    {
      "key": "floor",
      "label_th": "ชั้น",
      "group": "property",
      "required": true
    },
    {
      "key": "totalFloors",
      "label_th": "จำนวนชั้นทั้งหมด",
      "group": "property",
      "required": true
    },
    {
      "key": "furnishing",
      "label_th": "ตกแต่ง",
      "group": "property",
      "required": true
    },
    {
      "key": "lat",
      "label_th": "ละติจูด",
      "group": "location",
      "required": true
    },
    {
      "key": "lng",
      "label_th": "ลองจิจูด",
      "group": "location",
      "required": true
    },
    {
      "key": "address",
      "label_th": "ที่อยู่",
      "group": "location",
      "required": true
    },
    {
      "key": "district",
      "label_th": "อำเภอ/เขต",
      "group": "location",
      "required": true
    },
    {
      "key": "subDistrict",
      "label_th": "ตำบล/แขวง",
      "group": "location",
      "required": true
    },
    {
      "key": "province",
      "label_th": "จังหวัด",
      "group": "location",
      "required": true
    },
    {
      "key": "zipcode",
      "label_th": "รหัสไปรษณีย์",
      "group": "location",
      "required": true
    },
    {
      "key": "imageUrls",
      "label_th": "รูปภาพ (URLs)",
      "group": "property",
      "required": true
    },
    {
      "key": "sourceUrl",
      "label_th": "URL ต้นทาง",
      "group": "commercial",
      "required": true
    }
  ],
  "field_summary": [
    {
      "key": "title",
      "label_th": "ชื่อ/หัวข้อ",
      "group": "identity",
      "required": true,
      "supported_by": [
        "npa-bam",
        "npa-ghb",
        "npa-kbank",
        "npa-krungthai",
        "npa-krungsri",
        "npa-gsb"
      ],
      "support_count": 6
    },
    {
      "key": "description",
      "label_th": "คำอธิบาย",
      "group": "identity",
      "required": true,
      "supported_by": [
        "npa-bam",
        "npa-ghb",
        "npa-krungthai",
        "npa-krungsri",
        "npa-gsb"
      ],
      "support_count": 5
    },
    {
      "key": "type",
      "label_th": "ประเภท",
      "group": "identity",
      "required": true,
      "supported_by": [
        "npa-bam",
        "npa-kbank",
        "npa-krungthai",
        "npa-krungsri"
      ],
      "support_count": 4
    },
    {
      "key": "price",
      "label_th": "ราคา",
      "group": "commercial",
      "required": true,
      "supported_by": [
        "npa-bam",
        "npa-ghb",
        "npa-kbank",
        "npa-krungthai",
        "npa-krungsri"
      ],
      "support_count": 5
    },
    {
      "key": "areaSqm",
      "label_th": "พื้นที่ใช้สอย (ตร.ม.)",
      "group": "property",
      "required": true,
      "supported_by": [
        "npa-bam",
        "npa-ghb",
        "npa-kbank",
        "npa-krungthai",
        "npa-krungsri"
      ],
      "support_count": 5
    },
    {
      "key": "bedrooms",
      "label_th": "ห้องนอน",
      "group": "property",
      "required": true,
      "supported_by": [
        "npa-krungthai",
        "npa-krungsri"
      ],
      "support_count": 2
    },
    {
      "key": "bathrooms",
      "label_th": "ห้องน้ำ",
      "group": "property",
      "required": true,
      "supported_by": [
        "npa-krungthai",
        "npa-krungsri"
      ],
      "support_count": 2
    },
    {
      "key": "floor",
      "label_th": "ชั้น",
      "group": "property",
      "required": true,
      "supported_by": [],
      "support_count": 0
    },
    {
      "key": "totalFloors",
      "label_th": "จำนวนชั้นทั้งหมด",
      "group": "property",
      "required": true,
      "supported_by": [],
      "support_count": 0
    },
    {
      "key": "furnishing",
      "label_th": "ตกแต่ง",
      "group": "property",
      "required": true,
      "supported_by": [],
      "support_count": 0
    },
    {
      "key": "lat",
      "label_th": "ละติจูด",
      "group": "location",
      "required": true,
      "supported_by": [
        "npa-bam",
        "npa-kbank",
        "npa-krungthai",
        "npa-krungsri"
      ],
      "support_count": 4
    },
    {
      "key": "lng",
      "label_th": "ลองจิจูด",
      "group": "location",
      "required": true,
      "supported_by": [
        "npa-bam",
        "npa-kbank",
        "npa-krungthai",
        "npa-krungsri"
      ],
      "support_count": 4
    },
    {
      "key": "address",
      "label_th": "ที่อยู่",
      "group": "location",
      "required": true,
      "supported_by": [
        "npa-bam",
        "npa-ghb",
        "npa-krungthai",
        "npa-krungsri"
      ],
      "support_count": 4
    },
    {
      "key": "district",
      "label_th": "อำเภอ/เขต",
      "group": "location",
      "required": true,
      "supported_by": [
        "npa-bam",
        "npa-kbank",
        "npa-krungthai"
      ],
      "support_count": 3
    },
    {
      "key": "subDistrict",
      "label_th": "ตำบล/แขวง",
      "group": "location",
      "required": true,
      "supported_by": [
        "npa-bam",
        "npa-kbank",
        "npa-krungthai"
      ],
      "support_count": 3
    },
    {
      "key": "province",
      "label_th": "จังหวัด",
      "group": "location",
      "required": true,
      "supported_by": [
        "npa-bam",
        "npa-kbank",
        "npa-krungthai"
      ],
      "support_count": 3
    },
    {
      "key": "zipcode",
      "label_th": "รหัสไปรษณีย์",
      "group": "location",
      "required": true,
      "supported_by": [],
      "support_count": 0
    },
    {
      "key": "imageUrls",
      "label_th": "รูปภาพ (URLs)",
      "group": "property",
      "required": true,
      "supported_by": [
        "npa-bam",
        "npa-ghb",
        "npa-kbank",
        "npa-krungthai",
        "npa-gsb"
      ],
      "support_count": 5
    },
    {
      "key": "sourceUrl",
      "label_th": "URL ต้นทาง",
      "group": "commercial",
      "required": true,
      "supported_by": [
        "npa-bam",
        "npa-ghb",
        "npa-kbank",
        "npa-krungthai",
        "npa-krungsri",
        "npa-gsb"
      ],
      "support_count": 6
    }
  ],
  "scrapers": [
    {
      "id": "npa-bam",
      "display_name": "BAM (บริหารสินทรัพย์)",
      "bank": "BAM",
      "status": "ok",
      "norm": {
        "scraper_id": "npa-bam",
        "sample_url": "https://www.bam.co.th/asset-detail/DDKNKSH0130001",
        "scraped_at": "2026-05-11T08:42:59.141003+00:00",
        "captured": {
          "title": "บ้านเดี่ยวชั้นเดียว เมืองเก่า ขอนแก่น",
          "description": "บ้านเดี่ยวชั้นเดียว พื้นที่ใช้สอย 93 ตรม. ขนาด 40.50 ตร.ว.",
          "type": "บ้านเดี่ยว",
          "price": 1709000,
          "areaSqm": 0,
          "lat": 16.373032,
          "lng": 102.807206,
          "address": "เลขที่ 186 หมู่ที่ 4 ถนนทางพาดกุดกว้าง 5 แยกจากถนนมิตรภาพ (ทล.2)",
          "district": "เมืองขอนแก่น",
          "subDistrict": "เมืองเก่า",
          "province": "ขอนแก่น",
          "imageUrls": [
            "https://bam-bo-fs-prd.bam.co.th/bam/asset-small/0cec5e76-154869-0.jpg",
            "https://bam-bo-fs-prd.bam.co.th/bam/asset-small/90ee9fc1-154869-0.jpg",
            "https://bam-bo-fs-prd.bam.co.th/bam/asset-small/97a4cc9e-154869-1.jpg",
            "https://bam-bo-fs-prd.bam.co.th/bam/asset-small/97a4cc9e-154869-3.jpg"
          ],
          "sourceUrl": "https://www.bam.co.th/asset-detail/DDKNKSH0130001"
        },
        "raw_keys": [
          "title",
          "assetId",
          "assetNo",
          "assetCode",
          "assetType",
          "assetGroup",
          "province",
          "district",
          "subDistrict",
          "location",
          "latitude",
          "longitude",
          "price",
          "discountPrice",
          "shockPrice",
          "displaySpecialPrice",
          "isHotDeal",
          "bedroom",
          "bathroom",
          "parking",
          "rai",
          "ngan",
          "wa",
          "areaMeter",
          "usableArea",
          "description",
          "contactName",
          "contactPhone",
          "thumbnailUrl",
          "images",
          "imageCount",
          "campaignName",
          "departmentName",
          "url",
          "elapsedMs"
        ],
        "raw_sample": {
          "title": "บ้านเดี่ยวชั้นเดียว เมืองเก่า ขอนแก่น",
          "assetId": 154869,
          "assetNo": "DDKNKSH0130001",
          "assetCode": "DD-KNK-SH-0130",
          "assetType": "บ้านเดี่ยว",
          "assetGroup": "บ้าน",
          "province": "ขอนแก่น",
          "district": "เมืองขอนแก่น",
          "subDistrict": "เมืองเก่า",
          "location": "เลขที่ 186 หมู่ที่ 4 ถนนทางพาดกุดกว้าง 5 แยกจากถนนมิตรภาพ (ทล.2)",
          "latitude": 16.373032,
          "longitude": 102.807206,
          "price": 1709000,
          "discountPrice": 0,
          "shockPrice": 0,
          "displaySpecialPrice": false,
          "isHotDeal": false,
          "bedroom": null,
          "bathroom": null,
          "parking": null,
          "rai": 0,
          "ngan": 0,
          "wa": 40.5,
          "areaMeter": 0,
          "usableArea": null,
          "description": "บ้านเดี่ยวชั้นเดียว พื้นที่ใช้สอย 93 ตรม. ขนาด 40.50 ตร.ว.",
          "contactName": "วัชรพงศ์ ตรุณาวงษานนท์",
          "contactPhone": "0-4322-5226-8",
          "thumbnailUrl": "https://bam-bo-fs-prd.bam.co.th/bam/asset-small/0cec5e76-154869-0.jpg",
          "images": [
            "https://bam-bo-fs-prd.bam.co.th/bam/asset-small/0cec5e76-154869-0.jpg",
            "https://bam-bo-fs-prd.bam.co.th/bam/asset-small/90ee9fc1-154869-0.jpg",
            "https://bam-bo-fs-prd.bam.co.th/bam/asset-small/97a4cc9e-154869-1.jpg",
            "https://bam-bo-fs-prd.bam.co.th/bam/asset-small/97a4cc9e-154869-3.jpg"
          ],
          "imageCount": 4,
          "campaignName": null,
          "departmentName": "ฝ่ายพัฒนาสินทรัพย์ภาคตะวันออกเฉียงเหนือ",
          "url": "https://www.bam.co.th/asset-detail/DDKNKSH0130001",
          "elapsedMs": 408
        }
      },
      "coverage": {
        "captured_required": 13,
        "total_required": 19,
        "pct": 68,
        "captured_keys": [
          "title",
          "description",
          "type",
          "price",
          "areaSqm",
          "lat",
          "lng",
          "address",
          "district",
          "subDistrict",
          "province",
          "imageUrls",
          "sourceUrl"
        ],
        "missing_required_keys": [
          "bedrooms",
          "bathrooms",
          "floor",
          "totalFloors",
          "furnishing",
          "zipcode"
        ]
      }
    },
    {
      "id": "npa-ghb",
      "display_name": "GHB Home Center",
      "bank": "GHB",
      "status": "ok",
      "norm": {
        "scraper_id": "npa-ghb",
        "sample_url": "https://www.ghbhomecenter.com/property-988059",
        "scraped_at": "2026-05-11T08:44:52.239558+00:00",
        "captured": {
          "title": "ขายคอนโด (โกลเด้นท์คอนโดทาวน์รังสิต1)",
          "description": "ขายด่วนคอนโด โกลเด้นท์คอนโดทาวน์รังสิต1 5 ชั้น 26.65 ตร.ม. ซอย พหลโยธิน94 ถนน พหลโยธิน บึงยี่โถ ธัญบุรี ปทุมธานี จากธนาคารอาคารสงเคราะห์ ราคาดี เงื่อนไขพิเศษ",
          "price": 60000,
          "areaSqm": 26.65,
          "address": "ทำเลที่ตั้ง × × คุณต้องการเชื่อมต่อไปยังแผนที่ ใช่ไหม? https://www.google.com/maps?saddr=&daddr=13.9773,100.623 เชื่อมต่อ Google Map ปิดหน้านี้ × คุณต้องการเชื่อมต่อไปยังแผนที่ ใช่ไหม? https://www.google.com/maps?saddr=&daddr=13.9773,100.623 เชื่อมต่อ Google Map ปิดหน้านี้ แผนที่ Google Map Street View Get Direction",
          "imageUrls": [
            "https://www.ghbhomecenter.com/v3/property/api/Media/250227999026914465",
            "https://www.ghbhomecenter.com/v3/property/api/Media/231116957861551463",
            "https://www.ghbhomecenter.com/img/googlemap_ico.png",
            "https://www.ghbhomecenter.com/v3/property/api/Media/250227999026914465-280-120",
            "https://www.ghbhomecenter.com/v3/property/api/Media/190131931639937977-280-120",
            "https://www.ghbhomecenter.com/v3/property/api/Media/250919536188012913-280-120",
            "https://www.ghbhomecenter.com/v3/property/api/Media/250919539078378303-280-120",
            "https://www.ghbhomecenter.com/v3/property/api/Media/250227994648046085-280-120",
            "https://www.ghbhomecenter.com/v3/property/api/Media/260511451073420031-280-120",
            "https://www.ghbhomecenter.com/v3/property/api/Media/190919790040640506-280-120",
            "https://www.ghbhomecenter.com/v3/property/api/Media/240523812780691009-280-120",
            "https://www.ghbhomecenter.com/v3/property/api/Media/230823938446425810-280-120",
            "https://www.ghbhomecenter.com/v3/property/api/Media/220822875916679201-280-120"
          ],
          "sourceUrl": "https://www.ghbhomecenter.com/property-988059"
        },
        "raw_keys": [
          "title",
          "description",
          "location",
          "price",
          "priceText",
          "areaSqm",
          "bedrooms",
          "bathrooms",
          "images",
          "url",
          "elapsedMs"
        ],
        "raw_sample": {
          "title": "ขายคอนโด (โกลเด้นท์คอนโดทาวน์รังสิต1)",
          "description": "ขายด่วนคอนโด โกลเด้นท์คอนโดทาวน์รังสิต1 5 ชั้น 26.65 ตร.ม. ซอย พหลโยธิน94 ถนน พหลโยธิน บึงยี่โถ ธัญบุรี ปทุมธานี จากธนาคารอาคารสงเคราะห์ ราคาดี เงื่อนไขพิเศษ",
          "location": "ทำเลที่ตั้ง × × คุณต้องการเชื่อมต่อไปยังแผนที่ ใช่ไหม? https://www.google.com/maps?saddr=&daddr=13.9773,100.623 เชื่อมต่อ Google Map ปิดหน้านี้ × คุณต้องการเชื่อมต่อไปยังแผนที่ ใช่ไหม? https://www.google.com/maps?saddr=&daddr=13.9773,100.623 เชื่อมต่อ Google Map ปิดหน้านี้ แผนที่ Google Map Street View Get Direction",
          "price": 60000,
          "priceText": "฿ 60,000",
          "areaSqm": 26.65,
          "bedrooms": null,
          "bathrooms": null,
          "images": [
            "https://www.ghbhomecenter.com/v3/property/api/Media/250227999026914465",
            "https://www.ghbhomecenter.com/v3/property/api/Media/231116957861551463",
            "https://www.ghbhomecenter.com/img/googlemap_ico.png",
            "https://www.ghbhomecenter.com/v3/property/api/Media/250227999026914465-280-120",
            "https://www.ghbhomecenter.com/v3/property/api/Media/190131931639937977-280-120",
            "https://www.ghbhomecenter.com/v3/property/api/Media/250919536188012913-280-120",
            "https://www.ghbhomecenter.com/v3/property/api/Media/250919539078378303-280-120",
            "https://www.ghbhomecenter.com/v3/property/api/Media/250227994648046085-280-120",
            "https://www.ghbhomecenter.com/v3/property/api/Media/260511451073420031-280-120",
            "https://www.ghbhomecenter.com/v3/property/api/Media/190919790040640506-280-120",
            "https://www.ghbhomecenter.com/v3/property/api/Media/240523812780691009-280-120",
            "https://www.ghbhomecenter.com/v3/property/api/Media/230823938446425810-280-120",
            "https://www.ghbhomecenter.com/v3/property/api/Media/220822875916679201-280-120"
          ],
          "url": "https://www.ghbhomecenter.com/property-988059",
          "elapsedMs": 1634
        }
      },
      "coverage": {
        "captured_required": 7,
        "total_required": 19,
        "pct": 37,
        "captured_keys": [
          "title",
          "description",
          "price",
          "areaSqm",
          "address",
          "imageUrls",
          "sourceUrl"
        ],
        "missing_required_keys": [
          "type",
          "bedrooms",
          "bathrooms",
          "floor",
          "totalFloors",
          "furnishing",
          "lat",
          "lng",
          "district",
          "subDistrict",
          "province",
          "zipcode"
        ]
      }
    },
    {
      "id": "npa-kbank",
      "display_name": "Kasikorn (KBank)",
      "bank": "KBank",
      "status": "ok",
      "norm": {
        "scraper_id": "npa-kbank",
        "sample_url": "https://www.kasikornbank.com/th/propertyforsale?id=12345",
        "scraped_at": "2026-05-11T08:46:47.361171+00:00",
        "captured": {
          "title": "13-66-00071",
          "type": "13 ฟาร์ม",
          "price": 24000000,
          "areaSqm": 18,
          "lat": 13.573073,
          "lng": 99.625666,
          "district": "เมืองราชบุรี",
          "subDistrict": "น้ำพุ",
          "province": "ราชบุรี",
          "imageUrls": [
            "https://www.kasikornbank.com/SiteCollectionDocuments/npa/property/136600071/IMAGE-MOBILE-01-639141108993214977.png",
            "https://www.kasikornbank.com/SiteCollectionDocuments/npa/property/136600071/IMAGE-MOBILE-02-639141109025298424.png",
            "https://www.kasikornbank.com/SiteCollectionDocuments/npa/property/136600071/IMAGE-MOBILE-03-639141109067571287.png",
            "https://www.kasikornbank.com/SiteCollectionDocuments/npa/property/136600071/IMAGE-MOBILE-04-639141109109312517.png",
            "https://www.kasikornbank.com/SiteCollectionDocuments/npa/property/136600071/IMAGE-MOBILE-05-639141109150989567.png",
            "https://www.kasikornbank.com/SiteCollectionDocuments/npa/property/136600071/IMAGE-PC-01-639141108973621698.png",
            "https://www.kasikornbank.com/SiteCollectionDocuments/npa/property/136600071/IMAGE-PC-02-639141109008518033.png",
            "https://www.kasikornbank.com/SiteCollectionDocuments/npa/property/136600071/IMAGE-PC-03-639141109031219495.png",
            "https://www.kasikornbank.com/SiteCollectionDocuments/npa/property/136600071/IMAGE-PC-04-639141109078930795.png",
            "https://www.kasikornbank.com/SiteCollectionDocuments/npa/property/136600071/IMAGE-PC-05-639141109118341465.png",
            "https://www.kasikornbank.com/SiteCollectionDocuments/npa/property/136600071/IMAGE-THUMBNAIL-01-639141109002133206.png",
            "https://www.kasikornbank.com/SiteCollectionDocuments/npa/property/136600071/IMAGE-THUMBNAIL-FB-01-639141109004518784.png",
            "https://www.kasikornbank.com/SiteCollectionDocuments/npa/property/136600071/MAP-MOBILE-map-639141109178474115.png",
            "https://www.kasikornbank.com/SiteCollectionDocuments/npa/property/136600071/MAP-PC-map-639141109160149989.png"
          ],
          "sourceUrl": "https://www.kasikornbank.com/th/propertyforsale?id=12345"
        },
        "raw_keys": [
          "title",
          "propertyId",
          "propertyIdFormat",
          "propertyType",
          "province",
          "district",
          "subDistrict",
          "address",
          "floor",
          "latitude",
          "longitude",
          "price",
          "promotionPrice",
          "adjustPrice",
          "promotionName",
          "bedroom",
          "bathroom",
          "rai",
          "ngan",
          "squareArea",
          "area",
          "useableArea",
          "buildingAge",
          "assetInfo",
          "isNew",
          "isHot",
          "isReserve",
          "isSoldOut",
          "thumbnailUrl",
          "images",
          "imageCount",
          "url",
          "elapsedMs"
        ],
        "raw_sample": {
          "title": "13-66-00071",
          "propertyId": "136600071",
          "propertyIdFormat": "13-66-00071",
          "propertyType": "13 ฟาร์ม",
          "province": "ราชบุรี",
          "district": "เมืองราชบุรี",
          "subDistrict": "น้ำพุ",
          "address": null,
          "floor": null,
          "latitude": 13.573073,
          "longitude": 99.625666,
          "price": 24000000,
          "promotionPrice": null,
          "adjustPrice": null,
          "promotionName": null,
          "bedroom": null,
          "bathroom": null,
          "rai": 18,
          "ngan": 3,
          "squareArea": 40.9,
          "area": "18-3-40.90",
          "useableArea": null,
          "buildingAge": null,
          "assetInfo": null,
          "isNew": true,
          "isHot": false,
          "isReserve": false,
          "isSoldOut": false,
          "thumbnailUrl": "https://www.kasikornbank.com/SiteCollectionDocuments/npa/property/136600071/IMAGE-THUMBNAIL-01-639141109002133206.png",
          "images": [
            "https://www.kasikornbank.com/SiteCollectionDocuments/npa/property/136600071/IMAGE-MOBILE-01-639141108993214977.png",
            "https://www.kasikornbank.com/SiteCollectionDocuments/npa/property/136600071/IMAGE-MOBILE-02-639141109025298424.png",
            "https://www.kasikornbank.com/SiteCollectionDocuments/npa/property/136600071/IMAGE-MOBILE-03-639141109067571287.png",
            "https://www.kasikornbank.com/SiteCollectionDocuments/npa/property/136600071/IMAGE-MOBILE-04-639141109109312517.png",
            "https://www.kasikornbank.com/SiteCollectionDocuments/npa/property/136600071/IMAGE-MOBILE-05-639141109150989567.png",
            "https://www.kasikornbank.com/SiteCollectionDocuments/npa/property/136600071/IMAGE-PC-01-639141108973621698.png",
            "https://www.kasikornbank.com/SiteCollectionDocuments/npa/property/136600071/IMAGE-PC-02-639141109008518033.png",
            "https://www.kasikornbank.com/SiteCollectionDocuments/npa/property/136600071/IMAGE-PC-03-639141109031219495.png",
            "https://www.kasikornbank.com/SiteCollectionDocuments/npa/property/136600071/IMAGE-PC-04-639141109078930795.png",
            "https://www.kasikornbank.com/SiteCollectionDocuments/npa/property/136600071/IMAGE-PC-05-639141109118341465.png",
            "https://www.kasikornbank.com/SiteCollectionDocuments/npa/property/136600071/IMAGE-THUMBNAIL-01-639141109002133206.png",
            "https://www.kasikornbank.com/SiteCollectionDocuments/npa/property/136600071/IMAGE-THUMBNAIL-FB-01-639141109004518784.png",
            "https://www.kasikornbank.com/SiteCollectionDocuments/npa/property/136600071/MAP-MOBILE-map-639141109178474115.png",
            "https://www.kasikornbank.com/SiteCollectionDocuments/npa/property/136600071/MAP-PC-map-639141109160149989.png"
          ],
          "imageCount": 12,
          "url": "https://www.kasikornbank.com/th/propertyforsale?id=12345",
          "elapsedMs": 4684
        }
      },
      "coverage": {
        "captured_required": 11,
        "total_required": 19,
        "pct": 58,
        "captured_keys": [
          "title",
          "type",
          "price",
          "areaSqm",
          "lat",
          "lng",
          "district",
          "subDistrict",
          "province",
          "imageUrls",
          "sourceUrl"
        ],
        "missing_required_keys": [
          "description",
          "bedrooms",
          "bathrooms",
          "floor",
          "totalFloors",
          "furnishing",
          "address",
          "zipcode"
        ]
      }
    },
    {
      "id": "npa-krungthai",
      "display_name": "Krungthai (KTB)",
      "bank": "KTB",
      "status": "ok",
      "norm": {
        "scraper_id": "npa-krungthai",
        "sample_url": "https://npa.krungthai.com/propertyDetail/2307411",
        "scraped_at": "2026-05-11T08:44:53.342152+00:00",
        "captured": {
          "title": "อาคารพาณิชย์ 86/82,86/83 ขอนแก่น",
          "description": "ที่ดินพร้อมสิ่งปลูกสร้าง 264534 ขอนแก่น อำเภอเมืองขอนแก่น ตำบลในเมือง",
          "type": "อาคารพาณิชย์",
          "price": 3447000,
          "areaSqm": 350,
          "bedrooms": 0,
          "bathrooms": 0,
          "lat": 16.411307,
          "lng": 102.854886,
          "address": "86/82 ,86/83 ",
          "district": "อำเภอเมืองขอนแก่น",
          "subDistrict": "ตำบลในเมือง",
          "province": "ขอนแก่น",
          "imageUrls": [
            "https://npa.krungthai.com/image/product/img/436416d4-af00-4d6c-9ce7-6b3ae57c5e02",
            "https://npa.krungthai.com/image/product/img/8f1925b7-1c60-4f53-9ba3-99adf6d16471",
            "https://npa.krungthai.com/image/product/img/1d29d93f-c602-46a3-9724-2ab7fe74277d",
            "https://npa.krungthai.com/image/product/img/e25d14db-30f6-444d-8a7d-3b979f7e6ccc",
            "https://npa.krungthai.com/image/product/img/2f4b2b92-a7d9-4baa-bb71-0be6997f398c",
            "https://npa.krungthai.com/image/product/img/97f3581c-26e5-4b68-8f8f-e35ce45dcd7c",
            "https://npa.krungthai.com/image/product/img/b9a0b377-8c3f-4e6b-aeb1-fa046a967509",
            "https://npa.krungthai.com/image/product/img/8bb97f05-b949-4245-9293-fbf44bc3d40f"
          ],
          "sourceUrl": "https://npa.krungthai.com/propertyDetail/2307411"
        },
        "raw_keys": [
          "collGrpId",
          "collCode",
          "collCateName",
          "collTypeName",
          "province",
          "district",
          "subDistrict",
          "address",
          "addrLine1",
          "addrLine2",
          "road",
          "description",
          "lodge",
          "isPromotion",
          "contactName",
          "contactTel",
          "latitude",
          "longitude",
          "bedroom",
          "bathroom",
          "parking",
          "price",
          "priceNumber",
          "sumAreaNum",
          "area",
          "priceHistory",
          "nearHospitalName",
          "nearHospitalDist",
          "nearSchoolName",
          "nearSchoolDist",
          "nearShopName",
          "nearShopDist",
          "images",
          "imageCount",
          "thumbnailUrl",
          "title",
          "url",
          "detailUrl",
          "elapsedMs"
        ],
        "raw_sample": {
          "collGrpId": "230741",
          "collCode": "64NE011500919",
          "collCateName": "อาคารพาณิชย์",
          "collTypeName": "ที่ดินพร้อมสิ่งปลูกสร้าง",
          "province": "ขอนแก่น",
          "district": "อำเภอเมืองขอนแก่น",
          "subDistrict": "ตำบลในเมือง",
          "address": null,
          "addrLine1": "86/82 ,86/83 ",
          "addrLine2": null,
          "road": null,
          "description": "ที่ดินพร้อมสิ่งปลูกสร้าง 264534 ขอนแก่น อำเภอเมืองขอนแก่น ตำบลในเมือง",
          "lodge": "ไม่มีผู้ใช้ประโยชน์ในทรัพย์",
          "isPromotion": true,
          "contactName": null,
          "contactTel": null,
          "latitude": 16.411307,
          "longitude": 102.854886,
          "bedroom": 0,
          "bathroom": 0,
          "parking": null,
          "price": "3,447,000",
          "priceNumber": 3447000,
          "sumAreaNum": 350,
          "area": "0-0-42.6",
          "priceHistory": [
            {
              "price": 3447000,
              "year": "2026"
            },
            {
              "price": 5280000,
              "year": "2025"
            },
            {
              "price": 0,
              "year": "2024"
            },
            {
              "price": 0,
              "year": "2023"
            },
            {
              "price": 0,
              "year": "2022"
            }
          ],
          "nearHospitalName": "Northeastern Institute of Child and Adolescent Mental Health",
          "nearHospitalDist": "0.96",
          "nearSchoolName": "โรงเรียนอนุบาลลูกหลวง",
          "nearSchoolDist": "0.29",
          "nearShopName": "KK.METAL (2012) Co.Ltd.",
          "nearShopDist": "2.01",
          "images": [
            "https://npa.krungthai.com/image/product/img/436416d4-af00-4d6c-9ce7-6b3ae57c5e02",
            "https://npa.krungthai.com/image/product/img/8f1925b7-1c60-4f53-9ba3-99adf6d16471",
            "https://npa.krungthai.com/image/product/img/1d29d93f-c602-46a3-9724-2ab7fe74277d",
            "https://npa.krungthai.com/image/product/img/e25d14db-30f6-444d-8a7d-3b979f7e6ccc",
            "https://npa.krungthai.com/image/product/img/2f4b2b92-a7d9-4baa-bb71-0be6997f398c",
            "https://npa.krungthai.com/image/product/img/97f3581c-26e5-4b68-8f8f-e35ce45dcd7c",
            "https://npa.krungthai.com/image/product/img/b9a0b377-8c3f-4e6b-aeb1-fa046a967509",
            "https://npa.krungthai.com/image/product/img/8bb97f05-b949-4245-9293-fbf44bc3d40f"
          ],
          "imageCount": 8,
          "thumbnailUrl": "https://npa.krungthai.com/image/product/img/436416d4-af00-4d6c-9ce7-6b3ae57c5e02",
          "title": "อาคารพาณิชย์ 86/82,86/83 ขอนแก่น",
          "url": "https://npa.krungthai.com/propertyDetail/2307411",
          "detailUrl": "https://npa.krungthai.com/propertyDetail/2307411",
          "elapsedMs": 776
        }
      },
      "coverage": {
        "captured_required": 15,
        "total_required": 19,
        "pct": 79,
        "captured_keys": [
          "title",
          "description",
          "type",
          "price",
          "areaSqm",
          "bedrooms",
          "bathrooms",
          "lat",
          "lng",
          "address",
          "district",
          "subDistrict",
          "province",
          "imageUrls",
          "sourceUrl"
        ],
        "missing_required_keys": [
          "floor",
          "totalFloors",
          "furnishing",
          "zipcode"
        ]
      }
    },
    {
      "id": "npa-krungsri",
      "display_name": "Krungsri (BAY)",
      "bank": "Krungsri",
      "status": "ok",
      "norm": {
        "scraper_id": "npa-krungsri",
        "sample_url": "https://www.krungsriproperty.com/detail?code=BX1492",
        "scraped_at": "2026-05-11T08:56:55.286147+00:00",
        "captured": {
          "title": "หมู่บ้าน เพอร์เฟค พาร์ค ร่มเกล้า-สุวรรณภูมิ เฟส 1",
          "description": "ธนาคารหรือบริษัทขอสงวนสิทธิในการเปลี่ยนแปลงข้อมูลทรัพย์สิน โดยทั้งนี้ผู้ซื้อจะต้องทำการตรวจสอบข้อมูล และสภาพทรัพย์สินทั้งหมดด้วยตัวเอง",
          "type": "บ้านเดี่ยว",
          "price": 5210000,
          "areaSqm": "0 ไร่ 0 งาน 51 ตร.ว. ที่ตั้ง บ้านเลขที่ 288/146 ซอยร่มเ",
          "bedrooms": 3,
          "bathrooms": 2,
          "lat": 13.791285,
          "lng": 100.737303,
          "address": "บ้านเลขที่ 288/146 ซอยร่มเกล้า 6/1 ถนนร่มเกล้า แขวงแขวงมีนบุรี เขตเขตมีนบุรี จังหวัดกรุงเทพมหานคร",
          "sourceUrl": "https://www.krungsriproperty.com/detail?code=BX1492"
        },
        "raw_keys": [
          "title",
          "propertyCode",
          "propertyType",
          "location",
          "latitude",
          "longitude",
          "price",
          "promoPrice",
          "hasPromo",
          "bedroom",
          "bathroom",
          "parking",
          "areaText",
          "rai",
          "ngan",
          "wa",
          "deedNumber",
          "description",
          "contactName",
          "contactPhone",
          "images",
          "imageCount",
          "nearby",
          "detailUrl",
          "url",
          "elapsedMs"
        ],
        "raw_sample": {
          "title": "หมู่บ้าน เพอร์เฟค พาร์ค ร่มเกล้า-สุวรรณภูมิ เฟส 1",
          "propertyCode": "BX1492",
          "propertyType": "บ้านเดี่ยว",
          "location": "บ้านเลขที่ 288/146 ซอยร่มเกล้า 6/1 ถนนร่มเกล้า แขวงแขวงมีนบุรี เขตเขตมีนบุรี จังหวัดกรุงเทพมหานคร",
          "latitude": 13.791285,
          "longitude": 100.737303,
          "price": 5210000,
          "promoPrice": 2990000,
          "hasPromo": true,
          "bedroom": 3,
          "bathroom": 2,
          "parking": 1,
          "areaText": "0 ไร่ 0 งาน 51 ตร.ว. ที่ตั้ง บ้านเลขที่ 288/146 ซอยร่มเ",
          "rai": 0,
          "ngan": 0,
          "wa": 51,
          "deedNumber": "โฉนด 71343",
          "description": "ธนาคารหรือบริษัทขอสงวนสิทธิในการเปลี่ยนแปลงข้อมูลทรัพย์สิน โดยทั้งนี้ผู้ซื้อจะต้องทำการตรวจสอบข้อมูล และสภาพทรัพย์สินทั้งหมดด้วยตัวเอง",
          "contactName": "คุณสุกฤษฎิ์",
          "contactPhone": "02-296-4983",
          "images": [
            "/images/b88e45dcdf91472e98906e021deeb64b/01/01",
            "/images/b88e45dcdf91472e98906e021deeb64b/02/02",
            "/images/b88e45dcdf91472e98906e021deeb64b/02/03",
            "/images/b88e45dcdf91472e98906e021deeb64b/04/04",
            "/images/b88e45dcdf91472e98906e021deeb64b/03/05",
            "/images/b88e45dcdf91472e98906e021deeb64b/03/06",
            "/images/b88e45dcdf91472e98906e021deeb64b/03/07",
            "/images/b88e45dcdf91472e98906e021deeb64b/03/08",
            "/images/b88e45dcdf91472e98906e021deeb64b/03/09",
            "/images/b88e45dcdf91472e98906e021deeb64b/03/10",
            "/images/b88e45dcdf91472e98906e021deeb64b/03/11",
            "/images/b88e45dcdf91472e98906e021deeb64b/03/12",
            "/images/b88e45dcdf91472e98906e021deeb64b/03/13",
            "/images/b88e45dcdf91472e98906e021deeb64b/03/14",
            "/images/b88e45dcdf91472e98906e021deeb64b/03/15",
            "/images/b88e45dcdf91472e98906e021deeb64b/03/16",
            "/images/b88e45dcdf91472e98906e021deeb64b/03/17",
            "/images/b88e45dcdf91472e98906e021deeb64b/03/18"
          ],
          "imageCount": 18,
          "nearby": [
            {
              "name": "ตลาดทวีทรัพย์พลาซ่า ร่มเกล้า",
              "distance": "1.4 กม."
            },
            {
              "name": "ปั๊มแก๊ส LPG ร่มเกล้า",
              "distance": "7.7 กม."
            },
            {
              "name": "โลตัส โก เฟรช",
              "distance": "3.4 กม."
            },
            {
              "name": "บิ๊กซี ซูเปอร์เซ็นเตอร์ ร่มเกล้า",
              "distance": "5.8 กม."
            },
            {
              "name": "มหาวิทยาลัยเกษมบัณฑิต วิทยาเขต ร่มเกล้า",
              "distance": "6.5 กม."
            }
          ],
          "detailUrl": "https://www.krungsriproperty.com/detail?code=BX1492",
          "url": "https://www.krungsriproperty.com/detail?code=BX1492",
          "elapsedMs": 1562
        }
      },
      "coverage": {
        "captured_required": 11,
        "total_required": 19,
        "pct": 58,
        "captured_keys": [
          "title",
          "description",
          "type",
          "price",
          "areaSqm",
          "bedrooms",
          "bathrooms",
          "lat",
          "lng",
          "address",
          "sourceUrl"
        ],
        "missing_required_keys": [
          "floor",
          "totalFloors",
          "furnishing",
          "district",
          "subDistrict",
          "province",
          "zipcode",
          "imageUrls"
        ]
      }
    },
    {
      "id": "npa-gsb",
      "display_name": "GSB (ออมสิน)",
      "bank": "GSB",
      "status": "partial",
      "status_note": "หน้าแสดงผลแต่ไม่มี structured data — เก็บได้เพียง title + bodyText (scanner-style)",
      "norm": {
        "scraper_id": "npa-gsb",
        "sample_url": "https://npa-assets.gsb.or.th/asset/npa?id=10000&asset_type_id=1",
        "scraped_at": "2026-05-11T08:55:24.280070+00:00",
        "captured": {
          "title": "ทรัพย์สินรอการขาย - ธนาคารออมสิน",
          "description": "ทรัพย์สินรอการขาย - ธนาคารออมสิน ··· หน้าแรก ··· ทรัพย์สินรอการขาย ··· ทรัพย์สินขายทอดตลาด ··· ทรัพย์สินธนาคาร ··· ข่าวสาร / กิจกรรม ··· เข้าสู่ระบบ ไม่พบข้อมูล อาจเกิดจากความผิดพลาดของการแสดงข้อมูลของ ทรัพย์สินรอการขาย",
          "imageUrls": [
            "https://npa-assets.gsb.or.th/images/berger.svg"
          ],
          "sourceUrl": "https://npa-assets.gsb.or.th/asset/npa?id=10000&asset_type_id=1"
        },
        "raw_keys": [
          "title",
          "description",
          "location",
          "images",
          "bodyText",
          "url"
        ],
        "raw_sample": {
          "title": "ทรัพย์สินรอการขาย - ธนาคารออมสิน",
          "description": null,
          "location": null,
          "images": [
            "https://npa-assets.gsb.or.th/images/berger.svg"
          ],
          "bodyText": "ทรัพย์สินรอการขาย - ธนาคารออมสิน ··· หน้าแรก ··· ทรัพย์สินรอการขาย ··· ทรัพย์สินขายทอดตลาด ··· ทรัพย์สินธนาคาร ··· ข่าวสาร / กิจกรรม ··· เข้าสู่ระบบ ไม่พบข้อมูล อาจเกิดจากความผิดพลาดของการแสดงข้อมูลของ ทรัพย์สินรอการขาย",
          "url": "https://npa-assets.gsb.or.th/asset/npa?id=10000&asset_type_id=1"
        }
      },
      "coverage": {
        "captured_required": 4,
        "total_required": 19,
        "pct": 21,
        "captured_keys": [
          "title",
          "description",
          "imageUrls",
          "sourceUrl"
        ],
        "missing_required_keys": [
          "type",
          "price",
          "areaSqm",
          "bedrooms",
          "bathrooms",
          "floor",
          "totalFloors",
          "furnishing",
          "lat",
          "lng",
          "address",
          "district",
          "subDistrict",
          "province",
          "zipcode"
        ]
      }
    },
    {
      "id": "rss-feed",
      "display_name": "RSS feed (ข่าวอสังหา)",
      "status": "ok",
      "norm": {
        "scraper_id": "rss-feed",
        "sample_url": "https://www.reviewyourliving.com/news/chewa-chewathai-business-direction-2569-022026/",
        "scraped_at": "2026-05-11T09:03:49.049Z",
        "captured": {},
        "raw_keys": [],
        "raw_sample": {}
      },
      "coverage": {
        "captured_required": 0,
        "total_required": 19,
        "pct": 0,
        "captured_keys": [],
        "missing_required_keys": [
          "title",
          "description",
          "type",
          "price",
          "areaSqm",
          "bedrooms",
          "bathrooms",
          "floor",
          "totalFloors",
          "furnishing",
          "lat",
          "lng",
          "address",
          "district",
          "subDistrict",
          "province",
          "zipcode",
          "imageUrls",
          "sourceUrl"
        ]
      }
    },
    {
      "id": "home-coth",
      "display_name": "home.co.th",
      "status": "parse_error",
      "status_note": "เป้าหมาย URL คืน 404 'PAGE NOT FOUND' — ต้องปรับ URL pattern ใน Phase 3",
      "norm": null,
      "coverage": {
        "captured_required": 0,
        "total_required": 19,
        "pct": 0,
        "captured_keys": [],
        "missing_required_keys": [
          "title",
          "description",
          "type",
          "price",
          "areaSqm",
          "bedrooms",
          "bathrooms",
          "floor",
          "totalFloors",
          "furnishing",
          "lat",
          "lng",
          "address",
          "district",
          "subDistrict",
          "province",
          "zipcode",
          "imageUrls",
          "sourceUrl"
        ]
      }
    },
    {
      "id": "home-coth-scanner",
      "display_name": "home.co.th scanner",
      "status": "empty",
      "status_note": "Container ทำงานสำเร็จแต่ไม่ปล่อย JSON (mode = scanner / ไม่มี output)",
      "norm": null,
      "coverage": {
        "captured_required": 0,
        "total_required": 19,
        "pct": 0,
        "captured_keys": [],
        "missing_required_keys": [
          "title",
          "description",
          "type",
          "price",
          "areaSqm",
          "bedrooms",
          "bathrooms",
          "floor",
          "totalFloors",
          "furnishing",
          "lat",
          "lng",
          "address",
          "district",
          "subDistrict",
          "province",
          "zipcode",
          "imageUrls",
          "sourceUrl"
        ]
      }
    },
    {
      "id": "npa-sam",
      "display_name": "SAM (sam.or.th)",
      "bank": "SAM",
      "status": "partial",
      "status_note": "scrape ได้เฉพาะ title + images — ไม่ได้ structured price/location",
      "norm": null,
      "coverage": {
        "captured_required": 0,
        "total_required": 19,
        "pct": 0,
        "captured_keys": [],
        "missing_required_keys": [
          "title",
          "description",
          "type",
          "price",
          "areaSqm",
          "bedrooms",
          "bathrooms",
          "floor",
          "totalFloors",
          "furnishing",
          "lat",
          "lng",
          "address",
          "district",
          "subDistrict",
          "province",
          "zipcode",
          "imageUrls",
          "sourceUrl"
        ]
      }
    },
    {
      "id": "npa-livinginsider",
      "display_name": "Livinginsider",
      "status": "partial",
      "status_note": "เก็บได้เพียง title + description",
      "norm": null,
      "coverage": {
        "captured_required": 0,
        "total_required": 19,
        "pct": 0,
        "captured_keys": [],
        "missing_required_keys": [
          "title",
          "description",
          "type",
          "price",
          "areaSqm",
          "bedrooms",
          "bathrooms",
          "floor",
          "totalFloors",
          "furnishing",
          "lat",
          "lng",
          "address",
          "district",
          "subDistrict",
          "province",
          "zipcode",
          "imageUrls",
          "sourceUrl"
        ]
      }
    },
    {
      "id": "npa-swpamc",
      "display_name": "SWPAMC (สุขุมวิทสินทรัพย์)",
      "bank": "SWPAMC",
      "status": "partial",
      "status_note": "scrape ได้บางส่วน — Phase 3 URL pattern fix แล้ว แต่ structured fields ยังว่าง",
      "norm": null,
      "coverage": {
        "captured_required": 0,
        "total_required": 19,
        "pct": 0,
        "captured_keys": [],
        "missing_required_keys": [
          "title",
          "description",
          "type",
          "price",
          "areaSqm",
          "bedrooms",
          "bathrooms",
          "floor",
          "totalFloors",
          "furnishing",
          "lat",
          "lng",
          "address",
          "district",
          "subDistrict",
          "province",
          "zipcode",
          "imageUrls",
          "sourceUrl"
        ]
      }
    },
    {
      "id": "npa-scb",
      "display_name": "SCB (CloudFront)",
      "bank": "SCB",
      "status": "blocked",
      "status_note": "AWS CloudFront WAF block — ต้อง Playwright session bypass",
      "norm": {
        "scraper_id": "npa-scb",
        "sample_url": null,
        "scraped_at": "2026-05-11T08:55:00.000Z",
        "captured": {},
        "raw_keys": [],
        "raw_sample": {}
      },
      "coverage": {
        "captured_required": 0,
        "total_required": 19,
        "pct": 0,
        "captured_keys": [],
        "missing_required_keys": [
          "title",
          "description",
          "type",
          "price",
          "areaSqm",
          "bedrooms",
          "bathrooms",
          "floor",
          "totalFloors",
          "furnishing",
          "lat",
          "lng",
          "address",
          "district",
          "subDistrict",
          "province",
          "zipcode",
          "imageUrls",
          "sourceUrl"
        ]
      }
    },
    {
      "id": "npa-kkpfg",
      "display_name": "KKP Financial Group",
      "bank": "KKP",
      "status": "blocked",
      "status_note": "WAF block — ต้อง Playwright",
      "norm": {
        "scraper_id": "npa-kkpfg",
        "sample_url": null,
        "scraped_at": "2026-05-11T08:55:00.000Z",
        "captured": {},
        "raw_keys": [],
        "raw_sample": {}
      },
      "coverage": {
        "captured_required": 0,
        "total_required": 19,
        "pct": 0,
        "captured_keys": [],
        "missing_required_keys": [
          "title",
          "description",
          "type",
          "price",
          "areaSqm",
          "bedrooms",
          "bathrooms",
          "floor",
          "totalFloors",
          "furnishing",
          "lat",
          "lng",
          "address",
          "district",
          "subDistrict",
          "province",
          "zipcode",
          "imageUrls",
          "sourceUrl"
        ]
      }
    },
    {
      "id": "npa-ddproperty",
      "display_name": "DDProperty (เว็บประกาศ)",
      "status": "blocked",
      "status_note": "Cloudflare WAF — ต้อง Playwright",
      "norm": {
        "scraper_id": "npa-ddproperty",
        "sample_url": null,
        "scraped_at": "2026-05-11T08:55:00.000Z",
        "captured": {},
        "raw_keys": [],
        "raw_sample": {}
      },
      "coverage": {
        "captured_required": 0,
        "total_required": 19,
        "pct": 0,
        "captured_keys": [],
        "missing_required_keys": [
          "title",
          "description",
          "type",
          "price",
          "areaSqm",
          "bedrooms",
          "bathrooms",
          "floor",
          "totalFloors",
          "furnishing",
          "lat",
          "lng",
          "address",
          "district",
          "subDistrict",
          "province",
          "zipcode",
          "imageUrls",
          "sourceUrl"
        ]
      }
    },
    {
      "id": "fb-page",
      "display_name": "Facebook page",
      "status": "empty",
      "status_note": "FB block scraper ที่ระดับ content — ต้อง auth cookie pattern",
      "norm": null,
      "coverage": {
        "captured_required": 0,
        "total_required": 19,
        "pct": 0,
        "captured_keys": [],
        "missing_required_keys": [
          "title",
          "description",
          "type",
          "price",
          "areaSqm",
          "bedrooms",
          "bathrooms",
          "floor",
          "totalFloors",
          "furnishing",
          "lat",
          "lng",
          "address",
          "district",
          "subDistrict",
          "province",
          "zipcode",
          "imageUrls",
          "sourceUrl"
        ]
      }
    }
  ]
}