Integrations · Reporting and BI

Starter and up

Use Grades.com in your reporting tool.

Reviews, ratings, replies, review requests and scores as flat tables, for every location in one request. Power BI, Excel, Tableau, Looker Studio, Google Sheets, BigQuery and agency dashboards read them.

Coming soonToday: the BigQuery export on Pro and Premium

Review report: all locations
New reviews1,284
Average rating4.6
Reply rate92%
New reviews by month
review-metricsinterval=monthCSV or JSON

Four ways in

Pick the one your tool reads. All four only read: none of them can change anything in Grades.com.

  • Reports API Coming soon

    Flat tables at https://app.grades.com/api/v1/reports/*, as JSON or with ?format=csv. For Power BI, Excel, Tableau, Supermetrics, Coupler.io, Databox and Klipfolio. Key: a secret key with only reviews:read.

  • Google Sheets

    A synced export in your own Drive with a reporting layout Coming soon, or the add-on Coming soon. For every tool that reads a Google Sheet: AgencyAnalytics, DashThis, Swydo, Whatagraph and more. How →

  • Looker Studio connector Coming soon

    Our own connector, "grades.com Reviews": reviews and AI Reputation as data sources. Key: companies:read and reviews:read. How it works →

  • BigQuery export

    Pro and Premium: reviews, scores, AI Reputation and a daily summary in your own BigQuery dataset. No key: you grant access to your dataset. How →

Grades.com makes its own connector only for Looker Studio and its own add-on only for Google Sheets. Every other tool on this page works with Grades.com through its own generic web, JSON, CSV or Google Sheets source; we have no partnership with those tools.

Which report

Every report covers every business your key reaches, each row with location_id and location. GET https://app.grades.com/api/v1/reports lists them all with their columns.

ReportOne row perTypical chart
/reports/locationsbusiness (location)The table to join the others on location_id: plan, totals, latest Score
/reports/reviewsreviewRating distribution, reviews per platform, response time
/reports/review-metricsbusiness and day, week or month (and platform with breakdown=platform)New reviews, average rating, reply rate, median response hours, running totals
/reports/review-requestsbusiness and periodRequests sent, opened, clicked and reviewed
/reports/scoresbusiness and dayGrades.com Score over time
/reports/ai-reputationAI assistant answerSentiment and "mentioned" over time, per assistant
/reports/competitorsmonth and competitorCompetitor rank and score over time

Dates are YYYY-MM-DD in UTC (from and to, or start_date and end_date); time series take interval=day, week or month (without dates: the last 90 days by month), with a row for every period so charts have no gaps. Up to 10,000 rows a request. Paging: send meta.next_cursor back as cursor (CSV: the X-Next-Cursor header), or page=1, 2, ... for tools that cannot follow a cursor.

https://app.grades.com/api/v1/reports/review-metrics?interval=month&from=2026-01-01&to=2026-12-31
https://app.grades.com/api/v1/reports/review-metrics?interval=day&breakdown=platform&from=2026-10-01&to=2026-10-31&format=csv
https://app.grades.com/api/v1/reports/reviews?start_date=2026-10-01&format=csv
https://app.grades.com/api/v1/reports/locations

The key

  1. Create a reporting key

    In your dashboard, Connect your AI > Reporting and BI tools. It makes a secret key (gk_live_...) with only reviews:read, for all your businesses or only the ones you pick, shown once.

  2. Send it in a header

    Every tool that can send a header gets the header, and every recipe below uses it where the tool allows: Authorization: Bearer gk_live_...

  3. A URL key, only if the tool cannot send headers

    For Google Sheets IMPORTDATA, Supermetrics' JSON/CSV/XML connector and possibly Windsor.ai: in the same window, switch on Usable in a URL. That makes a URL key (gk_live_url_...): it only reads, covers only the businesses you picked, and is the only key the reports accept as key= in a URL. Any other key in a URL is refused.

Anyone with this link can read your review data. Use a URL key limited to the businesses you need, and rotate it if the link is shared. To rotate a URL key: create a new one under Connect your AI > Reporting and BI tools with Usable in a URL, paste the new link, then revoke the old key under API keys (it stops at once). Grades.com can switch URL keys off; while they are off, use the header or the Google Sheets export. Never use a publishable key (gk_pub_) for reports.

Native: Looker Studio and Google Sheets

The two tools Grades.com builds for itself.

Looker Studio Coming soon

Add a data source, pick grades.com Reviews, authorize it, paste a key with companies:read and reviews:read, then choose a business and a table (Reviews or AI Reputation) and create the report. Looker Studio's data freshness setting decides how often it refreshes.

The Looker Studio connector →

Google Sheets

Best: the synced export with the reporting layout Coming soon. One spreadsheet in your own Drive, three tabs, synced hourly or daily by Grades.com, and no key: it uses your Google account. Dates are real dates, numbers real numbers, every day of the last 365 has a row, and an HQ export holds every location.

Create it with the API: POST https://app.grades.com/api/v1/companies/{uuid}/exports/sheets with {"sync": "daily", "layout": "reporting", "all_locations": true} (a key with companies:write, after connecting Google once in the dashboard). The dashboard's export dialog does not offer the layout yet. Do not rename the tabs: the sync writes to them by name.

The add-on Coming soon imports a business's reviews into a sheet and refreshes them hourly or daily. The Google Sheets add-on →

TabOne row perColumns
Daily metricsday and locationDate, Location, Location ID, New reviews, Average rating, Five-star reviews, 1-2 star reviews, Replied reviews, Reply rate, Median response hours, Total reviews, Overall rating, Requests sent, Requests clicked, Requests reviewed
By platformday, location and platformDate, Location, Location ID, Platform, New reviews, Average rating, Replied reviews, Reply rate, Total reviews, Overall rating
ReviewsreviewReview ID, Date, Site, Rating, Reviewer, Review, Reply, Replied at, Location, Link, Removed (the sync keeps your rows and notes)

Or a CSV report with IMPORTDATA Coming soon

IMPORTDATA reads a CSV URL and recalculates about every hour, but it cannot send a header, so it needs a URL key (The key, step 3). One formula reads one page (up to 10,000 rows), and every editor of the sheet can see the key. To keep the key out of the sheet, an Apps Script with UrlFetchApp, the header and an hourly trigger can fetch the same report.

Anyone with this link can read your review data. Use a URL key limited to the businesses you need, and rotate it if the link is shared.

=IMPORTDATA("https://app.grades.com/api/v1/reports/review-metrics?interval=day&from=2026-10-01&to=2026-10-31&format=csv&key=gk_live_url_...")

Verified against Google's documentation, November 2026.

Recipes for BI and reporting tools

Each recipe says whether we checked it against the tool's current public documentation (November 2026). We did not test inside these products. Replace gk_live_... with your key.

BigQuery export

Pro and Premium: your reviews, review versions, daily scores, AI Reputation answers and a daily summary in your own BigQuery dataset, synced nightly (hourly on Premium). Set it up in Company Settings > Notifications & exports > BigQuery export. Tables grades_reviews, grades_review_versions, grades_scores, grades_ai_reputation and grades_summary_daily (the warehouse twin of review-metrics?interval=day). Any tool that reads BigQuery reads them directly.

Excel (Power Query)

Data > Get Data > From Other Sources > Blank Query > Advanced Editor, and paste the Power BI query below. From Web only takes a URL or a fixed list of headers, without Authorization. Refresh with Refresh All, on open, or every few minutes while the workbook is open.

Verified against Microsoft's documentation (timed refresh: not verified).

Power BI

Get Data > Blank query > Advanced Editor (the Web connector's dialog cannot send Authorization). Keep the base URL fixed and the path and query in RelativePath and Query: that lets the Power BI service refresh it on a schedule. Credential: Anonymous, because the key travels in the header. Use JSON, not CSV: Power Query cannot read the X-Next-Cursor header. The key is saved in the .pbix, so use a read-only key.

let
    Key = "gk_live_...",
    GetPage = (cursor as nullable text) =>
        Json.Document(Web.Contents("https://app.grades.com", [
            RelativePath = "api/v1/reports/review-metrics",
            Query = [interval = "month", from = "2026-01-01", limit = "10000"]
                & (if cursor = null then [] else [cursor = cursor]),
            Headers = [Authorization = "Bearer " & Key, Accept = "application/json"]
        ])),
    Pages = List.Generate(
        () => GetPage(null),
        each _ <> null,
        each if _[meta][has_more] then GetPage(_[meta][next_cursor]) else null
    ),
    Rows = List.Combine(List.Transform(Pages, each _[data])),
    Table = Table.FromRecords(Rows)
in
    Table

Verified against Microsoft's documentation (Power Query Web connector, Web.Contents, refresh limits: up to 8 refreshes a day on Pro, 48 on Premium). Anonymous plus a header in the Power BI service: not verified; it works in Power BI Desktop.

Tableau

Use Tableau's REST API Connector (Tableau Exchange, Tableau 2023.3 and later, extracts only): GET https://app.grades.com/api/v1/reports/review-metrics?interval=month&limit=10000, authentication Bearer with your key, records at $.data[*]. Its paging is by offset, so use page numbers (page=1, 2, ...) or keep a request under 10,000 rows. Web Data Connector 3.0 is deprecated: do not build on it. Without the connector, connect to a CSV report saved to a file or a Google Sheet.

Verified against Tableau's documentation (Tableau Cloud refresh of this connector: not verified).

Supermetrics

Connector builder (a paid add-on of your Supermetrics account): headers and cursor paging are built in, as below. Custom data import (Supermetrics Hub): fetch a URL with the header Authorization: Bearer gk_live_..., for example a report with ?format=csv. JSON/CSV/XML connector: source URL plus JSONPath data.*; it has no header field, so it needs a URL key (key=gk_live_url_...). Prefer the connector builder or custom data import, which send the header.

JSON/CSV/XML connector: Anyone with this link can read your review data. Use a URL key limited to the businesses you need, and rotate it if the link is shared.

{
  "url": "https://app.grades.com/api/v1/reports/review-metrics?interval=day&limit=10000",
  "headers": [{"name": "Authorization", "value": "Bearer gk_live_..."}],
  "pagination": {"type": "cursor", "nextPageParameterName": "cursor",
                 "nextPagePath": {"source": "jsonPath", "value": "$.meta.next_cursor"}},
  "dataPath": "$.data"
}

Verified against Supermetrics' documentation.

Coupler.io

Source JSON: URL https://app.grades.com/api/v1/reports/review-metrics?interval=day&limit=10000, method GET, request header Authorization: Bearer gk_live_..., path data. It does not page: keep a request under 10,000 rows, or add one source per page (&page=2, ...) and join them with Append. Schedules run from every 15 minutes to monthly, by plan.

Verified against Coupler.io's documentation.

Databox

Data Manager > Custom Integration (beta): base URL https://app.grades.com/api/v1, header Authorization: Bearer gk_live_..., cursor paging with cursor from meta.next_cursor (or page numbers with page). Each sync replaces the data, so ask for the whole date range every time.

Verified against Databox's documentation.

Klipfolio

A REST/URL data source: the URL of a report, the header Authorization: Bearer gk_live_..., format JSON. No cursor paging: use limit=10000 or page numbers. Sources refresh only while the account has active users.

Not verified: Klipfolio's help pages were not available to us.

Other tools with a generic web source work the same way: send the header, read the rows at $.data and the next cursor at $.meta.next_cursor (it is null on the last page), or use ?format=csv.

Agency reporting tools, through Google Sheets

These tools read a Google Sheet and do not pull an arbitrary API URL. Point each at the synced export with the reporting layout: Daily metrics for KPIs and trends, By platform for a per-site table, Reviews for a review list.

ToolRecipeChecked
AgencyAnalyticsGoogle Sheets integration: connect the Google account that owns the export, pick the spreadsheet and the Daily metrics tab; date column Date; New reviews and Requests as sums, Average rating and Reply rate as averages; segment by Location.Not verified (help pages unavailable to us)
DashThisAdd a Google Sheets source, then the Daily metrics tab (read every hour). Our headers are fixed, so pick sum or average in the widget, or copy the tab with your own headers on a second tab with =QUERY('Daily metrics'!A:O).Verified
SwydoGoogle Sheets data source, then the Daily metrics tab (date = Date). Google Sheets is Swydo's only generic source.Verified (Sheets only); field mapping not verified
WhatagraphGoogle Sheets source, then Daily metrics; on Pro and Premium the BigQuery export's grades_summary_daily works too. Its Custom API only receives pushed data.Verified
FunnelGoogle Sheets connector, then Daily metrics (it replaces the data on each hourly read).Partly verified
Windsor.aiGoogle Sheets connector, then Daily metrics (recommended). Only if its file/URL connector fetches a CSV report URL: a URL key (key=gk_live_url_...), with the warning under The key.Not verified

What you need

  • A Grades.com account (14-day free trial of Pro, no card needed)
  • Your reporting tool, with a web, JSON, CSV, Google Sheets or BigQuery source
  • A reporting key with only reviews:read, for all your businesses or only the ones you pick, from Connect your AI (not needed for the Sheets export or BigQuery)

Every plan from Starter

The reports API, the Sheets export and the Looker Studio connector come with every plan. The BigQuery export is on Pro and Premium.

See pricing →

Frequently asked questions

Is there a Grades.com connector for Power BI, Tableau or Supermetrics?

No. Those tools read the reports API through their own generic web, JSON or CSV source, with your key. Grades.com makes its own connector for Looker Studio and an add-on for Google Sheets; everything else works through the generic source.

Which key should I use?

A secret key with only reviews:read, for all your businesses or only the ones you pick, from Connect your AI > Reporting and BI tools in your dashboard, sent in the Authorization header. It reads reports and cannot change anything. A publishable key (gk_pub_) does not work for reports.

Can I put the key in the URL?

Only with a URL key (gk_live_url_...), made with Usable in a URL, and only for a tool that cannot send a header; any other key in a URL is refused. Anyone with this link can read your review data. Use a URL key limited to the businesses you need, and rotate it if the link is shared. To rotate it, create a new URL key, paste the new link and revoke the old key. Grades.com can switch URL keys off, so use the header wherever the tool allows it.

Does one report cover all my locations?

Yes. Every report covers every business the key reaches in one request, such as an agency's clients or an HQ's locations, and each row names its location_id and location. Add company= with one or more business IDs to narrow it.

How often should a report refresh?

Once a day is enough, hourly at most: the data changes at most hourly. Each key can make 120 requests a minute.

Is the review text included?

Only in the reviews report, and only when you add include_text=1. It is never included for healthcare businesses, because reports go to third-party tools.

Which plan do I need?

Every plan from Starter can create the key and read the reports. The AI Reputation and competitor reports include only the businesses whose plan has those features; the others are listed as skipped. The BigQuery export is on Pro and Premium.

Google Sheets, Looker Studio and BigQuery are trademarks of Google LLC. Grades.com is not affiliated with or endorsed by Google or by any other tool named on this page.

Put your reviews in your reports

14-day free trial of Pro, no card needed.

Product names and logos are trademarks of their owners; no endorsement implied.