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#
- Open My account › API & feeds and find the Feeds card.
- Choose the project and the dataset. Optionally give it a name and an expiry in days.
- Click Create feed and copy the link. The link is shown once. Rankfinity stores only a hash.
- 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#
| Dataset | One row per | Columns |
|---|---|---|
rankings | keyword and device (latest result, up to 500 rows) | keyword, device, rank, previous_rank, change, measured, url, measured_at, stale, status |
aiv | AI app, plus an overall row | scope, app, visibility_pct, answers, answers_naming_brand, run_finished_at, status |
audit-issues | failed check in the latest site audit | check, title, severity, affected_pages, audit_finished_at, root_url, status |
backlinks | referring domain in the saved backlink profile | referring_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:
| Dataset | One row per | Columns |
|---|---|---|
rankings-history | rank check, per keyword, location and device | keyword, location, device, position, date, measured, status |
map-arp-history | map scan, per keyword | keyword, date, arp, avg_rank, found_pct, scan_id, status |
aiv-history | AI app per finished run, plus an overall row | date, run_id, app, visibility_pct, answers, status |
audit-history | finished site audit | date, audit_id, score, failed_checks, pages_crawled, root_url, status |
backlinks-history | saved backlink profile | date, 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-referrerandnoindexheaders, 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.