G2 · Authentication Profile

G2 Authentication

Authentication

G2 secures its APIs with http, oauth2, and openIdConnect across 3 declared security schemes, as derived from its OpenAPI definitions. OAuth 2.0 is offered via the authorizationCode flow(s).

B2BSoftware DiscoverySoftware ReviewsBuyer IntentMarket IntelligenceProduct CatalogCompetitive IntelligenceReviewsData SolutionsMCP
Methods: http, oauth2, openIdConnect Schemes: 3 OAuth flows: authorizationCode API key in:

Security Schemes

AccountAPIToken http
scheme: bearer
G2OAuth oauth2
· flows: authorizationCode
OpenID Connect openIdConnect

Source

Authentication Profile

Raw ↑
generated: '2026-08-29'
method: searched
source: >-
  openapi/g2-api-v2-openapi.yaml, openapi/g2-data-solutions-openapi.yaml,
  well-known/g2-openid-configuration.json,
  https://documentation.g2.com/docs/developer-portal
docs: https://documentation.g2.com/docs/developer-portal
provider: G2
providerId: g2
summary:
  types: [http, oauth2, openIdConnect]
  oauth2_flows: [authorizationCode]
  default_posture: >-
    Every operation in both specs is protected. Operations declare AccountAPIToken and G2OAuth
    together, so a caller may present either a Developer Portal account token or an OAuth
    bearer token.
schemes:
  - name: AccountAPIToken
    type: http
    scheme: bearer
    header: 'Authorization: Bearer <token>'
    issued_at: https://my.g2.com/developers
    resource_owner: user | organization
    expiry: One year after creation; regenerate to continue access.
    permissions: >-
      Per-endpoint Access selection made at token creation. Endpoints left unselected are not
      accessible with that token, which is why a 403 here is frequently a token-configuration
      problem rather than a plan problem.
    revocation: Managed in the Developer Portal Access Tokens panel.
    sources: [openapi/g2-api-v2-openapi.yaml, openapi/g2-data-solutions-openapi.yaml]
  - name: G2OAuth
    type: oauth2
    flows:
      - flow: authorizationCode
        authorizationUrl: https://www.g2.com/oauth/authorize
        tokenUrl: https://www.g2.com/oauth/token
        revocationUrl: https://www.g2.com/oauth/revoke
        introspectionUrl: https://www.g2.com/oauth/introspect
        userinfoUrl: https://www.g2.com/oauth/userinfo
        jwksUri: https://www.g2.com/oauth/discovery/keys
        pkce: S256
        refresh_token: supported
        scopes: see scopes/g2-scopes.yml
    client_registration:
      dynamic: false
      manual: https://my.g2.com/developers
      confidential_clients: supported
      redirect_uri_matching: exact
      note: >-
        Dynamic Client Registration (RFC 7591) is explicitly unsupported; clients must be
        pre-registered. The authorization callback returns `code` WITHOUT `state`, which breaks
        MCP SDK examples that require it.
    sources: [openapi/g2-api-v2-openapi.yaml, openapi/g2-data-solutions-openapi.yaml]
  - name: OpenID Connect
    type: openIdConnect
    discovery: https://www.g2.com/.well-known/openid-configuration
    issuer: https://g2.com
    id_token_alg: RS256
    subject_types: [pairwise]
    grant_types: [authorization_code, implicit_oidc, refresh_token]
    token_endpoint_auth: [client_secret_basic, client_secret_post]
    file: well-known/g2-openid-configuration.json
    note: >-
      Declared as an OIDC provider through discovery rather than as an openIdConnect
      securityScheme in the OpenAPI; the OpenAPI models the same authorization server as
      oauth2 + the `openid`/`profile` scopes.
mcp_authentication:
  endpoint: https://mcp.g2.com/mcp
  type: oauth2
  flow: authorization_code_pkce
  token_validation: >-
    The MCP server validates access tokens against G2's introspection endpoint using its own
    server-side credentials. Cross-application token introspection may need to be enabled on
    the caller's OAuth app, otherwise a valid OAuth flow still yields 401 from the MCP server.
  see_also: mcp/g2-mcp.yml
failure_modes:
  - status: 401
    title: Bad Credentials
    causes: [missing token, malformed token, expired token (1-year account-token life), revoked token]
  - status: 403
    title: 'Missing <scope> scope'
    causes: [OAuth app permission not enabled, scope not requested at authorization time]
  - status: 403
    title: Your current plan does not provide access to this resource
    causes: [subscription entitlement, not authorization]
    note: Not retryable. See errors/g2-problem-types.yml.
maintainers:
  - FN: Kin Lane
    email: kin@apievangelist.com

Work with this as data

Every security artifact here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for security posture

4 MCP tools reach this
  • find_securityBrowse and filter every security artifact in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This security artifact
curl "https://apis.io/api/v1/security/g2-authentication"
All security posture
curl "https://apis.io/api/v1/security?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.