G2 Search API searches G2 products by text. Each result has the product id, uuid, slug, name, vendor, rating from 0 to 5, review count, description, categories, image and G2 URL. Pass the slug to the Reviews API.
Sort with order: relevance (default), popular, top_shelf (highest average rating) or alphabetical. Note that top_shelf favours products with one or two reviews and a perfect rating.
Page through the results with page (1 to 400). Page N always holds the results of page N. A page past the last page returns an empty list or a 422 error, never page 1. The pagination block has the page, the last page, the total number of results and whether a next page exists.
Filter with star_rating (buckets 1 to 5) and category_id (facet ids from available_filters.categories). Filters are always honoured: rows outside a requested star bucket are removed, so a page can hold fewer than 20 results. A product without reviews has rating: null.
Each page is one lookup and one credit. Failed requests are never billed.
Run this endpoint
Endpoint
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.
4 optional filters available.
string
Required
Search text, 2 to 100 characters. Example: crm.
coffee shops
integer
Optional
One-based page number, 1 to 400 (default 1). Example: 2.
1
string
Optional
Sort order: relevance (default), popular, top_shelf or alphabetical.
example
array
Optional
Star buckets 1 to 5 (5 = 4.5 stars and up). Repeat the parameter or send a comma list. Example: 5.
["example"]
array
Optional
Category facet id from available_filters.categories. Repeat the parameter or send a comma list. Example: 83.
1234567890
Response Schema
Example response fields are illustrative; inspect the JSON before integrating.
Example response fields
Scan these fields before integrating.
data
meta
success
{
"data": {
"count": 1,
"order": "relevance",
"query": "crm",
"results": [
{
"id": 576,
"url": "https://www.g2.com/products/zoho-crm/reviews",
"name": "Zoho CRM",
"slug": "zoho-crm",
"uuid": "00000000-0000-0000-0000-000000000000",
"rating": 4.1,
"vendor": "Zoho",
"position": 2,
"image_url": "https://images.g2crowd.com/uploads/product/image/example/zoho-crm.png",
"vendor_id": 1,
"categories": [
{
"id": 179,
"name": "CRM",
"slug": "crm"
}
],
"description": "Zoho CRM is a customer relationship management platform.",
"vendor_slug": "zoho",
"review_count": 2955
}
],
"pagination": {
"page": 1,
"has_next": true,
"last_page": 400,
"total_results": 21978
},
"available_filters": {
"categories": [
{
"id": 83,
"name": "Information Technology",
"count": 172017
}
]
}
},
"meta": {
"billable": true,
"endpoint_family": "search"
},
"success": true
}
Errors
Handle these documented responses before retrying or showing customer-facing failures.
Invalid Page
The result page does not exist. Use a lower page number. This response is not billable.
{
"meta": {
"billable": false,
"retryable": false,
"endpoint_family": "search"
},
"error": {
"code": "INVALID_PAGE",
"message": "This result page does not exist. Use a lower page number."
},
"success": false
}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"
}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": "search"
},
"error": {
"code": "UPSTREAM_UNAVAILABLE",
"message": "G2 could not be reached. Please retry shortly."
},
"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.