Skip to content
Scrappa Get API key
G2 API 1 credit/request

G2 Reviews API Documentation

GET https://scrappa.co/api/g2/reviews

G2 Reviews API returns full G2 reviews of one product. Each review has the id, title, URL, publish date, reviewer name, rating from 0 to 5 in half steps (0 is a real rating and stays 0), role (the G2 user role, such as User or Administrator), industry and company size when the reviewer gave them, the answers to the standard questions (like_best, dislike, problems_solved; other questions are kept in answers), badges (validated, current_user, incentivized, ai_translated), source (for example seller_invite), avatar_url (only when the reviewer has a photo, else null) and vendor_response (null when there is none). Answers keep all their paragraphs, separated by a blank line.

Newest reviews. A request with only slug, stars, company_size or coverage returns the 25 newest reviews, newest first. coverage=extended (legacy) merges up to 15 filter combinations into about 375 unique reviews.

Pages. Any of page, sort, role, industry, region or category_id returns the paged list: real G2 page N with 10 reviews. Pages 1 to 10 exist, so one combination of filters and sort gives at most 100 reviews. Slice by filters (stars, company size, region, role, industry) and merge by review id to go deeper. A page the filter set does not have returns 422 INVALID_PAGE. G2 data is never returned under another page number.

In the paged list each review also has job_title (the reviewer's own job title, null when the reviewer hid it), published_at with the full time G2 published the review and updated_at when the reviewer edited it later (else null). G2 does not show the user role on paged cards: role is set only when the request filters on exactly one role, else null. Anonymous reviewers appear as Verified User with their industry in industry. The newest-25 list can show an earlier date for the same review because it uses the submission date. sort=most_recent follows G2's own order, which also moves recently edited reviews up.

The paged response adds pagination (page, last_page, total of matching reviews, per_page, cap, has_next), the star split distribution, facets with the review count per company size, role, category, industry and region (use their id values in the filters), pros, cons with mention counts and the ai_summary. Filters are always honoured: no review outside the requested stars is returned. A filter with no match returns an empty, billed result. An unknown slug returns 404 and is not billed. One request costs one credit.

Star buckets: 5 = 4.5 to 5.0, 4 = 3.5 to 4.0, 3 = 2.5 to 3.0, 2 = 1.5 to 2.0, 1 = 0 to 1.0. The company segment is G2's own class (small_business, mid_market, enterprise), not an exact employee band.

A filtered page with no matching reviews still returns the product name, rating, review count and categories. For that case the call makes up to 2 upstream lookups (upstream_calls shows 2) and costs 1 credit.

G2 Reviews API Documentation 1 credit/request

Endpoint

Request preview
GET
https://scrappa.co/api/g2/reviews
Auth header
x-api-key
Cost
1 credit/request
slug = example
Response preview
200 OK
{
    "data": {
        "count": 1,
        "filters": {
            "stars": [
                5
            ],
            "company_size": [
                "enterprise"
            ]
        },
        "product": {
            "name": "Slack",
            "slug": "slack",
...

Parameters

Start with the required fields, then add optional filters only when your use case needs them.

Runnable path

1 required parameter needed before sending a request.

9 optional filters available.

slug string Required

G2 product slug, the last part of the product URL. Example: slack.

Example value example
stars array Optional

Star buckets 1 to 5 (5 = 4.5 to 5.0 stars). Repeat the parameter or send a comma list. Example: 5.

Example value ["example"]
company_size array Optional

G2 company segment: small_business, mid_market or enterprise. Repeat the parameter or send a comma list. Example: enterprise.

Example value ["example"]
coverage string Optional

latest (default, the 25 newest) or extended (merges filter combinations, up to about 375 unique reviews, newest first).

Example value example
page integer Optional

Page 1 to 10 with 10 reviews each. Returns the paged list. Example: 2.

Example value 1
sort string Optional

most_relevant (default), most_recent, most_helpful, highest_rated or lowest_rated. Returns the paged list.

Example value relevance
role array Optional

Reviewer role id from facets.role. Repeat the parameter or send a comma list. Example: 2.

Example value ["example"]
industry array Optional

Industry id from facets.industry. Repeat the parameter or send a comma list. Example: 333.

Example value ["example"]
region array Optional

north_america, asia, europe, latin_america, anz, middle_east or africa. Repeat the parameter or send a comma list.

Example value US
category_id array Optional

Category id from facets.category. Repeat the parameter or send a comma list. Example: 14.

Example value 1234567890

Response Schema

Example response fields are illustrative; inspect the JSON before integrating.

Example response fields

Scan these fields before integrating.

data meta success
JSON Response
200 OK
{
    "data": {
        "count": 1,
        "filters": {
            "stars": [
                5
            ],
            "company_size": [
                "enterprise"
            ]
        },
        "product": {
            "name": "Slack",
            "slug": "slack",
            "reviews_url": "https://www.g2.com/products/slack/reviews"
        },
        "reviews": [
            {
                "id": "13886619",
                "url": "https://www.g2.com/products/slack/reviews/slack-review-13886619",
                "role": "User",
                "title": "Fast, Easy Communication with Channels and Groups",
                "rating": 5,
                "answers": [],
                "dislike": "Older messages disappear and are hard to find.",
                "segment": "enterprise",
                "industry": "Computer Software",
                "like_best": "Can quickly communicate with colleagues and partners. Can create channel and groups.",
                "published_at": "2026-10-28T02:48:50-05:00",
                "reviewer_name": "Verified User",
                "problems_solved": "Communicating with my colleagues",
                "company_size_text": "1,001-5,000 employees"
            }
        ],
        "coverage": "latest",
        "upstream_calls": 1
    },
    "meta": {
        "billable": true,
        "endpoint_family": "reviews"
    },
    "success": true
}

Errors

Handle these documented responses before retrying or showing customer-facing failures.

404

Not Found

The product slug does not exist on G2. This response is not billable.

{
    "meta": {
        "billable": false,
        "retryable": false,
        "endpoint_family": "reviews"
    },
    "error": {
        "code": "NOT_FOUND",
        "message": "The requested resource was not found."
    },
    "success": false
}
422

Validation Error

A required parameter or a value is invalid. This response is not billable.

{
    "errors": {
        "query": [
            "The query field is required."
        ]
    },
    "message": "The request validation failed"
}
503

Upstream Unavailable

G2 could not be reached or returned data that does not match the request. This response is not billable and is retryable.

{
    "meta": {
        "billable": false,
        "retryable": true,
        "endpoint_family": "reviews"
    },
    "error": {
        "code": "UPSTREAM_UNAVAILABLE",
        "message": "G2 could not be reached. Please retry shortly."
    },
    "success": false
}
422

Invalid Page

The page is above the last page of this filter set. This response is not billable.

{
    "meta": {
        "billable": false,
        "retryable": false,
        "endpoint_family": "reviews"
    },
    "error": {
        "code": "INVALID_PAGE",
        "message": "This result page does not exist. Use a lower page number."
    },
    "success": false
}

Generate Code with AI

Copy a ready-made prompt with all the endpoint details, parameters, and example responses. Paste it into ChatGPT, Claude, or any AI assistant to instantly generate working code.

Try It Live

Test this endpoint in our interactive playground with real data.