Differences between v1 and v2 schemas

Key name & JSON schema changes

Description

Example in v1 schema

Example in v2 schema

Rename "images": [ {"href"} ] to "images": [ {"url"} ]

"images": [ { ... "href": "/search?q=adidas...", ... } ]

"images": [ { ... "url": "/search?q=adidas...", ... } ]

Rename "top_stories": [ {"headline"} ] to "top_stories": [ {"title"} ].

"top_stories": [ { ... "headline": "Should Joe Biden...", ... }, ]

"top_stories": [ { ... "title": "Should Joe Biden...", ... }, ]

Rename "recipes": [ {"description"} ] to "recipes": [ {"desc"} ].

"recipes": [ { ... "description": "Brown sugar..." ... } ]

"recipes": [ { ... "desc": "Brown sugar..." ... } ]

data_rw key will be taken out of an array and made an object, as there is never more than one data_rw URL per result.

"paid": [ { ... "data_rw": [ "https://www.google.com/aclk?..." ] ... }

"paid": [ { ... "data_rw": https://www.google.com/aclk?..." ... }

Position & overall position indicator changes

Some SERRP features can be considered singular, while others contain more than one item within them. To describe a SERP feature's overall position within the SERP (pos_overall), we will use a single indicator per SERP feature. If the SERP feature has more than one item within itself, the items will each have an indicator of their relative position within the SERP feature (pos) but no distinct pos_overall.

  • The SERP features listed below will have a single pos_overall (overall position indicator) per SERP feature;
  • The items inside the SERP features below will each have their own pos (relative position indicator);
  • The lists containing the items inside the SERP features below will all have the same name (items).

The changes will affect these SERP features:
related_questions,
local_pack,
pla,
popular_products,
twitter,
top_stories,
videos,
images,
recipes.

For example, in v1 schema, the parsed output looks like this:
images: [ { "key1": "value1", "pos_overall": 5 }, { "key2": "value2", "pos_overall": 6 } ]

In v2, the output for the elements listed above looks like this:
images: { "pos_overall": 3, "items: [ { "key1": "value1", "pos": 1 }, { "key2": "value2", "pos": 2 } ] }