Business Software and Services Reviews | G2 Performance Analytics API

The Performance Analytics API from Business Software and Services Reviews | G2 — 5 operation(s) for performance analytics.

Operations 5

GET /api/v2/products/{product_id}/performance_analytics/integrations/{integration_type}/data_quality Show CRM data quality #
GET /api/v2/products/{product_id}/performance_analytics/integrations/{integration_type}/roi_summary Show ROI summary #
GET /api/v2/products/{product_id}/performance_analytics/integrations/{integration_type}/roi_trend Show ROI trend #
GET /api/v2/products/{product_id}/performance_analytics/integrations/{integration_type} Show CRM integration health #
GET /api/v2/products/{product_id}/performance_analytics Show Performance Analytics activation status #

Documentation

Specifications

Other Resources

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/business-software-and-services-reviews-g2-performance-analytics-api"
All apis
curl "https://apis.io/api/v1/apis?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.

OpenAPI Specification

business-software-and-services-reviews-g2-performance-analytics-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: G2 Performance Analytics API
  version: v2
  description: '## Rate Limiting


    Cloudflare limits requests to the G2 API to **100 requests per second** per source IP address.

    '
servers:
- url: https://{defaultHost}
  variables:
    defaultHost:
      default: data.g2.com
tags:
- name: Performance Analytics
paths:
  /api/v2/products/{product_id}/performance_analytics/integrations/{integration_type}/data_quality:
    get:
      summary: Show CRM data quality
      operationId: getPerformanceAnalyticsDataQuality
      tags:
      - Performance Analytics
      description: '**Requires `performance_analytics.read` scope.**


        Report data-quality counts (missing currency, hidden outliers, duplicates) for one CRM integration.

        '
      security:
      - G2OAuth:
        - performance_analytics.read
      parameters:
      - name: product_id
        in: path
        description: The UUID or slug of the product
        required: true
        schema:
          type: string
      - name: integration_type
        in: path
        schema:
          type: string
          enum:
          - hubspot
          - salesforce
        description: The CRM provider
        required: true
      responses:
        '200':
          description: Data quality
          content:
            application/vnd.api+json:
              example:
                data:
                  id: f8769005-4794-4db3-8592-000000000001-hubspot
                  type: performance_analytics_integration_data_quality
                  attributes:
                    provider: hubspot
                    active_authenticated: false
                    missing_currency_count: 2
                    outliers_hidden_count: 1
                    duplicate_deals_count: 1
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                      type:
                        type: string
                      attributes:
                        type: object
                        properties:
                          provider:
                            type: string
                            description: The CRM provider this data-quality block describes
                            example: hubspot
                          active_authenticated:
                            type: boolean
                            description: Whether the integration is currently live and authenticated. When false, the counts describe stale synced rows from a disconnected integration
                            example: true
                          missing_currency_count:
                            type: integer
                            description: Synced deal rows with no currency on the CRM payload, so their amount could not be reliably converted to USD
                            example: 12
                          outliers_hidden_count:
                            type: integer
                            description: Deal rows auto-archived as outliers (excluded from ROI math) that the vendor has not confirmed or restored
                            example: 3
                          duplicate_deals_count:
                            type: integer
                            description: Active synced rows beyond distinct CRM deal ids — the surplus from the same deal syncing more than once. > 0 means the ROI totals may be inflated
                            example: 11217
                      relationships:
                        type: object
                  included:
                    $ref: '#/components/schemas/included'
        '400':
          description: When the provider is unsupported
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '400'
                  title: 'integration_type: is not a supported provider'
              schema:
                $ref: '#/components/schemas/Errors'
        '401':
          description: Unauthenticated
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '401'
                  title: Bad Credentials
              schema:
                $ref: '#/components/schemas/Errors'
        '403':
          description: Missing performance_analytics.read scope
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '403'
                  title: You do not have access to that resource
              schema:
                $ref: '#/components/schemas/Errors'
        '404':
          description: With invalid product id
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '404'
                  title: Not Found
              schema:
                $ref: '#/components/schemas/Errors'
  /api/v2/products/{product_id}/performance_analytics/integrations/{integration_type}/roi_summary:
    get:
      summary: Show ROI summary
      operationId: getPerformanceAnalyticsRoiSummary
      tags:
      - Performance Analytics
      description: '**Requires `performance_analytics.read` scope.**


        Summarize G2-influenced ROI tiles for one CRM integration over a date window.

        '
      security:
      - G2OAuth:
        - performance_analytics.read
      parameters:
      - name: product_id
        in: path
        description: The UUID or slug of the product
        required: true
        schema:
          type: string
      - name: integration_type
        in: path
        schema:
          type: string
          enum:
          - hubspot
          - salesforce
        description: The CRM provider
        required: true
      - name: date_from
        in: query
        required: false
        schema:
          type: string
          format: date
        description: Window start (ISO8601 date); defaults to a trailing 12 months
      - name: date_to
        in: query
        required: false
        schema:
          type: string
          format: date
        description: Window end (ISO8601 date); defaults to today
      responses:
        '200':
          description: ROI summary
          content:
            application/vnd.api+json:
              example:
                data:
                  id: 4e5f1e9c-4597-4e3b-8a72-000000000001-hubspot
                  type: performance_analytics_roi_summary
                  attributes:
                    provider: hubspot
                    status: connected
                    date_from: '2021-01-01'
                    date_to: '2022-01-01'
                    currency: USD
                    base:
                      g2_influenced_pipeline: 400000.0
                      g2_influenced_closed_won: 100000.0
                      non_influenced_pipeline: 100000.0
                      deals_total_count: 20
                      deals_influenced_count: 4
                      deals_influenced_closed_won_count: 3
                      deals_non_influenced_count: 16
                      avg_deal_size: 100000.0
                      influenced_close_rate: 0.25
                      influenced_sales_cycle_length: 94
                      attribution_rate: 80.0
                      uplift_pct: 100.0
                    high_intent:
                      status: not_available
                      high_intent_pipeline: null
                      high_intent_closed_won: null
                      deals_high_intent_count: null
                      deals_high_intent_closed_won_count: null
                      non_influenced_closed_won: null
                    created:
                      status: available
                      g2_created_pipeline: 55000.0
                      deals_created_count: 2
                      deals_created_closed_won_count: 1
                    attribution_window:
                      influence_analyzer_days: 180
                      deal_calculation_days: 90
                    last_synced_at: null
                    connect_url: null
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                      type:
                        type: string
                      attributes:
                        type: object
                        properties:
                          provider:
                            type: string
                            description: The CRM provider this ROI summary describes
                            example: hubspot
                          status:
                            type: string
                            description: connected (real data) or not_connected (provider not active+authenticated; the metric groups are null — never sample data)
                            example: connected
                          date_from:
                            type: string
                            description: Resolved window start (ISO8601 date)
                            example: '2025-07-08'
                            format: date
                          date_to:
                            type: string
                            description: Resolved window end (ISO8601 date)
                            example: '2026-07-08'
                            format: date
                          currency:
                            type: string
                            description: Currency of all money tiles (pinned; the data layer stores amount_in_usd)
                            example: USD
                          base:
                            type:
                            - object
                            - 'null'
                            description: 'Always-present tiles: influenced/non-influenced pipeline & counts plus derived ratios. Null only when status is not_connected.'
                            example:
                              g2_influenced_pipeline: 405000.0
                              g2_influenced_closed_won: 98000.0
                              non_influenced_pipeline: 500500.0
                              deals_total_count: 10739
                              deals_influenced_count: 42
                              deals_influenced_closed_won_count: 346
                              deals_non_influenced_count: 7982
                              avg_deal_size: 9642.85
                              influenced_close_rate: 0.17
                              influenced_sales_cycle_length: 94
                              attribution_rate: 44.73
                              uplift_pct: 34.85
                            properties: {}
                          high_intent:
                            type:
                            - object
                            - 'null'
                            description: 'Directly-influenced (High-Intent) tiles with a status: available on the preview/Salesforce path, not_available where the read path omits them (never a Buyer Intent upsell). Tiles are null when not available.'
                            example:
                              status: available
                              high_intent_pipeline: 120000.0
                              high_intent_closed_won: 185000.0
                              deals_high_intent_count: 2524
                              deals_high_intent_closed_won_count: 313
                              non_influenced_closed_won: 210000.0
                            properties: {}
                          created:
                            type:
                            - object
                            - 'null'
                            description: 'G2-created/sourced tiles with a status: available (Buyer Intent + HubSpot), requires_upgrade (non-BI vendor — carries an {message, upgrade_url} prompt), or not_available (Salesforce has no sourced concept). Tiles null unless available.'
                            example:
                              status: requires_upgrade
                              g2_created_pipeline: null
                              deals_created_count: null
                              deals_created_closed_won_count: null
                              upgrade:
                                message: Upgrade to G2 Buyer Intent…
                                upgrade_url: https://…
                            properties: {}
                          attribution_window:
                            type:
                            - object
                            - 'null'
                            description: 'Per-engine attribution windows in days (HubSpot runs two engines: 180-day InfluenceAnalyzer and 90-day DealCalculation; Salesforce: 180 only)'
                            example:
                              influence_analyzer_days: 180
                              deal_calculation_days: 90
                            properties: {}
                          last_synced_at:
                            type:
                            - string
                            - 'null'
                            description: ISO8601 timestamp of the last successful sync, or null if never synced
                            example: '2026-07-05T01:57:47-05:00'
                            format: date-time
                          connect_url:
                            type:
                            - string
                            - 'null'
                            description: Link into the connection flow (present when status is not_connected)
                            example: https://my.g2.com/example-product/integrations
                      relationships:
                        type: object
                  included:
                    $ref: '#/components/schemas/included'
        '400':
          description: When date_from is after date_to
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '400'
                  title: 'date_from: must be before or equal to date_to'
              schema:
                $ref: '#/components/schemas/Errors'
        '401':
          description: Unauthenticated
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '401'
                  title: Bad Credentials
              schema:
                $ref: '#/components/schemas/Errors'
        '403':
          description: Missing performance_analytics.read scope
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '403'
                  title: You do not have access to that resource
              schema:
                $ref: '#/components/schemas/Errors'
        '404':
          description: With invalid product id
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '404'
                  title: Not Found
              schema:
                $ref: '#/components/schemas/Errors'
  /api/v2/products/{product_id}/performance_analytics/integrations/{integration_type}/roi_trend:
    get:
      summary: Show ROI trend
      operationId: getPerformanceAnalyticsRoiTrend
      tags:
      - Performance Analytics
      description: '**Requires `performance_analytics.read` scope.**


        Return a time series of one ROI metric bucketed by month or quarter.

        '
      security:
      - G2OAuth:
        - performance_analytics.read
      parameters:
      - name: product_id
        in: path
        description: The UUID or slug of the product
        required: true
        schema:
          type: string
      - name: integration_type
        in: path
        schema:
          type: string
          enum:
          - hubspot
          - salesforce
        description: The CRM provider
        required: true
      - name: metric
        in: query
        required: true
        schema:
          type: string
          enum:
          - g2_influenced_pipeline
          - high_intent_pipeline
          - g2_influenced_closed_won
          - deals_influenced_count
          - non_influenced_pipeline
        description: The trended ROI tile (raw tiles only; derived ratios are summary-only)
      - name: interval
        in: query
        required: false
        schema:
          type: string
          enum:
          - month
          - quarter
        description: Bucket size (defaults to month)
      - name: lookback
        in: query
        required: false
        schema:
          type: integer
        description: Number of buckets to return (defaults to 12, capped at 36)
      - name: date_to
        in: query
        required: false
        schema:
          type: string
          format: date
        description: Anchor end date for the series (defaults to today)
      responses:
        '200':
          description: ROI trend
          content:
            application/vnd.api+json:
              example:
                data:
                  id: c4101714-8eb1-4066-893e-000000000001-hubspot
                  type: performance_analytics_roi_trend
                  attributes:
                    provider: hubspot
                    status: connected
                    metric: g2_influenced_pipeline
                    interval: month
                    currency: USD
                    series:
                    - period: 2021-02
                      value: 400000.0
                    - period: 2021-03
                      value: 400000.0
                    - period: 2021-04
                      value: 400000.0
                    - period: 2021-05
                      value: 400000.0
                    - period: 2021-06
                      value: 400000.0
                    - period: 2021-07
                      value: 400000.0
                    - period: 2021-08
                      value: 400000.0
                    - period: 2021-09
                      value: 400000.0
                    - period: 2021-10
                      value: 400000.0
                    - period: 2021-11
                      value: 400000.0
                    - period: 2021-12
                      value: 400000.0
                    - period: 2022-01
                      value: 400000.0
                    attribution_window:
                      influence_analyzer_days: 180
                      deal_calculation_days: 90
                    last_synced_at: null
                    connect_url: null
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                      type:
                        type: string
                      attributes:
                        type: object
                        properties:
                          provider:
                            type: string
                            description: The CRM provider this trend describes
                            example: salesforce
                          status:
                            type: string
                            description: connected (real data) or not_connected (provider not active+authenticated; series is empty — never sample data)
                            example: connected
                          metric:
                            type: string
                            description: The trended tile (raw tiles only; derived ratios are summary-only)
                            example: g2_influenced_pipeline
                          interval:
                            type: string
                            description: 'Bucket size: month or quarter'
                            example: month
                          currency:
                            type: string
                            description: Currency of money metrics (pinned; the data layer stores amount_in_usd)
                            example: USD
                          series:
                            type: array
                            items:
                              type: object
                            description: Oldest-first [{period, value}] buckets; value is null where the metric is unavailable for the read path. Each bucket reconciles to the summary over the same window by construction.
                            example:
                            - period: 2026-06
                              value: 405000.0
                          attribution_window:
                            type:
                            - object
                            - 'null'
                            description: 'Per-engine attribution windows in days (HubSpot: 180 + 90; Salesforce: 180)'
                            example:
                              influence_analyzer_days: 180
                            properties: {}
                          last_synced_at:
                            type:
                            - string
                            - 'null'
                            description: ISO8601 timestamp of the last successful sync, or null if never synced
                            example: '2026-06-28T01:26:01-05:00'
                            format: date-time
                          connect_url:
                            type:
                            - string
                            - 'null'
                            description: Link into the connection flow (present when status is not_connected)
                            example: https://my.g2.com/example-product/integrations
                      relationships:
                        type: object
                  included:
                    $ref: '#/components/schemas/included'
        '400':
          description: When the metric is not trendable
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '400'
                  title: 'metric: must be one of: g2_influenced_pipeline, high_intent_pipeline, g2_influenced_closed_won, deals_influenced_count, non_influenced_pipeline'
              schema:
                $ref: '#/components/schemas/Errors'
        '401':
          description: Unauthenticated
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '401'
                  title: Bad Credentials
              schema:
                $ref: '#/components/schemas/Errors'
        '403':
          description: Missing performance_analytics.read scope
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '403'
                  title: You do not have access to that resource
              schema:
                $ref: '#/components/schemas/Errors'
        '404':
          description: With invalid product id
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '404'
                  title: Not Found
              schema:
                $ref: '#/components/schemas/Errors'
  /api/v2/products/{product_id}/performance_analytics/integrations/{integration_type}:
    get:
      summary: Show CRM integration health
      operationId: getPerformanceAnalyticsIntegrationHealth
      tags:
      - Performance Analytics
      description: '**Requires `performance_analytics.read` scope.**


        Report connection health and synced-deal volume for one CRM integration.

        '
      security:
      - G2OAuth:
        - performance_analytics.read
      parameters:
      - name: product_id
        in: path
        description: The UUID or slug of the product
        required: true
        schema:
          type: string
      - name: integration_type
        in: path
        schema:
          type: string
          enum:
          - hubspot
          - salesforce
        description: The CRM provider
        required: true
      responses:
        '200':
          description: Integration health
          content:
            application/vnd.api+json:
              example:
                data:
                  id: b1150f4f-6611-4a02-8582-000000000001-hubspot
                  type: performance_analytics_integration_health
                  attributes:
                    provider: hubspot
                    active_authenticated: false
                    last_synced_at: '2022-01-01T00:00:00.000-06:00'
                    sync_cadence: weekly
                    deals_synced_count: 2
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                      type:
                        type: string
                      attributes:
                        type: object
                        properties:
                          provider:
                            type: string
                            description: The CRM provider this health block describes
                            example: hubspot
                          active_authenticated:
                            type: boolean
                            description: Whether the integration is live and authenticated (real data flows)
                            example: true
                          last_synced_at:
                            type:
                            - string
                            - 'null'
                            description: ISO8601 timestamp of the last successful sync, or null if never synced
                            example: '2026-07-05T01:57:47-05:00'
                            format: date-time
                          sync_cadence:
                            type: string
                            description: Configured sync frequency
                            example: weekly
                          deals_synced_count:
                            type: integer
                            description: Count of synced deals (deduped by resource_id, archived excluded)
                            example: 128
                      relationships:
                        type: object
                  included:
                    $ref: '#/components/schemas/included'
        '400':
          description: When the provider is unsupported
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '400'
                  title: 'integration_type: is not a supported provider'
              schema:
                $ref: '#/components/schemas/Errors'
        '401':
          description: Unauthenticated
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '401'
                  title: Bad Credentials
              schema:
                $ref: '#/components/schemas/Errors'
        '403':
          description: Missing performance_analytics.read scope
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '403'
                  title: You do not have access to that resource
              schema:
                $ref: '#/components/schemas/Errors'
        '404':
          description: With invalid product id
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '404'
                  title: Not Found
              schema:
                $ref: '#/components/schemas/Errors'
  /api/v2/products/{product_id}/performance_analytics:
    get:
      summary: Show Performance Analytics activation status
      operationId: getPerformanceAnalyticsActivationStatus
      tags:
      - Performance Analytics
      description: '**Requires `performance_analytics.read` scope.**


        Report whether a supported CRM is connected for a PA-licensed product.

        '
      security:
      - G2OAuth:
        - performance_analytics.read
      parameters:
      - name: product_id
        in: path
        description: The UUID or slug of the product
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Activation status
          content:
            application/vnd.api+json:
              example:
                data:
                  id: d797efd1-b921-4831-8686-000000000001
                  type: performance_analytics_activation_status
                  attributes:
                    status: connected
                    connected_providers:
                    - hubspot
                    subscription_tier: null
                    connect_url: http://my.lvh.me:63479/test-product-188/integrations
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                      type:
                        type: string
                      attributes:
                        type: object
                        properties:
                          status:
                            type: string
                            enum:
                            - connected
                            - not_connected
                            description: 'CRM connection state for the (PA-licensed) product: connected / not_connected'
                            example: connected
                          connected_providers:
                            type: array
                            items:
                              type: string
                              x-nullable: false
                            description: Live, supported CRM providers (subset of hubspot, salesforce)
                            example:
                            - hubspot
                          subscription_tier:
                            type:
                            - string
                            - 'null'
                            description: Vendor plan tier, or null for a free/base product
                            example: enterprise
                          connect_url:
                            type:
                            - string
                            - 'null'
                            description: myG2 URL to connect/manage a CRM integration
                            example: https://my.g2.com/acme-crm/integrations
                      relationships:
                        type: object
                  included:
                    $ref: '#/components/schemas/included'
        '401':
          description: Unauthenticated
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '401'
                  title: Bad Credentials
              schema:
                $ref: '#/components/schemas/Errors'
        '403':
          description: Missing performance_analytics.read scope
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '403'
                  title: You do not have access to that resource
              schema:
                $ref: '#/components/schemas/Errors'
        '404':
          description: With invalid product id
          content:
            application/vnd.api+json:
              example:
                errors:
                - status: '404'
                  title: Not Found
              schema:
                $ref: '#/components/schemas/Errors'
components:
  schemas:
    included:
      type: array
      items:
        type: object
        properties:
          id:
            

# --- truncated at 32 KB (33 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/business-software-and-services-reviews-g2/refs/heads/main/openapi/business-software-and-services-reviews-g2-performance-analytics-api-openapi.yml