Account exports
Export reference: what each file contains, field by field.
An export from a Broadcastwell account carries up to four sections: results, receipts, sources and fixes. Each file lists its fields and types, states its rows against a row limit of 2,000 per section (1,000 for fixes), names its dates and carries a SHA-256 checksum line. Only delivered results are exported.
By the Broadcastwell team. Updated 9 November 2026. The limits below are the ones the account applies today.
Choose a format
Every format carries the same rows and the same checksum line. Open Exports from the account navigation, or use the export links under the Questions, Receipts, Sources and Fixes views, which export that view's section.
| Format | Sections | What it holds |
|---|---|---|
| Excel workbook (.xlsx) | Every section, or one section | One sheet for each section, plus an About sheet with the fields, dates and checksum. |
| CSV (.csv) | One section in each file | One section in each file. It opens in Google Sheets, Excel and Numbers. |
| Word document (.docx) | Every section, or one section | Opens in Word, Google Docs, Pages and LibreOffice. |
| Markdown (.md) | Every section, or one section | Pastes into Notion, Confluence, GitHub and Asana. |
| HTML page (.html) | Every section, or one section | One page that opens in any browser without a connection. |
| PDF report (.pdf) | Every section | Results, sources and fixes in full, with the receipt count and dates. Receipts themselves travel in the data formats. |
| JSON (.json) | Every section, or one section | The canonical data the checksum is computed from. |
Excel cells hold at most 32,767 characters, so an answer longer than 32,000 characters is cut in the workbook and marked where it was cut. The CSV, JSON, Markdown, HTML and Word files keep the full text. Markdown writes a line break inside a table cell as <br>.
Read the row limit before you download
The account shows each section's rows and its limit beside every download link. A section with more rows than its limit carries the first rows in date order and says, in the file, how many were left out; choose a shorter date range for the rest.
| Section | Row limit | One row is | Date rule |
|---|---|---|---|
| Results | 2,000 | One row for each question in each delivered measurement. | Figures are computed from the scheduled answers observed inside the chosen dates. |
| Receipts | 2,000 | One row for each observed answer, scored or excluded. | An answer is included when its observed_at time falls inside the chosen dates. |
| Sources | 2,000 | One row for each page cited in a scored scheduled answer. | A page is included when a scored scheduled answer inside the chosen dates cited it. |
| Fixes | 1,000 | One row for each change in the Source to Change Ledger. | A change is included when the day it last moved falls inside the chosen dates. |
Dates are UTC days. With no dates chosen, a file carries every retained answer from delivered measurements. A date range applies to every section of the file: results are recomputed from the scheduled answers inside it, so a rate always matches its receipts.
Every field, in file order
The field names below are the column headings of the CSV and Excel files and the keys of the JSON file. Markdown, HTML and Word list the same fields before the rows.
text- Text, as stored.
integer- A whole number.
number- A decimal number with one decimal place.
boolean- yes or no. Spreadsheets receive TRUE or FALSE.
date- A calendar day, YYYY-MM-DD, in UTC.
date-time- An ISO 8601 time in UTC, for example 2026-09-02T01:00:00.000Z.
url- A complete web address.
list- Several values in one cell, separated by a semicolon and a space.
Results: 19 fields
| Field | Type | Meaning |
|---|---|---|
run_id | text | The measurement the figures come from. |
run_kind | text | The kind of measurement. |
method_version | text | The method version the measurement used. |
observed_from | date-time | The first scheduled answer counted in this row. |
observed_to | date-time | The last scheduled answer counted in this row. |
question_id | integer | The question number inside the measurement. |
question_text | text | The buyer question as asked. |
question_type | text | The question group. |
scheduled_answers | integer | Scheduled answers observed for the question. |
scored_answers | integer | Scheduled answers that could be scored. This is the base of the rate. |
excluded_answers | integer | Scheduled answers left out of the base, each with its reason in the receipts. |
named_answers | integer | Scored answers that named your company. |
named_rate_pct | number | named_answers divided by scored_answers, as a percentage. |
interval_low_pct | number | Lower bound of the 95 percent Wilson interval. |
interval_high_pct | number | Upper bound of the 95 percent Wilson interval. |
own_domain_cited_answers | integer | Scored answers that cited a page on your own domain. |
engines | list | The engines whose scheduled answers are counted. |
rivals_named | list | Companies named in these answers, each with its count of scored answers. |
adaptive_answers | integer | Extra answers asked again where scheduled verdicts disagreed. They are never added to the rate. |
Receipts: 15 fields
| Field | Type | Meaning |
|---|---|---|
receipt_id | text | The stored identifier of the answer. |
run_id | text | The measurement the answer belongs to. |
pass_id | text | The dated pass inside the measurement. |
pass_kind | text | scheduled, adaptive or monitor. |
question_id | integer | The question number inside the measurement. |
question_text | text | The buyer question as asked. |
engine | text | ChatGPT, Claude, Perplexity, Google AI Overviews or Google AI Mode. |
observed_at | date-time | When the answer was observed. |
named | boolean | Whether the answer named your company. |
own_domain_cited | boolean | Whether the answer cited a page on your own domain. |
competitors_found | list | Companies the answer named. |
cited_urls | list | Every address the answer cited. |
excluded | boolean | Whether the answer was left out of every base. |
exclusion_reason | text | The plain reason an excluded answer was left out. |
answer_text | text | The engine's words, exactly as observed. |
Sources: 14 fields
| Field | Type | Meaning |
|---|---|---|
url | url | The cited page. |
domain | text | The host of the cited page. |
own_domain | boolean | Whether the page is on your own domain. |
times_cited | integer | Scored scheduled answers that cited the page. |
engines | list | The engines that cited the page. |
question_ids | list | The questions whose answers cited the page. |
answers_naming_you | integer | Of those answers, the ones that also named your company. |
first_cited_at | date-time | The first answer that cited the page. |
last_cited_at | date-time | The last answer that cited the page. |
queue_status | text | not_started, pitched, placed or declined, from your source queue. |
you_appear | text | yes, no or not_checked, from your source queue. |
owner | text | The owner recorded in your source queue. |
contact_route | text | The contact route recorded in your source queue. |
notes | text | Your notes from the source queue. |
Fixes: 18 fields
| Field | Type | Meaning |
|---|---|---|
entry_id | text | The ledger entry. |
change | text | The change to test. |
state | text | Drafted, Approved, Sent, Acknowledged, Published, Measured again or Declined. |
owner | text | The person or role responsible, or Unassigned. |
question_ids | list | The questions the change addresses. |
rival | text | The company named instead on those questions. |
source_url | url | The cited page behind the change. |
receipt_url | url | The receipt behind the change. |
run_id | text | The measurement the change came from. |
drafted_on | date | The day the change was drafted. |
approved_on | date | The day the change was approved. |
sent_on | date | The day the change was sent. |
acknowledged_on | date | The day the change was acknowledged. |
published_on | date | The day the change was published. |
remeasured_on | date | The day a later scheduled run asked the questions again. |
declined_on | date | The day the change was declined. |
updated_on | date | The day the change last moved. |
work_rank | integer | The position in the work queue, when the change has been assessed. |
What is never exported
- Results still in review. Only delivered measurements are exported.
- Free 10-question check answers. Each check keeps its own page in the account.
- Sign-in links, sessions, API keys, report-link and export-link tokens.
- Payment card details. They are never stored in the account.
- Internal processing records of how an answer was collected.
- Other accounts. An agency brand is exported only when the signed-in member may read it.
Adaptive answers, the ones asked again where scheduled verdicts disagreed, stay in the receipts with pass_kind set to adaptive. They are never added to a results rate.
Check that a file is unchanged
The checksum line is the SHA-256 of the file's data written as canonical JSON: object keys in sorted order, no spaces. The same data gives the same checksum in every format, so a CSV and a workbook downloaded together can be matched. The JSON file carries that data as its data member, with the rule written beside it.
A matching checksum shows that the rows are the ones exported. It does not show that an answer is correct; the receipt holds the engine's words for that.
Import a section into Google Sheets
- In Exports, create an import link for one section. It lasts 1 to 30 days, 7 by default, and is shown once.
- Paste the formula the account shows,
=IMPORTDATA("..."), into cell A1 of a sheet. - The first 6 rows are the file's label, dates, row count, checksum line and a link to this page. The field names follow on row 7.
Google Sheets reads the CSV from the link on its own schedule, so the sheet follows new delivered results until the link expires or you revoke it. We ask for no access to your Google account. Anyone holding the link can read that section, so share the sheet with care. An account keeps up to 10 active links. To keep a fixed copy instead, download the CSV and choose File, Import.
Schedule a data export or a PDF report
An account can keep up to 5 schedules: a workbook, CSV or JSON data export, or the PDF report, weekly on Monday at 06:00 UTC or monthly on the 1st at 06:00 UTC. Each file is a complete snapshot of every delivered result up to its run day, with the same fields, limits and checksum as a download.
Scheduled files are delivered as downloads in Exports, with their history: the last 12 files of each schedule, each with its checksum. A file larger than 1,000,000 bytes is listed with its size and can be downloaded on demand instead. We send no email with a scheduled file.
Download the fictional sample files
Sample data, fictional company. Kalvenor Systems is a fictional company, and every company, answer and figure in this file is fictional. The files were prepared from the public sample on 9 November 2026; that is not a measurement date. Their answers are dated from 15 January 2026 to 12 August 2026.
| File | Sections | Rows | Bytes | SHA-256 of the file |
|---|---|---|---|---|
| kalvenor-sample-all-2026-11-09.xlsx | Every section | results 55; receipts 819; sources 405; fixes 7 | 123,916 | edefb5230a3fd82aa9e673dea2bdd3927abfdcd2ee31c43b3482bcf86f40cbeb |
| kalvenor-sample-all-2026-11-09.docx | Every section | results 55; receipts 819; sources 405; fixes 7 | 94,508 | 5c556fec8efddff3a3fa872b304fa2d3e0142d0c7e9ddaab82bfa5c018614102 |
| kalvenor-sample-all-2026-11-09.md | Every section | results 55; receipts 819; sources 405; fixes 7 | 819,747 | 87b5dbb07d97e51edfd853080b9a59b7847b297025d24ba7b315f84a00ad2a62 |
| kalvenor-sample-all-2026-11-09.html | Every section | results 55; receipts 819; sources 405; fixes 7 | 1,174,239 | bbd02af480983a500be62cbf08f113d5ad6e3e3ff44e081a266054a6508167b2 |
| kalvenor-sample-all-2026-11-09.json | Every section | results 55; receipts 819; sources 405; fixes 7 | 991,979 | 7e4ab3450b3f87449c96aba6e7db9f02025d274c13e5b294b38d7a8369e1e273 |
| kalvenor-sample-all-2026-11-09.pdf | Every section | results 55; receipts 819; sources 405; fixes 7 | 197,229 | 7b68c432aa5b9c409b3f8853ba2eefb8146b9df27d2731797f1c0ff4feaca223 |
| kalvenor-sample-results-2026-11-09.csv | results | results 55 | 22,869 | 6d133950bebb495ffc2b95ca5f259bbdb23644eb3b09cbe4014771c1f71dbc73 |
| kalvenor-sample-receipts-2026-11-09.csv | receipts | receipts 819 | 480,727 | 52a05a338bd664c8ee6fb9daa737e74b70e0f708ad2b635ab897139bdc51e2fd |
| kalvenor-sample-sources-2026-11-09.csv | sources | sources 405 | 86,551 | b0c9fb27b0cb6c9cecf16d17a23ef3083e7bb63efb094226dfcdff3060a812fb |
| kalvenor-sample-fixes-2026-11-09.csv | fixes | fixes 7 | 3,990 | b5ba59da7aeeb81b6258b96c48b4d8ca572e2550c5e12db77ec2f74c44a50e74 |
The checksum line inside the complete files reads SHA-256 of the data: 625207e8f27b875ba2f584a93ce652b998f88756ae28c8247b9abe43a0ae1826. The manifest lists each file's data checksum. Open the JSON file to recompute it.
Related: reproduce a rate from its evidence, check a complete account archive, review a change and its publication record and read every integration, including the Looker Studio and NinjaCat data sources that serve these sections.