Birdeye Report API

Various reporting data points across Birdeye modules like reviews, insights and competitors etc for all your data visualisation

Operations 17

GET /v1/reports/smb Get Dashboard data #
GET /v1/reports/business/analytics/email Get Review conversion report #
POST /v1/reports/review/analytic/time Review and rating over time Report #
POST /v1/reports/rating/location Reviews & Rating By Location Report #
POST /v1/review/report/count-by-rating/{BusinessId} Review Count & Rating #
POST /v1/review/report/count-by-rating/employee/{BusinessId} Review Count & Rating By Employee #
POST /v1/keywords/opmetric/location Insights Category Report by location report #
POST /v2/competitive/ranking Competitive Ranking Report #
POST /v1/reports/nps/time/elst NPS Over time Report #
POST /v1/reports/nps/location/elst NPS By Location Report #
POST /v1/reports/count/reviewsite Review By Source Report #
POST /v1/reports/count/visitors Visitor report #
POST /v1/reports/usage Usage report #
POST /v1/review/report/response-rate/time/rate-over-time Review Response Rate Over Time #
POST /v1/review/report/response-rate/by-location/overview Review Response Rate By Location Overview #
POST /v1/review/report/avg-response-time/by-location Average Response Time By Location #
POST /v1/review/report/avg-response-time/time Average Response Time Over Time #

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/birdeye-report-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 email required.

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

OpenAPI Specification

birdeye-report-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Birdeye Report API
  version: '1.0'
  description: 'Operations tagged Report across 2 of this provider''s published API definitions: birdeye-birdeye-api-openapi.yml, birdeye-openapi-original.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.birdeye.com
  description: Production
- url: https://api.birdeye.com/resources
tags:
- name: Report
  description: Various reporting data points across Birdeye modules like reviews, insights and competitors etc for all your data visualisation
paths:
  /v1/reports/smb:
    get:
      summary: Get Dashboard data
      operationId: get-dashboard-data
      tags:
      - Report
      parameters:
      - name: bid
        in: query
        required: true
        description: Id of the Business.
        schema:
          type: string
        example: '12345678'
      responses:
        '200':
          description: HTTP 200 response
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 89
                  message: Rate limit exceeded
      security:
      - apiKey: []
    servers:
    - url: https://api.birdeye.com
      description: Production
  /v1/reports/business/analytics/email:
    get:
      summary: Get Review conversion report
      operationId: get-review-conversion-report
      tags:
      - Report
      parameters:
      - name: businessId
        in: query
        required: true
        description: Id of the Business.
        schema:
          type: number
        example: '12345678'
      - name: fromDate
        in: query
        required: false
        description: Date from result is expected. Format MM/DD/YYYY.
        schema:
          type: string
        example: 01/13/2021
      - name: toDate
        in: query
        required: false
        description: Date up to result is expected. Format MM/DD/YYYY.
        schema:
          type: string
        example: 01/21/2021
      - name: days
        in: query
        required: false
        description: Use to get results for last some days.
        schema:
          type: number
        example: '120'
      - name: months
        in: query
        required: false
        description: Use to get results for last some months.
        schema:
          type: number
        example: '2'
      responses:
        '200':
          description: HTTP 200 response
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 1039
                  message: Invalid business aggregation id
      security:
      - apiKey: []
    servers:
    - url: https://api.birdeye.com
      description: Production
  /v1/reports/review/analytic/time:
    post:
      summary: Review and rating over time Report
      operationId: review-and-rating-over-time-report
      tags:
      - Report
      parameters:
      - name: businessId
        in: query
        required: true
        description: Id of the Business.
        schema:
          type: number
        example: '12345678'
      - name: sortby
        in: query
        required: false
        description: Values can be 'count' or 'rating'.
        schema:
          type: string
        example: rating
      - name: sorder
        in: query
        required: false
        description: '''0'' for ascending and ''1'' for descending order.'
        schema:
          type: number
        example: '0'
      responses:
        '200':
          description: HTTP 200 response
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 89
                  message: Rate limit exceeded
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              type: object
              properties:
                sourceAliases:
                  type: array
                businessNumbers:
                  type: array
                days:
                  type: number
      security:
      - apiKey: []
    servers:
    - url: https://api.birdeye.com
      description: Production
  /v1/reports/rating/location:
    post:
      summary: Reviews & Rating By Location Report
      operationId: reviews-rating-by-location-report
      tags:
      - Report
      parameters:
      - name: businessId
        in: query
        required: true
        description: Id of the Business.
        schema:
          type: number
        example: '12345678'
      - name: sortby
        in: query
        required: false
        description: Values can be 'count' or 'rating'.
        schema:
          type: string
        example: rating
      - name: sorder
        in: query
        required: false
        description: '''0'' for ascending and ''1'' for descending order.'
        schema:
          type: number
        example: '0'
      responses:
        '200':
          description: HTTP 200 response
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 89
                  message: Rate limit exceeded
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              type: object
              properties:
                sourceAliases:
                  type: array
                businessNumbers:
                  type: array
                months:
                  type: number
      security:
      - apiKey: []
    servers:
    - url: https://api.birdeye.com
      description: Production
  /v1/review/report/count-by-rating/{BusinessId}:
    post:
      summary: Review Count & Rating
      operationId: review-count-rating
      tags:
      - Report
      parameters:
      - name: BusinessId
        in: path
        required: true
        description: Id of the business.
        schema:
          type: string
        example: '12345678'
      responses:
        '200':
          description: HTTP 200 response
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 1167
                  message: API key is missing
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              type: object
              properties:
                businessNumbers:
                  type: array
                sourceAlias:
                  type: string
                fromDate:
                  type: string
                toDate:
                  type: string
      security:
      - apiKey: []
    servers:
    - url: https://api.birdeye.com
      description: Production
  /v1/review/report/count-by-rating/employee/{BusinessId}:
    post:
      summary: Review Count & Rating By Employee
      operationId: review-count-rating-by-employee
      tags:
      - Report
      parameters:
      - name: BusinessId
        in: path
        required: true
        description: Id of the business.
        schema:
          type: string
        example: '12345678'
      responses:
        '200':
          description: HTTP 200 response
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 1167
                  message: API key is missing
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              type: object
              properties:
                businessNumbers:
                  type: array
                sourceAlias:
                  type: string
                fromDate:
                  type: string
                toDate:
                  type: string
                employees:
                  type: array
      security:
      - apiKey: []
    servers:
    - url: https://api.birdeye.com
      description: Production
  /v1/keywords/opmetric/location:
    post:
      summary: Insights Category Report by location report
      operationId: insights-category-report-by-location-report
      tags:
      - Report
      parameters:
      - name: businessId
        in: query
        required: true
        description: Id of the Business.
        schema:
          type: number
        example: '12345678'
      responses:
        '200':
          description: HTTP 200 response
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 89
                  message: Rate limit exceeded
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              type: object
              properties:
                startDate:
                  type: string
                endDate:
                  type: string
                reviewSites:
                  type: array
                businessNumbers:
                  type: array
      security:
      - apiKey: []
    servers:
    - url: https://api.birdeye.com
      description: Production
  /v2/competitive/ranking:
    post:
      summary: Competitive Ranking Report
      operationId: competitive-ranking-report
      tags:
      - Report
      parameters:
      - name: businessId
        in: query
        required: true
        description: Id of the Business.
        schema:
          type: number
        example: '12345678'
      responses:
        '200':
          description: HTTP 200 response
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 89
                  message: Rate limit exceeded
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              type: object
              properties:
                startDate:
                  type: string
                endDate:
                  type: string
                reviewSites:
                  type: array
      security:
      - apiKey: []
    servers:
    - url: https://api.birdeye.com
      description: Production
  /v1/reports/nps/time/elst:
    post:
      summary: NPS Over time Report
      operationId: nps-over-time-report
      tags:
      - Report
      parameters:
      - name: businessId
        in: query
        required: true
        description: Id of the Business.
        schema:
          type: number
        example: '12345678'
      responses:
        '200':
          description: HTTP 200 response
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 89
                  message: Rate limit exceeded
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              type: object
              properties:
                startDate:
                  type: string
                endDate:
                  type: string
                reviewSites:
                  type: array
      security:
      - apiKey: []
    servers:
    - url: https://api.birdeye.com
      description: Production
  /v1/reports/nps/location/elst:
    post:
      summary: NPS By Location Report
      operationId: nps-by-location-report
      tags:
      - Report
      parameters:
      - name: businessId
        in: query
        required: true
        description: Id of the Business.
        schema:
          type: number
        example: '12345678'
      responses:
        '200':
          description: HTTP 200 response
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 89
                  message: Rate limit exceeded
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              type: object
              properties:
                startDate:
                  type: string
                endDate:
                  type: string
                reviewSites:
                  type: array
                businessNumbers:
                  type: array
      security:
      - apiKey: []
    servers:
    - url: https://api.birdeye.com
      description: Production
  /v1/reports/count/reviewsite:
    post:
      summary: Review By Source Report
      operationId: review-by-source-report
      tags:
      - Report
      parameters:
      - name: businessId
        in: query
        required: true
        description: Id of the Business.
        schema:
          type: number
        example: '12345678'
      responses:
        '200':
          description: HTTP 200 response
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 89
                  message: Rate limit exceeded
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              type: object
              properties:
                sourceAliases:
                  type: array
                businessNumbers:
                  type: array
                months:
                  type: number
      security:
      - apiKey: []
    servers:
    - url: https://api.birdeye.com
      description: Production
  /v1/reports/count/visitors:
    post:
      summary: Visitor report
      operationId: visitor-report
      tags:
      - Report
      parameters:
      - name: businessId
        in: query
        required: true
        description: Id of the Business.
        schema:
          type: number
        example: '12345678'
      responses:
        '200':
          description: HTTP 200 response
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 89
                  message: Rate limit exceeded
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              type: object
              properties:
                sourceAliases:
                  type: array
                businessNumbers:
                  type: array
                months:
                  type: number
      security:
      - apiKey: []
    servers:
    - url: https://api.birdeye.com
      description: Production
  /v1/reports/usage:
    post:
      summary: Usage report
      operationId: usage-report
      tags:
      - Report
      parameters:
      - name: business_id
        in: query
        required: true
        description: Id of the Business.
        schema:
          type: number
        example: '12345678'
      - name: reportType
        in: query
        required: true
        description: The type of Report - Summary or Tabular.
        schema:
          type: string
        example: rating
      - name: sindex
        in: query
        required: true
        description: The starting index of the reviews
        schema:
          type: number
        example: '0'
      - name: count
        in: query
        required: true
        description: The number of reviews to query
        schema:
          type: string
        example: '100'
      responses:
        '200':
          description: HTTP 200 response
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 89
                  message: Rate limit exceeded
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              type: object
              properties:
                startDate:
                  type: string
                endDate:
                  type: string
                reviewSites:
                  type: array
                ratings:
                  type: array
                days:
                  type: number
                groupByDays:
                  type: number
                reviewSiteAllFlag:
                  type: boolean
      security:
      - apiKey: []
    servers:
    - url: https://api.birdeye.com
      description: Production
  /v1/review/report/response-rate/time/rate-over-time:
    post:
      summary: Review Response Rate Over Time
      operationId: review-response-rate-over-time
      tags:
      - Report
      parameters: []
      responses:
        '200':
          description: HTTP 200 response
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 1167
                  message: API key is missing
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              type: object
              properties:
                reviewSites:
                  type: array
                ratings:
                  type: array
                businessNumbers:
                  type: array
                startDate:
                  type: string
                endDate:
                  type: string
                comparisonFilter:
                  type: object
                  properties:
                    startDate:
                      type: string
                    endDate:
                      type: string
      security:
      - apiKey: []
    servers:
    - url: https://api.birdeye.com
      description: Production
  /v1/review/report/response-rate/by-location/overview:
    post:
      summary: Review Response Rate By Location Overview
      operationId: review-response-rate-by-location-overview
      tags:
      - Report
      parameters:
      - name: order
        in: query
        required: false
        description: Sort order. 1 for descending, 0 for ascending.
        schema:
          type: number
        example: '1'
      - name: sortBy
        in: query
        required: false
        description: Field used for sorting, for example rate.
        schema:
          type: string
        example: rate
      - name: startIndex
        in: query
        required: false
        description: Starting index for pagination.
        schema:
          type: number
        example: '0'
      - name: size
        in: query
        required: false
        description: Number of records to return.
        schema:
          type: number
        example: '100'
      responses:
        '200':
          description: HTTP 200 response
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 1167
                  message: API key is missing
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              type: object
              properties:
                reviewSites:
                  type: array
                ratings:
                  type: array
                businessNumbers:
                  type: array
                startDate:
                  type: string
                endDate:
                  type: string
                comparisonFilter:
                  type: object
                  properties:
                    startDate:
                      type: string
                    endDate:
                      type: string
      security:
      - apiKey: []
    servers:
    - url: https://api.birdeye.com
      description: Production
  /v1/review/report/avg-response-time/by-location:
    post:
      summary: Average Response Time By Location
      operationId: average-response-time-by-location
      tags:
      - Report
      parameters:
      - name: order
        in: query
        required: false
        description: Sort order. 1 for descending, 0 for ascending.
        schema:
          type: number
        example: '1'
      - name: sortBy
        in: query
        required: true
        description: resp-time (string, optional) - Field used for sorting.
        schema:
          type: string
        example: avg
      - name: startIndex
        in: query
        required: false
        description: Starting index for pagination.
        schema:
          type: number
        example: '0'
      - name: size
        in: query
        required: false
        description: Number of records to return.
        schema:
          type: number
        example: '100'
      responses:
        '200':
          description: HTTP 200 response
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 1167
                  message: API key is missing
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              type: object
              properties:
                reviewSites:
                  type: array
                ratings:
                  type: array
                businessNumbers:
                  type: array
                startDate:
                  type: string
                endDate:
                  type: string
                comparisonFilter:
                  type: object
                  properties:
                    startDate:
                      type: string
                    endDate:
                      type: string
      security:
      - apiKey: []
    servers:
    - url: https://api.birdeye.com
      description: Production
  /v1/review/report/avg-response-time/time:
    post:
      summary: Average Response Time Over Time
      operationId: average-response-time-over-time
      tags:
      - Report
      parameters: []
      responses:
        '200':
          description: HTTP 200 response
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 1167
                  message: API key is missing
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: http://json-schema.org/draft-07/schema#
              type: object
              properties:
                reviewSites:
                  type: array
                ratings:
                  type: array
                businessNumbers:
                  type: array
                startDate:
                  type: string
                endDate:
                  type: string
                comparisonFilter:
                  type: object
                  properties:
                    startDate:
                      type: string
                    endDate:
                      type: string
      security:
      - apiKey: []
    servers:
    - url: https://api.birdeye.com
      description: Production
components:
  schemas:
    1167Model:
      type: object
      properties:
        code:
          type: number
        message:
          type: string
      example:
        code: 1167
        message: API key is missing
    1011Model:
      type: object
      properties:
        code:
          type: number
        message:
          type: string
      example:
        code: 1011
        message: Business id is invalid
    1039Model:
      type: object
      properties:
        code:
          type: number
        message:
          type: string
      example:
        code: 1039
        message: Invalid business aggregation id
    Apiary_reviewResponseRateOverTime_Response200:
      type: object
      properties:
        summary:
          type: object
          properties:
            actual:
              type: object
              properties:
                totalCount:
                  type: number
                  description: Total number of reviews in selected period.
                avgRating:
                  type: number
                  description: Average rating in selected period.
                responseRate:
                  type: number
                  description: Response rate percentage.
                unrespondedRate:
                  type: number
                  description: Unresponded rate percentage.
                unrespondedCount:
                  type: number
                  description: Count of unresponded reviews.
                respondedCount:
                  type: number
                  description: Count of responded reviews.
                unrespondedCountGrowth:
                  type: number
                  description: Growth percentage against comparison period.
                respondedCountGrowth:
                  type: number
                  description: Growth percentage against comparison period.
                totalCountGrowth:
                  type: number
                  description: Growth percentage against comparison period.
                responseRateGrowth:
                  type: number
                  description: Growth percentage against comparison period.
            compare:
              type: object
              properties:
                totalCount:
                  type: number
                  description: Total number of reviews in comparison period.
                avgRating:
                  type: number
                  description: Average rating in comparison period.
                responseRate:
                  type: number
                  description: Response rate percentage in comparison period.
                unrespondedRate:
                  type: number
                  description: Unresponded rate percentage in comparison period.
                unrespondedCount:
                  type: number
                  description: Count of unresponded reviews in comparison period.
                respondedCount:
                  type: number
                  description: Count of responded reviews in comparison period.
        dataPoints:
          type: array
          description: Time-series points for actual and comparison periods.
          items:
            type: object
            properties:
              actual:
                type: object
                properties:
                  label:
                    type: string
                    items: {}
                    description: Display label for the bucket.
                  shortLabel:
                    type: string
                    description: Short display label.
                  totalCount:
                    type: number
                    description: Total reviews in the bucket.
                  startDate:
                    type: string
                    description: Bucket start date.
                  endDate:
                    type: string
                    description: Bucket end date.
                  responseRate:
                    type: number
                    description: Response rate percentage.
                  unrespondedCount:
                    type: number
                    description: Unresponded review count.
                  respondedCount:
                    type: number
                    description: Responded review count.
                  respondedCountGrowth:
                    type: number
                    description: Growth percentage.
                  totalCountGrowth:
                    type: number
                    description: Growth percentage.
                  responseRateGrowth:
                    type: number
                    description: Growth percentage.
              compare:
                type: object
                properties:
                  label:
                    type: string
                    items: {}
                    description: Comparison label for the bucket.
                  shortLabel:
                    type: string
                    description: Short comparison label.
                  totalCount:
                    type: number
                    description: Comparison total reviews in the bucket.
                  startDate:
                    type: string
                    description: Comparison bucket start date.
                  endDate:
                    type: string
                    description: Comparison bucket end date.
                  responseRate:
                    type: number
                    description: Comparison response rate percentage.
                  unrespondedCount:
                    type: number
                    description: Comparison unresponded review count.
                  respondedCount:
                    type: number
                    description: Comparison responded review count.
        dateDiff:
          type: number
          description: Date range difference.
        groupByType:
          type: string
          description: Grouping unit used in data points.
        dataPresent:
          type: boolean
          description: Indicates whether report data is present.
    Apiary_insightsCategoryReportByLocationReport_Response200:
      type: array
      items:
        type: object
        properties:
          alias:
            type: string
            description: Alias of the location.
          avgScore:
            type: number
            description: Average score of the keywords inside the category.
          grade:
            type: string
            description: Grade of the keywords.
          totalCount:
            type: number
            description: Total count of keyword present.
          metricForLocn:
            type: object
            properties:
              Category_Name:
                type: object
                properties:
                  category:
                    type: string
                    description: Category name.
                  avgScore:
                    type: number
                    description: Average score.
                  count:
                    type: number
                    description: Count.
                  grade:
                    type: string
                    description: Grade.
                  parentCategory:
                    type: string
                    description: Parent category name.
                description: This will be the name of the category like Beverages.
            description: Location wise metric data.
    Apiary_reviewCount_RatingByEmployee_Request:
      type: object
      properties:
        businessNumbers:
          type: array
          description: Business Numbers under enterprise account.
          items: {}
        sourceAlias:
          type: string
          description: Alias of the source.
        fromDate:
          type: string
          description: Review date (start).
        toDate:
          type: string
          description: Review date (end).
        employees:
          type: array
          description: Employee details for which review count will be fetched.
          items:
            type: object
            properties:
              firstName:
                type: string
                description: Employee's first name.
              lastName:
                type: string
                description: Employee's last name.
              phone:
                type: string
                description: Employee's phone number.
      example:
        businessNumbers:
        - 145308764185002
        - 145308769721320
        sourceAlias:
        - google
        - citysearch
        employees:
        - firstName: David
          lastName: Wood
          phone: '4424242424'
        fromDate: 04/01/2013
        toDate: 05/3/2015
    Apiary_getReview

# --- truncated at 32 KB (62 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/birdeye/refs/heads/main/openapi/birdeye-report-api-openapi.yml