extractor.sh

JSON schema

One shape. Typed entities.

Every successful search or extraction JSON response follows schema version 1. Shared fields stay consistent while type and attributes describe the entity.

Common fields

FieldTypeMeaning
schemaVersion1The response contract version.
typeenumdocument, article, product, post, profile, video, audio, or feed.
sourceenumThe recognized platform, web, or a provider-neutral capability such as web-search, image-search, place-search, or finance.
idstring or nullA stable source identifier when one is available.
urlURLThe canonical or submitted public URL.
titlestring or nullThe entity title or display label.
authorstring or nullThe public author, publisher, or creator name.
publishedAtISO date or nullThe publication timestamp when the source exposes one.
contentstringThe primary content represented as Markdown.
mediaarrayTyped public image, video, or audio references.
attributesobjectFields specific to the selected entity type.

Product example

{
  "schemaVersion": 1,
  "type": "product",
  "source": "amazon",
  "id": "B09B8X9RGM",
  "url": "https://www.amazon.de/dp/B09B8X9RGM",
  "title": "Example product",
  "author": null,
  "publishedAt": null,
  "content": "# Example product\n\nPublic product details.",
  "media": [],
  "attributes": {
    "price": 1999,
    "currency": "EUR",
    "priceDisplay": "€19.99",
    "availability": "In stock"
  }
}

price and compareAtPrice are always integers in the currency’s minor unit: 1999 with EUR means €19.99. Use their display fields only for presentation. Products and variants can additionally expose sku; products can expose tags.

Physical products and variants can additionally expose sku, gtin, seller, categories, features, stock state, variants, and multiple images. Software products can expose softwareVersion, operatingSystem, contentRating, and developerUrl. Unavailable fields are omitted.

Market document attributes

Finance and Yahoo Finance documents can expose tickerSymbol, exchange, effective currency, instrumentType, marketPrice, previousClose, change, changePercent, day and 52-week ranges, volume, timezone, marketState, historyTimeframe, historyInterval, bounded history, and dividend or split events. Requested-currency responses additionally expose listingCurrency, quoteCurrency, exchangeRate, and exchangeRateTimestamp. Stock-search feeds contain finance documents with available sector and industry fields.

Each history point contains an ISO timestamp and available open, high, low, close, adjustedClose, and integer volume values. Market prices are decimal quote values; the integer minor-unit rule applies only to product prices.

Webpage and image attributes

Generic webpage documents and articles can expose language, modifiedAt, and computed wordCount. Image-search documents can expose creatorUrl, fileType, tags, and computed orientation in addition to dimensions and license metadata.

Post attributes

Posts can expose handle, authorImageUrl, language, verified, edited, sensitive, reply and quoted-post URLs, coauthors, locationName, sponsored, contentWarning, mediaType, durationSeconds, hashtags, and available non-negative engagement counts such as likes, replies, reposts, shares, quotes, and views.

Feeds and profiles

feed and profile responses include an items array. Each item uses the same entity shape and can be an article, product, post, video, or another supported type. Other response types omit items.

Profiles can expose verified, pronouns, follower, following, post, and total-like counts when the public page provides them.

Web search returns a feed whose ordered document items contain result titles, URLs, and snippets. Item order represents relevance rank.

News search returns a google-news feed whose article items can include publishers, publication dates, summaries, and public links.

Image search returns an image-search feed whose document items carry source pages, image media, creators, dimensions, and license fields when available.

Place search returns a place-search feed whose document items can carry coordinates, bounding boxes, structured addresses, categories, and country codes. Search feeds expose resultCount and their effective locale, timeframe, or filter settings.

{
  "schemaVersion": 1,
  "type": "feed",
  "source": "google-news",
  "id": null,
  "url": "https://news.google.com/search?q=Cloudflare",
  "title": "Google News: Cloudflare",
  "author": null,
  "publishedAt": null,
  "content": "# Google News: Cloudflare",
  "media": [],
  "attributes": { "feedType": "search", "query": "Cloudflare" },
  "items": [
    { "type": "article", "source": "google-news", "id": "…", "url": "https://…", "title": "…", "author": "…", "publishedAt": "2026-08-01T10:00:00.000Z", "content": "…", "media": [], "attributes": {} }
  ]
}

Nulls and omitted fields

Shared nullable fields are always present and use null when the source does not provide a value. Optional type-specific details inside attributes and optional media details are omitted when unavailable.

Machine-readable definitions