{
  "schemaVersion": 1,
  "tool": "local-search-structured-data-audit",
  "runId": "6b5c4079-1c2f-4676-927c-96399f069c1a",
  "startedAt": "2026-07-24T13:41:43.053Z",
  "completedAt": "2026-07-24T13:41:44.550Z",
  "expiresAt": "2026-07-31T13:41:44.550Z",
  "siteUrl": "https://crow.sg/",
  "scope": {
    "policyId": "crow-public-html-local-search-audit",
    "policyVersion": "1.0.0",
    "rulesetId": "crow-local-search-structured-data",
    "rulesetVersion": "1.1.0",
    "queuedAt": "2026-07-24T13:41:43.035Z",
    "origin": "https://crow.sg",
    "seedUrls": [
      "https://crow.sg/"
    ],
    "caps": {
      "maxProfiles": 10,
      "maxPriorityUrls": 20,
      "maxSeedUrls": 31,
      "maxDiscoveredUrls": 60,
      "maxPages": 20,
      "maxRenderedPages": 0,
      "maxMarkupBlocks": 100,
      "maxEntities": 250,
      "maxEvidenceRows": 1000,
      "maxJsonDepth": 32,
      "maxJsonNodesPerBlock": 5000,
      "maxRedirectsPerRequest": 5,
      "maxRequests": 30,
      "maxRobotsBytes": 131072,
      "maxRobotsLines": 1000,
      "maxRobotsRules": 200,
      "maxRobotsPatternChars": 512,
      "maxRobotsWildcardsPerRule": 16,
      "maxResponseBytes": 2097152,
      "maxTotalBytes": 33554432,
      "maxConcurrency": 1,
      "requestTimeoutMs": 10000,
      "maxRunMs": 240000,
      "maxLinksInspectedPerPage": 100,
      "maxHtmlNodesPerPage": 50000,
      "maxHtmlDepthPerPage": 256,
      "maxLocatorChars": 512,
      "maxUrlChars": 2048,
      "maxFieldValueChars": 4096,
      "maxValuesPerField": 20,
      "maxDeclaredHoursIntervals": 42,
      "maxVisibleTextCharsPerPage": 200000,
      "maxMarkupBlockChars": 262144
    },
    "extraction": {
      "htmlSource": "server-delivered-html",
      "formats": [
        "json-ld",
        "microdata",
        "rdfa",
        "visible-text"
      ],
      "javascriptExecution": false,
      "thirdPartyQueries": false
    },
    "retainedUrlQueryOrFragmentOmitted": false
  },
  "declaredLocations": [
    {
      "id": "LOC-001",
      "declared": {
        "businessName": "Crow Tech Pte. Ltd.",
        "address": "152 Beach Road, #23-02 Gateway East, Singapore 189721",
        "phone": "+65 8453 9982",
        "url": "https://crow.sg/"
      }
    }
  ],
  "priorityUrls": [],
  "pages": [
    {
      "url": "https://crow.sg/",
      "finalUrl": "https://crow.sg/",
      "status": 200,
      "contentType": "text/html; charset=utf-8",
      "bytes": 70149,
      "redirects": [],
      "outcome": "complete-html",
      "complete": true,
      "discoveredLinks": 13,
      "markupBlocksRetained": 0,
      "entitiesObserved": 0,
      "operationalIssueIds": []
    },
    {
      "url": "https://crow.sg/our_clients/",
      "finalUrl": "https://crow.sg/our_clients/",
      "status": 200,
      "contentType": "text/html; charset=utf-8",
      "bytes": 57710,
      "redirects": [],
      "outcome": "complete-html",
      "complete": true,
      "discoveredLinks": 13,
      "markupBlocksRetained": 0,
      "entitiesObserved": 0,
      "operationalIssueIds": []
    },
    {
      "url": "https://crow.sg/about_us/",
      "finalUrl": "https://crow.sg/about_us/",
      "status": 200,
      "contentType": "text/html; charset=utf-8",
      "bytes": 57785,
      "redirects": [],
      "outcome": "complete-html",
      "complete": true,
      "discoveredLinks": 13,
      "markupBlocksRetained": 0,
      "entitiesObserved": 0,
      "operationalIssueIds": []
    },
    {
      "url": "https://crow.sg/blog/",
      "finalUrl": "https://crow.sg/blog/",
      "status": 200,
      "contentType": "text/html; charset=utf-8",
      "bytes": 82913,
      "redirects": [],
      "outcome": "complete-html",
      "complete": true,
      "discoveredLinks": 24,
      "markupBlocksRetained": 0,
      "entitiesObserved": 0,
      "operationalIssueIds": []
    },
    {
      "url": "https://crow.sg/research/",
      "finalUrl": "https://crow.sg/research/",
      "status": 200,
      "contentType": "text/html; charset=utf-8",
      "bytes": 55968,
      "redirects": [],
      "outcome": "complete-html",
      "complete": true,
      "discoveredLinks": 15,
      "markupBlocksRetained": 1,
      "entitiesObserved": 0,
      "operationalIssueIds": []
    },
    {
      "url": "https://crow.sg/software_digital_solutions/",
      "finalUrl": "https://crow.sg/software_digital_solutions/",
      "status": 200,
      "contentType": "text/html; charset=utf-8",
      "bytes": 44014,
      "redirects": [],
      "outcome": "complete-html",
      "complete": true,
      "discoveredLinks": 13,
      "markupBlocksRetained": 0,
      "entitiesObserved": 0,
      "operationalIssueIds": []
    },
    {
      "url": "https://crow.sg/cloud_infrastructure/",
      "finalUrl": "https://crow.sg/cloud_infrastructure/",
      "status": 200,
      "contentType": "text/html; charset=utf-8",
      "bytes": 43928,
      "redirects": [],
      "outcome": "complete-html",
      "complete": true,
      "discoveredLinks": 13,
      "markupBlocksRetained": 0,
      "entitiesObserved": 0,
      "operationalIssueIds": []
    },
    {
      "url": "https://crow.sg/tech_consulting/",
      "finalUrl": "https://crow.sg/tech_consulting/",
      "status": 200,
      "contentType": "text/html; charset=utf-8",
      "bytes": 41307,
      "redirects": [],
      "outcome": "complete-html",
      "complete": true,
      "discoveredLinks": 13,
      "markupBlocksRetained": 0,
      "entitiesObserved": 0,
      "operationalIssueIds": []
    },
    {
      "url": "https://crow.sg/managed-hermes/",
      "finalUrl": "https://crow.sg/managed-hermes/",
      "status": 200,
      "contentType": "text/html; charset=utf-8",
      "bytes": 49619,
      "redirects": [],
      "outcome": "complete-html",
      "complete": true,
      "discoveredLinks": 13,
      "markupBlocksRetained": 0,
      "entitiesObserved": 0,
      "operationalIssueIds": []
    },
    {
      "url": "https://crow.sg/crow-agent-suite/",
      "finalUrl": "https://crow.sg/crow-agent-suite/",
      "status": 200,
      "contentType": "text/html; charset=utf-8",
      "bytes": 141472,
      "redirects": [],
      "outcome": "complete-html",
      "complete": true,
      "discoveredLinks": 13,
      "markupBlocksRetained": 0,
      "entitiesObserved": 0,
      "operationalIssueIds": []
    },
    {
      "url": "https://crow.sg/ai-tools/",
      "finalUrl": "https://crow.sg/ai-tools/",
      "status": 200,
      "contentType": "text/html; charset=utf-8",
      "bytes": 58684,
      "redirects": [],
      "outcome": "complete-html",
      "complete": true,
      "discoveredLinks": 13,
      "markupBlocksRetained": 0,
      "entitiesObserved": 0,
      "operationalIssueIds": []
    },
    {
      "url": "https://crow.sg/terms/",
      "finalUrl": "https://crow.sg/terms/",
      "status": 200,
      "contentType": "text/html; charset=utf-8",
      "bytes": 30121,
      "redirects": [],
      "outcome": "complete-html",
      "complete": true,
      "discoveredLinks": 14,
      "markupBlocksRetained": 0,
      "entitiesObserved": 0,
      "operationalIssueIds": []
    },
    {
      "url": "https://crow.sg/privacy/",
      "finalUrl": "https://crow.sg/privacy/",
      "status": 200,
      "contentType": "text/html; charset=utf-8",
      "bytes": 31030,
      "redirects": [],
      "outcome": "complete-html",
      "complete": true,
      "discoveredLinks": 14,
      "markupBlocksRetained": 0,
      "entitiesObserved": 0,
      "operationalIssueIds": []
    },
    {
      "url": "https://crow.sg/blog/crow-agent-suite-singapore-real-estate-crm/",
      "finalUrl": "https://crow.sg/blog/crow-agent-suite-singapore-real-estate-crm/",
      "status": 200,
      "contentType": "text/html; charset=utf-8",
      "bytes": 103075,
      "redirects": [],
      "outcome": "complete-html",
      "complete": true,
      "discoveredLinks": 15,
      "markupBlocksRetained": 0,
      "entitiesObserved": 0,
      "operationalIssueIds": []
    },
    {
      "url": "https://crow.sg/blog/apache-spark-architecture/",
      "finalUrl": "https://crow.sg/blog/apache-spark-architecture/",
      "status": 200,
      "contentType": "text/html; charset=utf-8",
      "bytes": 53859,
      "redirects": [],
      "outcome": "complete-html",
      "complete": true,
      "discoveredLinks": 13,
      "markupBlocksRetained": 0,
      "entitiesObserved": 0,
      "operationalIssueIds": []
    },
    {
      "url": "https://crow.sg/blog/what-is-snowflake/",
      "finalUrl": "https://crow.sg/blog/what-is-snowflake/",
      "status": 200,
      "contentType": "text/html; charset=utf-8",
      "bytes": 56572,
      "redirects": [],
      "outcome": "complete-html",
      "complete": true,
      "discoveredLinks": 13,
      "markupBlocksRetained": 0,
      "entitiesObserved": 0,
      "operationalIssueIds": []
    },
    {
      "url": "https://crow.sg/blog/case-study-neolux-energy/",
      "finalUrl": "https://crow.sg/blog/case-study-neolux-energy/",
      "status": 200,
      "contentType": "text/html; charset=utf-8",
      "bytes": 63191,
      "redirects": [],
      "outcome": "complete-html",
      "complete": true,
      "discoveredLinks": 13,
      "markupBlocksRetained": 0,
      "entitiesObserved": 0,
      "operationalIssueIds": []
    },
    {
      "url": "https://crow.sg/blog/case-study-agora-dance/",
      "finalUrl": "https://crow.sg/blog/case-study-agora-dance/",
      "status": 200,
      "contentType": "text/html; charset=utf-8",
      "bytes": 61875,
      "redirects": [],
      "outcome": "complete-html",
      "complete": true,
      "discoveredLinks": 13,
      "markupBlocksRetained": 0,
      "entitiesObserved": 0,
      "operationalIssueIds": []
    },
    {
      "url": "https://crow.sg/blog/case-study-aws-large-storage/",
      "finalUrl": "https://crow.sg/blog/case-study-aws-large-storage/",
      "status": 200,
      "contentType": "text/html; charset=utf-8",
      "bytes": 53676,
      "redirects": [],
      "outcome": "complete-html",
      "complete": true,
      "discoveredLinks": 13,
      "markupBlocksRetained": 0,
      "entitiesObserved": 0,
      "operationalIssueIds": []
    },
    {
      "url": "https://crow.sg/blog/what-is-dbt-data-build-tool/",
      "finalUrl": "https://crow.sg/blog/what-is-dbt-data-build-tool/",
      "status": 200,
      "contentType": "text/html; charset=utf-8",
      "bytes": 55084,
      "redirects": [],
      "outcome": "complete-html",
      "complete": true,
      "discoveredLinks": 13,
      "markupBlocksRetained": 0,
      "entitiesObserved": 0,
      "operationalIssueIds": [
        "OP-f5c5e269fd36d2833311"
      ]
    }
  ],
  "coverage": {
    "seedUrls": 1,
    "urlsDiscovered": 28,
    "urlsAdmitted": 28,
    "pagesAttempted": 20,
    "pagesFetched": 20,
    "completeHtmlPages": 20,
    "renderedPages": 0,
    "markupBlocksRetained": 1,
    "entitiesObserved": 0,
    "evidenceRows": 4,
    "findingCount": 1,
    "operationalIssueCount": 2,
    "requests": 21,
    "observedTransferBytes": 1213280,
    "capsHit": [
      "page_cap"
    ]
  },
  "operational": [
    {
      "id": "OP-a2f864acdc4c6476cfea",
      "code": "page_cap",
      "stage": "scope",
      "detail": "The snapshotted HTML page cap was reached; remaining admitted candidates were not fetched.",
      "inconclusive": true
    },
    {
      "id": "OP-f5c5e269fd36d2833311",
      "code": "html_tree_construction",
      "stage": "parse",
      "sourceUrl": "https://crow.sg/blog/what-is-dbt-data-build-tool/",
      "detail": "HTML tree-construction semantics outside the pinned parser affected this page; Microdata, RDFa, server-text absence, and dependent negative findings were suppressed.",
      "inconclusive": true
    }
  ],
  "scopeStatement": "Scope caveat: Results apply only to 20 complete admitted public HTML pages under the snapshotted caps; this is not a whole-site, Google, Maps, directory, ranking, index-status, or rich-result claim."
}
