G2 Developer Portal

Next

G2 Developer Portal provides secure, self-serve access to API tokens, test environments, and documentation, enabling you to build and optimize with G2’s API.

Interface showing the steps to generate an API token in the G2 Developer Portal

Getting started

To begin using the Developer Portal, follow these steps to create an account and set up your organization:

  1. Navigate to G2 Developer Portal, then select Create an account.
  2. Verify your email.
  3. When prompted, enter your Organization Name and choose a unique Organization Slug.

Prompt to enter organization details during G2 Developer Portal account setup

Your organization slug becomes part of your Developer Portal URL (https://my.g2.com/developers/your-slug). If your desired slug is already taken, you will receive an error.

G2 recommends choosing a slug that closely matches your organization name or domain.

Once your organization is set up, use your organization-specific Developer Portal URL to log in at any time.

OAuth apps

The OAuth Apps tab enables you to register apps that connect to G2 and authenticate on behalf of users or organizations using a secure authorization process.

The OAuth apps tab in G2's developer portal.

When to use an OAuth app

Register an OAuth app if your integration needs secure, user-authorized access to G2 data.

Common reasons for registering an OAuth app include:

  • Building a third-party or partner integration
  • Creating internal tools that require scoped API access tied to user consent
  • Managing authorization flows that require refresh tokens and long-lived access

Registering an OAuth app

Select New Auth App to access the new oauth app panel

To register an OAuth app:

  1. Navigate to the OAuth Apps tab, then select New OAuth App.

  2. In the New OAuth App panel, enter a Name, Privacy Policy URL, Terms of Service URL, and Redirect URL for your app. Optionally, upload an image.

Your Redirect URL must exactly match the one used in your app’s OAuth flow. Minor differences will cause authorization errors.

Privacy Policy and Terms of Service URLs must be valid public links. Placeholder or broken links may prevent your app from being approved.

  1. Select the Confidential checkbox if your app can securely store client secrets (such as a server-side application). Leave it unchecked for public clients like mobile or browser-based apps.

  2. In the Permissions panel, select the Read checkbox next to each endpoint your app should have access to. Endpoints without a selection will not be accessible using this app’s credentials.

Each permission controls which data the OAuth app can access through the G2 API. Review the API reference documentation for details about each endpoint.

  1. Select Save.

Registered apps appear in the OAuth Apps panel. Select Details to access the Client ID and Secret.

dev-portal-oauth-apps-details.png

Once your app is registered, use your Client ID and Secret in your app to initiate the OAuth flow and request access tokens based on the scopes selected.

For security, keep your client secret private. Never expose it in public repositories or frontend code.

API Tokens

The API Tokens tab enables you to generate new tokens and manage the endpoint permissions associated with each token. API tokens are used to authenticate requests for G2 content.

How to generate an API token using G2 Developer Portal

For a full list of available endpoints, refer to G2's partner API reference documentation.

To create a new API token:

  1. Navigate to the API Tokens tab, then select Generate Token.
  2. Enter a Name and optionally enter a Description for the API token.
  3. In the Permissions panel, use the Access dropdown for each endpoint to select the access level. Endpoints without a selection won’t be accessible with the token.
  4. Select Generate Token. G2 adds your token to the API Tokens panel.
  5. Select the Eye to reveal the token.

Eye icon highlighted to reveal API token in G2 Developer Portal

API tokens expire one year after creation and must be regenerated for continued access.

Select Details to view the permissions assigned to the token.

GIF showing how to select Details to view the permissions assigned to the token

To use your token with G2's syndication APIs, refer to the Get started with G2 review syndication and Get started with G2 taxonomy syndication documentation.

Testing your API token

After generating an API token, you can test it using G2's API reference documentation. This interactive documentation enables you to authenticate with your token and make API calls directly in the browser.

GIF showing how to copy an API token and open Swagger from Developer Resources in the G2 Developer Portal

To test your token:

  1. In the API Tokens panel, select the Eye to reveal the token and then copy it.
  2. Navigate to the Developer Resources tab, then select Visit Documentation.
  3. Select Authorize, then paste your API token in the Value field and select Authorize.

GIF showing how to select Authorize and paste the API token into the Value field in Swagger

  1. Select the endpoint, then select Try it out.

Try it out button highlighted in Swagger UI

  1. Enter any required or optional parameters, then select Execute.

Sample response


{
  "data": [
    {
      "id": "aaaaaaaa-bbbb-4ccc-8ddd-000000000028",
      "type": "products",
      "attributes": {
        "detail_description": "Description",
        "domain": "example.com",
        "g2_url": "http://www.lvh.me:63479/products/product-one/reviews",
        "image_url": null,
        "name": "Product One",
        "public_detail_url": "https://www.example.com",
        "review_count": 0,
        "slug": "product-one",
        "star_rating": 2.5,
        "write_review_url": "http://www.lvh.me:63479/products/product-one/take_survey"
      },
      "relationships": {
        "categories": {
          "data": [
            {
              "id": "aaaaaaaa-bbbb-4ccc-8ddd-000000000025",
              "type": "product_categories"
            }
          ]
        },
        "discussions": {
          "data": [
            {
              "id": "aaaaaaaa-bbbb-4ccc-8ddd-000000000011",
              "type": "discussions"
            }
          ]
        },
        "vendor": {
          "data": {
            "id": "aaaaaaaa-bbbb-4ccc-8ddd-000000000021",
            "type": "vendors"
          }
        }
      }
    }
  ],
  "included": [
    {
      "id": "aaaaaaaa-bbbb-4ccc-8ddd-000000000025",
      "type": "product_categories",
      "attributes": {
        "name": "test"
      }
    },
    {
      "id": "aaaaaaaa-bbbb-4ccc-8ddd-000000000011",
      "type": "discussions",
      "attributes": {
        "attribution": {
          "text": "Verified by G2",
          "url": "http://www.lvh.me:63479/products/product-one/reviews",
          "logo": "http://www.lvh.me:63479/assets/g2-logo-rorange.svg"
        },
        "comments_count": 0,
        "comments_present": false,
        "content": "Some discussion stuff...",
        "created_at": "2022-01-01T00:00:00.000-06:00",
        "is_public": true,
        "official_response_present": false,
        "product_id": "aaaaaaaa-bbbb-4ccc-8ddd-000000000028",
        "product_name": "Product One",
        "report_url": "http://www.lvh.me:63479/discussions/a-discussion/concerns/new",
        "seeded": false,
        "slug": "a-discussion",
        "title": "A Discussion",
        "type": "product_question",
        "url": "http://www.lvh.me:63479/discussions/a-discussion",
        "vendor_question": false,
        "verified_current_user": true,
        "votes_down": 0,
        "votes_up": 1,
        "votes_total": 1
      },
      "relationships": {
        "user": {
          "data": {
            "id": "aaaaaaaa-bbbb-4ccc-8ddd-000000000008",
            "type": "users"
          }
        },
        "comments": {
          "data": []
        }
      }
    },
    {
      "id": "aaaaaaaa-bbbb-4ccc-8ddd-000000000021",
      "type": "vendors",