Social and Content

Software Review

/extract/json

Software review from G2, Capterra, Trustpilot, etc.

Download the schemasocial-content/software-review.json

software-review.schema

// names marked ? are optional

platform:string// The review platform where this review was published. Commonly found in: g2.com/products, capterra.com/software, trustpilot.com. One of: g2, capterra, trustpilot, getapp, software_advice, other.
product_name:string// Name of the software product being reviewed.
product_slug?:string// URL slug or identifier for the product on the review platform.
product_url?:string// URL to the product listing on the review platform.
reviewer_name?:string// Name or alias of the reviewer.
reviewer_title?:string// Job title of the reviewer.
reviewer_company_size?:string// Company size bracket of the reviewer's employer. One of: 1-10, 11-50, 51-200, 201-1000, 1001-5000, 5001+, other.
reviewer_industry?:string// Industry of the reviewer's company.
reviewer_verified?:boolean// Whether the reviewer identity has been verified by the platform.
rating_overall:number// Overall rating given by the reviewer, out of 5.
rating_ease_of_use?:number// Ease-of-use rating out of 5.
rating_features?:number// Features rating out of 5.
rating_customer_support?:number// Customer support rating out of 5.
rating_value_for_money?:number// Value-for-money rating out of 5.
review_title?:string// Title or headline of the review.
review_body?:string// Full text body of the review.
pros?:string// Pros section of the review.
cons?:string// Cons section of the review.
use_case?:string// Described use case or problem the reviewer is solving.
review_date:string// Date the review was published (YYYY-MM-DD).
helpful_count?:number// Number of users who marked this review as helpful.
verified_purchase?:boolean// Whether the reviewer is a verified purchaser of the product.
page_title?:string// Title of the source page. Tabstack auto-fills this from page metadata when left empty.
favicon?:string// Favicon URL of the source page. Tabstack auto-fills this from page metadata when left empty.

Try it live

A sample Software Review document, generated from the schema. Edit it, or paste a real response, and see it checked against the schema instantly. It runs in your browser, nothing is sent anywhere.

your-output.json
validation

Valid, matches Software Review

Every required field is present and each value matches its type. Extra fields are allowed. A field the page does not carry is not guaranteed to come back as null, so check values rather than only checking for null.

/extract/json

Copy-paste usage

The same call in TypeScript, Python, and curl. Point it at your own URL and go. The schema drives the response, so you get back the fields you asked for instead of a page to parse.

Features

  • Typed TypeScript and Python SDKs
  • One call, no parsing code and no second LLM pass
  • The same field names on every request, even when the page layout changes
software-review.ts
// curl -sfLO https://raw.githubusercontent.com/Mozilla-Ocho/tabstack-schemas/main/social-content/software-review.json
import Tabstack from '@tabstack/sdk'
import schema from './software-review.json' with { type: 'json' }

const client = new Tabstack() // reads TABSTACK_API_KEY from the environment

try {
  const data = await client.extract.json({
    url: 'https://example.com/article',
    json_schema: schema,
    effort: 'standard', // 'min' | 'standard' | 'max'
  })

  console.log(data)
} catch (err) {
  console.error('Extraction failed:', err)
}

Ship this schema in one call.

Pass a URL, get matching JSON back. Free to start, no extraction layer to maintain.