Microdata was introduced alongside HTML5 as an in-band method of annotating existing HTML markup with semantic meaning. An element with `itemscope` defines a new item; `itemtype` specifies the schema type URL (typically schema.org); and `itemprop` attributes on descendant elements name the properties being described. Unlike JSON-LD, Microdata is interleaved with the visible HTML rather than separated into a script block.
From a scraping standpoint, Microdata is harder to parse than JSON-LD because the property values are embedded in diverse HTML attributes (`content`, `href`, `src`, `datetime`, or the element's text content) depending on the element type. Libraries such as Python's `extruct` can extract Microdata, JSON-LD, and RDFa from a page simultaneously and return them in a unified format.
Microdata's use has declined in favour of JSON-LD, which is preferred by Google and easier for developers to maintain without touching the visual HTML. However, older sites and CMS platforms still use Microdata heavily.