RankfinityDocs Open the app

DocsReference

Feeds for Google Sheets and Looker Studio

Per-project CSV links you can paste into =IMPORTDATA in Google Sheets or use as a CSV source. One dataset per link, read-only, revocable, with an optional expiry.

3 min read·Markdown

Ask an AI about this page

ChatGPT and Claude open with the question copied — paste it with Ctrl+V (⌘V).

What a feed is#

A feed is a link to one CSV file with one dataset of one project. Google Sheets reads it with IMPORTDATA, and a dashboard reads it as a CSV source. A feed link is read-only: it cannot change anything, and it opens only the dataset it was made for.

Feeds do not spend credits. They read what Rankfinity already has.

Create a feed#

  1. Open My account › API & feeds and find the Feeds card.
  2. Choose the project and the dataset. Optionally give it a name and an expiry in days.
  3. Click Create feed and copy the link. The link is shown once. Rankfinity stores only a hash.
  4. To stop a feed, click Revoke. It stops working at once.

You need edit access to the project to create or revoke a feed. A view-only team member cannot create one. Each project can have up to 20 live feeds.

Datasets#

DatasetOne row perColumns
rankingskeyword and device (latest result, up to 500 rows)keyword, device, rank, previous_rank, change, measured, url, measured_at, stale, status
aivAI app, plus an overall rowscope, app, visibility_pct, answers, answers_naming_brand, run_finished_at, status
audit-issuesfailed check in the latest site auditcheck, title, severity, affected_pages, audit_finished_at, root_url, status
backlinksreferring domain in the saved backlink profilereferring_domain, backlinks, rank, first_seen, fetched_at, status

For charts over time, use the history datasets. They keep every measurement, newest first, up to 5,000 rows each:

DatasetOne row perColumns
rankings-historyrank check, per keyword, location and devicekeyword, location, device, position, date, measured, status
map-arp-historymap scan, per keywordkeyword, date, arp, avg_rank, found_pct, scan_id, status
aiv-historyAI app per finished run, plus an overall rowdate, run_id, app, visibility_pct, answers, status
audit-historyfinished site auditdate, audit_id, score, failed_checks, pages_crawled, root_url, status
backlinks-historysaved backlink profiledate, referring_domains, backlinks, dofollow, nofollow, rank, spam_score, broken_backlinks, status

date is an ISO 8601 timestamp in UTC. A measured value of false means the check was not fully measured (status says whether it was partial or failed): its position is empty, and it is not a rank. For Looker Studio, see Looker Studio dashboard.

Read the status column first. ok means a real row. Any other text says why there is no data yet, for example "no site audit has run yet". An empty cell means the value was not measured. It is never a zero.

Google Sheets#

Paste the link into a cell, wrapped in IMPORTDATA:

=IMPORTDATA("https://app.rankfinity.app/api/feeds/v1/rf_feed_...csv")

Sheets refreshes an IMPORTDATA cell about once an hour and on recalculation. Rankfinity updates the data after each check, so the sheet catches up on the next refresh.

Looker Studio#

Looker Studio has no built-in "CSV from URL" source. The step-by-step route is in Looker Studio dashboard: one feed per dataset, each in a Google Sheet tab with IMPORTDATA, then a Google Sheets source in Looker Studio. The same page links a sample dashboard spec (JSON).

Looker Studio sees the same columns as the CSV. Use the status column as a filter to hide the explanation rows.

Safety#

  • The link is the credential. Anyone who has it can read that dataset until you revoke it. Do not paste it into public documents.
  • The link is served with no-store, no-referrer and noindex headers, so browsers and search engines do not keep or index it.
  • Formulas in data (for example a keyword that starts with =) are written with a leading apostrophe, so a spreadsheet shows them as text and does not run them.
  • A feed stops working if its creator loses access to the project or their account is inactive.
  • A feed link is limited per minute (the operator sets the limit). Too many requests return 429.

Still stuck? Write to office@rankfinity.app.