{
  "url": "https://webscraper.io/test-sites/tables",
  "final_url": "https://webscraper.io/test-sites/tables",
  "fetched_at": "2026-10-25T22:27:38.516Z",
  "schema_version": "1.0",
  "content_source": "raw_html",
  "markdown": "# Test Sites\n\n## Table playground\n\nYou can train using Table selector here.\n\n## Semantically correct table with thead and tbody\n\nTable selector automatically detects header and data rows.\n\n| # | First Name | Last Name | Username |\n| --- | --- | --- | --- |\n| 1 | Mark | Otto | @mdo |\n| 2 | Jacob | Thornton | @fat |\n| 3 | Larry | the Bird | @twitter |\n\n| # | First Name | Last Name | Username |\n| --- | --- | --- | --- |\n| 4 | Harry | Potter | @hp |\n| 5 | John | Snow | @dunno |\n| 6 | Tim | Bean | @timbean |",
  "markdown_truncated": false,
  "word_count": 124,
  "metadata": {
    "title": "Table Playground | Web Scraper Test Sites",
    "description": "Test Web Scraper's features on basic table layouts. Practice extracting structured table data.",
    "authors": [],
    "published_at": null,
    "modified_at": null,
    "site_name": null,
    "language": "en",
    "canonical_url": "https://webscraper.io/test-sites/tables",
    "image": "https://webscraper.io/webscraper-logo-header.png",
    "type": "website"
  },
  "product": null,
  "tables": [
    {
      "index": 0,
      "caption": null,
      "headers": [
        "#",
        "First Name",
        "Last Name",
        "Username"
      ],
      "rows": [
        [
          "1",
          "Mark",
          "Otto",
          "@mdo"
        ],
        [
          "2",
          "Jacob",
          "Thornton",
          "@fat"
        ],
        [
          "3",
          "Larry",
          "the Bird",
          "@twitter"
        ]
      ],
      "checks": {
        "row_count": 3,
        "column_count": 4,
        "consistent_width": true
      }
    },
    {
      "index": 1,
      "caption": null,
      "headers": [
        "#",
        "First Name",
        "Last Name",
        "Username"
      ],
      "rows": [
        [
          "4",
          "Harry",
          "Potter",
          "@hp"
        ],
        [
          "5",
          "John",
          "Snow",
          "@dunno"
        ],
        [
          "6",
          "Tim",
          "Bean",
          "@timbean"
        ]
      ],
      "checks": {
        "row_count": 3,
        "column_count": 4,
        "consistent_width": true
      }
    }
  ],
  "product_unresolved": {
    "reason": "no_product_markup",
    "detail": "no JSON-LD Product/ProductGroup, product:price meta, schema.org microdata, or price+title+cart heuristic match"
  }
}