- 31 Jan 2025
- 7 Minutes to read
-
DarkLight
Get started with G2 taxonomy syndication
- Updated on 31 Jan 2025
- 7 Minutes to read
-
DarkLight
This documentation is intended for G2 syndication customers and provides an overview of G2’s Taxonomy.
Before getting started
You will need to generate an API token to authenticate requests for G2 syndicated content. To create an API token, go to my.G2 then navigate to Integrations > API Tokens & Apps and select Create New Token.
For a full list of endpoints available to G2 partners, refer to G2's partner API reference documentation.
Overview
Accessing G2 Taxonomy data requires the following high-level steps:
- Get Categories: Use the
categories
endpoint to retrieve G2’s product categories, allowing you to group products by their type or function. - Retrieve product details: Use the
products
endpoint to get a list of G2 listed products and their details. - Retrieve vendor data: Use the
vendors
endpoint to obtain vendor-specific information, including their associated products.
Understanding data relationships
The Relationships
field in the API response enables you to navigate between related categories, products, and vendors by providing links to associated data.
The following are key relationships and their corresponding links:
Vendor relationships
The Vendor
response includes a products relationship that links to all products belonging to that vendor.
Sample response:
"relationships": {
"products": {
"links": {
"self": "https://data.g2.com/api/v1/vendors/{vendor_id}/relationships/products",
"related": "https://data.g2.com/api/v1/vendors/{vendor_id}/products"
}
}
}
Category relationships
Each product belongs to one or more categories. The Categories
relationship links to all categories associated with the product, while the main_category
relationship specifies the primary category.
Sample response:
"relationships": {
"categories": {
"links": {
"related": "https://data.g2.com/api/v1/products/{product_id}/categories"
}
},
"main_category": {
"links": {
"related": "https://data.g2.com/api/v1/products/{product_id}/main-category"
}
}
}
Product relationships
Product responses include several key relationships that allow you to explore additional details about each product.
These include:
categories
: Links to the categories the product belongs to.survey_responses
: Links to survey responses related to the product.competitors
: Links to other products that compete with the product.main_category
: A link to the primary category for the product.vendor
: Links to the vendor associated with the product.product_rating
: A link to product ratings.product_features
: Links to features associated with the product.
By understanding these relationships, you can effectively build a dynamic marketplace that leverages G2's taxonomy to enhance user experience and product discoverability.
Categories
This endpoint enables you to retrieve G2 product categories.
Once you have the categories available, map products to these categories using the Products endpoint.
Endpoint
GET https://data.g2.com/api/v1/categories
Query parameters
Parameter | Data Type | Description |
---|---|---|
slug |
string | The URL slug for the G2 category. |
name |
string | The name of the G2 category. |
page[size] |
integer | The number of responses you want to return in your results (min: 1, max: 100). Defaults to 25 if unspecified. |
page[number] |
integer | The page number you want to return. Defaults to 1 if unspecified. |
filter[updated_at_gt] |
string (ISO 8601) | The minimum date and time when a category was last updated, in ISO 8601 format. |
filter[updated_at_lt] |
string (ISO 8601) | The maximum date and time when a category was last updated, in ISO 8601 format. |
Sample request
curl --request GET 'https://data.g2.com/api/v1/categories?page[size]=1&id=CATEGORY_ID'
Response fields
The data
object contains an array of category objects. Each category contains the following information.
Field | Data Type | Description |
---|---|---|
id |
string | The unique identifier for the category. |
name |
string | The name of the category. |
slug |
string | The short name for the category. |
description |
string | The description of the category. |
children |
string | Categories nested directly under this category. |
ancestors |
string | All parent categories leading up to this category. |
descendants |
string | All subcategories nested under this category. |
parent |
string | Direct parent category for this category. |
updated_at |
string (ISO 8601) | The last time the category was updated. |
Sample response
{
"data": [
{
"id": "0005815e-6acb-4608-a657-ff2ffed4c9a6",
"type": "categories",
"links": {
"self": "https://data.g2.com/api/v1/categories/0005815e-6acb-4608-a657-ff2ffed4c9a6"
},
"attributes": {
"name": "Blockchain Platforms",
"slug": "blockchain-platforms",
"description": "Industry Blockchain technology can be applied to a wide range of industries and applications, but not all of them. Common use cases include financial, logistics, real estate, health care, and retail sectors. Industries relying heavily on payment processing and financial transactions have the most common uses for blockchain technology. The public ledger helps streamline processes, increase documentation, and reduce fraud. Logistics companies can benefit from increased documentation of costs, labor, fleets, and shipments. Health care providers and other companies holding large amounts of sensitive information can improve data security using blockchain technology. Other industries can utilize blockchain technology as well, but consider finding examples before committing. ",
"updated_at": "2025-01-30T09:23:28.961-06:00"
},
"relationships": {
"products": {
"links": {
"self": "https://data.g2.com/api/v1/categories/0005815e-6acb-4608-a657-ff2ffed4c9a6/relationships/products",
"related": "https://data.g2.com/api/v1/categories/0005815e-6acb-4608-a657-ff2ffed4c9a6/products"
}
},
"children": {
"links": {
"self": "https://data.g2.com/api/v1/categories/0005815e-6acb-4608-a657-ff2ffed4c9a6/relationships/children",
"related": "https://data.g2.com/api/v1/categories/0005815e-6acb-4608-a657-ff2ffed4c9a6/children"
}
},
"ancestors": {
"links": {
"self": "https://data.g2.com/api/v1/categories/0005815e-6acb-4608-a657-ff2ffed4c9a6/relationships/ancestors",
"related": "https://data.g2.com/api/v1/categories/0005815e-6acb-4608-a657-ff2ffed4c9a6/ancestors"
}
},
"descendants": {
"links": {
"self": "https://data.g2.com/api/v1/categories/0005815e-6acb-4608-a657-ff2ffed4c9a6/relationships/descendants",
"related": "https://data.g2.com/api/v1/categories/0005815e-6acb-4608-a657-ff2ffed4c9a6/descendants"
}
},
"parent": {
"links": {
"self": "https://data.g2.com/api/v1/categories/0005815e-6acb-4608-a657-ff2ffed4c9a6/relationships/parent",
"related": "https://data.g2.com/api/v1/categories/0005815e-6acb-4608-a657-ff2ffed4c9a6/parent"
}
}
}
}
],
"meta": {
"record_count": 2179,
"page_count": 2179
},
"links": {
"first": "https://data.g2.com/api/v1/categories?page%5Bnumber%5D=1&page%5Bsize%5D=1",
"next": "https://data.g2.com/api/v1/categories?page%5Bnumber%5D=2&page%5Bsize%5D=1",
"last": "https://data.g2.com/api/v1/categories?page%5Bnumber%5D=2179&page%5Bsize%5D=1"
}
}
Products
This endpoint enables you to retrieve G2-listed products and product information like names, descriptions, and features. Products can be listed under each vendor or category.
To get detailed information about a vendor, you can use the Vendors endpoint, leveraging the vendor relationship link found in the Relationships section of the product data.
Endpoint
GET https://data.g2.com/api/v1/products
Query parameters
Parameter | Data Type | Description |
---|---|---|
filter[name] |
string | Filter products by name. |
filter[domain] |
string | Filter products by domain name. |
filter[slug] |
string | Filter products by unique URL slug for product. |
page[size] |
integer | The number of responses you want to return in your results (min: 1, max: 100). Defaults to 25 if unspecified. |
page[number] |
integer | The page number you want to return. Defaults to 1 if unspecified. |
Sample request
curl --request GET 'https://data.g2.com/api/v1/products?filter[name]=5&page[size]=50&page[number]=1'
Response fields
The data
object contains an array of product objects. Each product contains the following information.
Field | Data Type | Description |
---|---|---|
id |
string | The unique identifier for the product. |
type |
string | Indicates whether the product is software, hardware, or service. |
product_type |
string | The type of product. |
name |
string | The name of the product. |
short_name |
string | The short name of the product. |
domain |
string | The domain associated with the product. |
slug |
string | The URL slug for the G2 product. |
description |
string | A short description of the product. |
detail_description |
string | The vendor-provided description of the product. |
image_url |
string | The URL of the product image. |
product_url |
string | The URL for the product website. |
review_count |
integer | The number of approved reviews for the product. |
star_rating |
float | The star rating associated with the product, ranging from 0 to 5. |
avg_rating |
string | The average rating of the product. |
public_detail_url |
string | The URL to the public product details page. |
updated_at |
string (ISO 8601) | The last time the product was updated. |
Sample response
{
"data": [
{
"id": "6a9eeb5a-015c-4ceb-83d4-92f813d16499",
"type": "products",
"links": {
"self": "https://data.g2.com/api/v1/products/6a9eeb5a-015c-4ceb-83d4-92f813d16499"
},
"attributes": {
"product_type": "Software",
"name": "test product 20",
"short_name": "test product 20",
"domain": "example.com",
"slug": "test-product-20",
"description": "Description of product",
"detail_description": "Vendor inputted description of product",
"image_url": null,
"product_url": null,
"review_count": 0,
"star_rating": 2.5,
"avg_rating": "5.0",
"public_detail_url": "https://www.g2.com/products/test-product-20/reviews",
"updated_at": "2024-04-26T09:15:12.434-05:00",
"created_at": "2024-04-26T09:15:12.403-05:00"
},
"relationships": {
"categories": {
"links": {
"self": "https://data.g2.com/api/v1/products/6a9eeb5a-015c-4ceb-83d4-92f813d16499/relationships/categories",
"related": "https://data.g2.com/api/v1/products/6a9eeb5a-015c-4ceb-83d4-92f813d16499/categories"
}
},
"survey_responses": {
"links": {
"self": "https://data.g2.com/api/v1/products/6a9eeb5a-015c-4ceb-83d4-92f813d16499/relationships/survey-responses",
"related": "https://data.g2.com/api/v1/products/6a9eeb5a-015c-4ceb-83d4-92f813d16499/survey-responses"
}
},
"competitors": {
"links": {
"self": "https://data.g2.com/api/v1/products/6a9eeb5a-015c-4ceb-83d4-92f813d16499/relationships/competitors",
"related": "https://data.g2.com/api/v1/products/6a9eeb5a-015c-4ceb-83d4-92f813d16499/competitors"
}
},
"main_category": {
"links": {
"self": "https://data.g2.com/api/v1/products/6a9eeb5a-015c-4ceb-83d4-92f813d16499/relationships/main-category",
"related": "https://data.g2.com/api/v1/products/6a9eeb5a-015c-4ceb-83d4-92f813d16499/main-category"
}
},
"vendor": {
"links": {
"self": "https://data.g2.com/api/v1/products/6a9eeb5a-015c-4ceb-83d4-92f813d16499/relationships/vendor",
"related": "https://data.g2.com/api/v1/products/6a9eeb5a-015c-4ceb-83d4-92f813d16499/vendor"
}
},
"product_rating": {
"links": {
"self": "https://data.g2.com/api/v1/products/6a9eeb5a-015c-4ceb-83d4-92f813d16499/relationships/product-rating",
"related": "https://data.g2.com/api/v1/products/6a9eeb5a-015c-4ceb-83d4-92f813d16499/product-rating"
}
},
"product_features": {
"links": {
"self": "https://data.g2.com/api/v1/products/6a9eeb5a-015c-4ceb-83d4-92f813d16499/relationships/product-features",
"related": "https://data.g2.com/api/v1/products/6a9eeb5a-015c-4ceb-83d4-92f813d16499/product-features"
}
}
}
}
],
"meta": {
"record_count": 1,
"page_count": 1
},
"links": {
"first": "https://data.g2.com/api/v1/products?page%5Bnumber%5D=1&page%5Bsize%5D=10",
"last": "https://data.g2.com/api/v1/products?page%5Bnumber%5D=1&page%5Bsize%5D=10"
}
}
Vendors
This endpoint enables you to retrieve vendor information. Vendors can be linked to the products they offer, which can be retrieved from the products endpoint.
Endpoint
GET https://data.g2.com/api/v1/vendors
Query parameters
Parameter | Data Type | Description |
---|---|---|
page[size] |
integer | The number of responses you want to return in your results (min: 1, max: 100). Defaults to 25 if unspecified. |
page[number] |
integer | The page number you want to return. Defaults to 1 if unspecified. |
filter[updated_at_gt] |
string (ISO 8601) | The minimum date and time when a review was last updated, in ISO 8601 format. |
filter[updated_at_lt] |
string (ISO 8601) | The maximum date and time when a review was last updated, in ISO 8601 format. |
Sample request
curl --request GET 'https://data.g2.com/api/v1/vendors?page[size]=50&page[number]=1'
Response fields
The data
object contains an array of vendor objects. Each vendor contains the following information.
Field | Data Type | Description |
---|---|---|
id |
string | The unique identifier for the vendor. |
name |
string | The name of the vendor. |
description |
string | The description of the vendor. |
company_website |
string | The URL for the vendor’s webpage. |
slug |
string | The URL slug for the G2 vendor. |
public_products_count |
integer | The number of products the vendor has listed on G2. |
updated_at |
string (ISO 8601) | The date when the vendor was last updated. |
Sample response
{
"data": [
{
"id": "faec9108-9e81-4d0d-9c25-94a0f51a6628",
"type": "vendors",
"links": {
"self": "https://data.g2.com/api/v1/vendors/faec9108-9e81-4d0d-9c25-94a0f51a6628"
},
"attributes": {
"name": "Test Vendor",
"description": null,
"company_website": null,
"slug": "test-vendor-79cebf4a-8007-4933-845b-b63271935f79",
"public_products_count": 0,
"updated_at": "2024-04-26T09:15:09.147-05:00"
},
"relationships": {
"products": {
"links": {
"self": "https://data.g2.com/api/v1/vendors/faec9108-9e81-4d0d-9c25-94a0f51a6628/relationships/products",
"related": "https://data.g2.com/api/v1/vendors/faec9108-9e81-4d0d-9c25-94a0f51a6628/products"
}
}
}
}
],
"meta": {
"record_count": 1,
"page_count": 1
},
"links": {
"first": "https://data.g2.com/api/v1/vendors?page%5Bnumber%5D=1&page%5Bsize%5D=10",
"last": "https://data.g2.com/api/v1/vendors?page%5Bnumber%5D=1&page%5Bsize%5D=10"
}
}