G2 Product Reviews
Extract G2 product reviews — name, ratings distribution, individual reviews with reviewer metadata.
API usage
Add &scraper=g2-product-reviews to a Crawling API request. URL-encode the target URL in the url parameter.
curl 'https://api.crawlbase.com/?token=YOUR_TOKEN' \
--data-urlencode 'url=https://www.g2.com/products/zoom/reviews' \
--data-urlencode 'scraper=g2-product-reviews' -Gfrom crawlbase import CrawlingAPI
api = CrawlingAPI({'token': 'YOUR_TOKEN'})
res = api.get(
'https://www.g2.com/products/zoom/reviews',
{'scraper': 'g2-product-reviews'}
)
import json
data = json.loads(res['body'])const { CrawlingAPI } = require('crawlbase');
const api = new CrawlingAPI({ token: 'YOUR_TOKEN' });
const res = await api.get(
'https://www.g2.com/products/zoom/reviews',
{ scraper: 'g2-product-reviews' }
);
const data = JSON.parse(res.body);require 'crawlbase'
api = Crawlbase::API.new(token: 'YOUR_TOKEN')
res = api.get('https://www.g2.com/products/zoom/reviews', scraper: 'g2-product-reviews')
data = JSON.parse(res.body)Example input URL
The URL passed in the url parameter (URL-decoded for readability):
https://www.g2.com/products/zoom/reviewsResponse shape
JSON response body. Field types may be null when the source page omits the value.
Product name.
Product logo.
Average rating.
Review count.
Counts by star (5_star, 4_star, etc).
Individual reviews.
Review title.
Star rating.
Review body.
Pros section.
Cons section.
Reviewer name.
Job title.
Company size.
Review date.
Sample response
{
"product_name": "Zoom",
"overall_rating": 4.5,
"total_reviews": 52840,
"reviews": [
{
"title": "Reliable for daily standups",
"rating": 4.5,
"reviewer_role": "Engineering Manager",
"reviewer_company_size": "51-200 employees"
}
]
}
