HTML to JSON: Extract Page Data From Any URL
This HTML to JSON tool turns any live page into metadata, structured data and entity records that you can read on screen and download.
Data Extraction
Point it at any page. Get back the structured entities, contacts, files, structured data, technology, and trust signals a crawl can recover: grouped, deduped, and reconciled against Wikidata.
Only extract from sites you own or are authorized to analyze. You are responsible for respecting others' terms and intellectual property.
Example output: HTML to JSON extraction
Output for https://growthvector.io, 5 pages, trimmed for display. Run the tool to get every page and every field.
{
"source": {
"requestedUrl": "https://growthvector.io",
"finalUrl": "https://growthvector.io/",
"pagesCrawled": 5,
"durationMs": 9868
},
"pageMetadata": {
"pages": [
{
"url": "https://growthvector.io/",
"statusCode": 200,
"contentType": "text/html; charset=utf-8",
"pageSize": 20993,
"renderMethod": "http",
"canonicalStatus": "present"
}
]
},
"structuredData": {
"totalItems": 73,
"pagesWithStructuredData": 5,
"schemaTypes": {
"Organization": 13,
"Person": 5,
"ContactPoint": 5,
"WebSite": 5,
"BreadcrumbList": 4,
"ListItem": 11,
"WebPage": 4,
"Article": 4,
"ImageObject": 4,
"FAQPage": 2,
"Question": 8,
"Answer": 8
},
"records": [
{
"pageUrl": "https://growthvector.io",
"format": "jsonld",
"types": [
"Organization"
],
"value": {
"@type": "Organization",
"@id": "https://growthvector.io/#organization",
"name": "GrowthVector",
"alternateName": "GrowthVector.io",
"url": "https://growthvector.io/",
"logo": "https://growthvector.io/logo.png"
}
}
]
},
"entities": {
"byKind": {
"date": 7,
"contact": 2,
"email": 1,
"relationship": 1,
"topic": 8,
"phone": 1,
"organization": 3,
"person": 1
},
"records": [
{
"extractionKind": "organization",
"value": "GrowthVector",
"confidence": 0.76,
"entityConfidenceTier": "medium"
}
]
}
}Download the full JSON from the tool above after your own run.
How HTML to JSON extraction works
- Enter the site address. Page metadata, structured data and entities are already selected.
- Set the number of pages, from 1 to 250. Leave it empty for the default of 25 pages.
- Run the extraction and read the sections on screen, then download the full JSON for your script.
What does HTML to JSON give you when the page is not a table?
Updated
An HTML to JSON extractor does not copy the DOM tree into brackets. It reads each page you point it at and returns the parts a script can use: page metadata, every JSON-LD, Microdata and RDFa item as its own record, and the entities found in the text, each with a confidence tier.
Use it when you need the machine-readable layer of a site, for example to compare schema types across 200 URLs, to feed a data pipeline, or to see what a crawler sees before it ranks you. The tool preselects the three sections that carry this data. You can still add or remove sections before you run.
Related guides: website data extraction tool, free marketing tools, website email extractor, website technology lookup.
Common Questions
Does the JSON include the full text and DOM of each page?
No. This job returns page metadata (status code, content type, size, render method, indexability), structured data records and entity records. It does not serialize the HTML tree. If you need every element and attribute, parse the HTML with a library such as cheerio or BeautifulSoup. Use this job for the data layer search engines read.
How do I get JSON-LD from a page as clean objects?
Read structuredData.records. Each record has the page URL, the format (jsonld, microdata or rdfa), the schema types and the parsed value as an object. structuredData.schemaTypes counts every type across the crawl, so you can see at a glance which pages lack Product, FAQPage or Article markup.
What happens when a page has broken JSON-LD?
The section reports it instead of dropping it silently. structuredData includes a parse error count, a list of parse errors, and lists for missing required fields, image issues and relevance warnings. Fix the errors it names, then run the page again.
Does the extractor run JavaScript before it reads the page?
Each page record in pageMetadata states its renderMethod, either http or playwright, so you can see how the page was fetched. Compare it with the schema counts: if a page you know has markup returns none, the markup is probably injected late in the browser and the rendered page differs from the raw response.
Why do entity records have confidence tiers?
Entity extraction reads free text, so it returns noise along with real names. Every record has a confidence score and a tier of high, medium or low. In the example above, the organization record GrowthVector scored 0.76, which is the medium tier. Filter on the tier in your pipeline before you use the records.
How many pages can one run cover?
A run crawls from 1 to 250 pages, and the free tool allows 2 extractions a day. The source block states pagesCrawled, and limitsHit lists any limit the run reached, such as the page limit, so you can tell a finished crawl from a cut-off one.