Skip to content

Read your measurement with your own tools.

A read only API with an OpenAPI description, signed webhooks that also speak to Slack and Teams, and a connector that lets Claude or ChatGPT read the findings and the receipts under them. A public demo key opens a fictional sample account with no sign up.

Included with every account, free accounts included. There is no API price.

Everything a view in the account shows, the API serves in the same shape, receipts included. The point is that a number we publish can be checked by a machine you control, not only read on a page we drew.

The developers page inside the app, with the keys, the webhook destinations and the connector setup.

Base. https://app.broadcastwell.com/api/v1. Every route is a GET. Version 1 changes only by addition while it is offered, and any end of service date is published in the changelog in advance.
Description. An OpenAPI 3.1 document at https://app.broadcastwell.com/api/v1/openapi.json, public and needing no key, so a client can be generated rather than written.
The method as data. https://app.broadcastwell.com/api/v1/method returns the method version, the definitions, the engines, the proof rules and the stated limits, so a tool reading the numbers can also read what they do not prove.
Keys. An account owner creates a key on the account page. It is shown once, stored as a one way hash, read only and revocable, and its last used time is shown. 60 requests a minute and 5,000 a day.
Public demo key. Send bwp_demo_kalvenor_sample as a bearer token and read the fictional Kalvenor sample account. Every response carries a sample flag and a notice that the company is fictional. Any other account answers 404. 30 requests a minute per address.
Data table: Route, What it returns
RouteWhat it returns
/meThe account behind the key.
/methodThe method as data: version, definitions, engines, proof rules, and what the numbers do not prove.
/accounts/{account}/runsMeasurements and free checks, including incomplete states.
/runs/{run}/summaryOne measurement, with counts and rates.
/runs/{run}/questionsEvery buyer question in the run and its counts.
/runs/{run}/receiptsObserved answer text and cited URLs. Filter by question, engine, pass or verdict.
/runs/{run}/displacementWho was named instead, per question and engine.
/runs/{run}/sourcesPages the engines cited, with times cited and by which engines.
/runs/{run}/fixesThe fixes attached to the measurement.
/runs/{run}/compare/{other}Two runs on shared questions and engines. Refused across method versions.
/accounts/{account}/historyNamed rate per scheduled run, by account, engine or question type.
/accounts/{account}/alertsMovements where the intervals separate.
/accounts/{account}/proofControlled lift experiments, with the four counts and the verdict.
Paths are relative to the base. Paging is by cursor, ETag and If-None-Match are supported, and errors are returned as problem documents carrying a code and a detail that says what to do next.

Engine identifiers are chatgpt, claude, perplexity, google_aio and google_ai_mode, and their labels are ChatGPT, Claude, Perplexity, Google AI Overviews and Google AI Mode.

A webhook tells you when a measurement lands or when something moves, so nobody has to sit and refresh a page. Add a destination in the account, choose the events, and verify the signature on arrival.

Data table: Event, When it fires
EventWhen it fires
run.completedA measurement or a monthly re-measure was delivered.
alert.firedA named rate moved between two consecutive comparable scheduled runs and the intervals separate.
fix.updatedA fix changed owner, status or review date.
proof.updatedA proof result changed.
webhook.testSent only by the Send test event button.
Signature. Broadcastwell-Signature carries a timestamp and an HMAC SHA-256 over the timestamp and the raw body. Reject timestamps more than 300 seconds out. The delivery also carries its event name, event id and delivery id.
Retries. 1 minute, 5 minutes, 30 minutes, 2 hours, 12 hours, then the event is abandoned. One destination never receives the same event twice. The last 50 delivery attempts per destination are kept so a failure can be read rather than guessed at.
Slack and Teams. A Slack or Teams destination receives a short message through the same path instead of the signed payload, so an alert can land in a channel without anything being built.

Fifteen read only tools, so an assistant can answer questions about your own measurement from the measurement itself rather than from a summary somebody pasted into it. Nothing in the connector writes.

list_runs, get_results, get_question, get_receipts, get_fixes, get_index_category, get_history, get_displacement, get_sources, get_proof, list_alerts, search_answers, compare_runs, get_battlecard, get_method.

Try it with no token. The public demo endpoint at https://app.broadcastwell.com/mcp/demo/kalvenor reaches the same fifteen tools on the fictional sample account and needs no token at all. A client that insists on a token can send bwp_demo_kalvenor_sample.
Your own account. Add https://app.broadcastwell.com/mcp/account in your assistant and choose to sign in. You are sent to Broadcastwell, you sign in, and you allow the connection on a consent screen. No token is pasted anywhere. The connection reads that account and nothing else, and it writes nothing. Access is granted for one hour at a time and renews while the connection is in use. End it whenever you like under Connected apps in your account, which stops access at once.

Kalvenor Systems is a fictional company. Everything in the sample account is SAMPLE DATA and is there so you can see the views before you buy.

Read your measurements where you already work. Every integration is read only: it writes nothing, changes nothing and starts no measurement.
Data table: Integration, What it does
IntegrationWhat it does
SmitheryThe connector, published and verified on the Smithery marketplace, with all fifteen tools listed.
Claude and ChatGPTAdd the connector to an assistant and ask about your own measurements in plain language.
The public sampleThe same fifteen tools over a fictional data set named Kalvenor, with no sign in. The endpoint is app.broadcastwell.com/mcp/demo/kalvenor.
The read only APIOpenAPI 3.1, with account keys you create and revoke yourself.
Only integrations that are live are listed here.

Nothing here needs an account to try. The public sample reads a fictional data set named Kalvenor with no sign in at all.

What does the API cost?

Nothing. Every account, including a free one, can read its own data and the public sample. The API is part of the product rather than an add on, and there is no API price.

Is it read only?

Yes. Version 1 of the API reads. It does not start measurements, change fixes or write anything to your account.

How do I try it without an account?

Use the public demo key, bwp_demo_kalvenor_sample, as a bearer token and read the fictional sample account. It reads the sample and nothing else; any other account answers 404. The limit is 30 requests a minute per address.

What are the limits on a real key?

60 requests a minute and 5,000 a day per key. Keys are made by the account owner, shown once, stored as a one way hash, read only, revocable, and the last used time is shown.

How do I know a webhook came from you?

Every signed delivery carries a Broadcastwell-Signature header holding a timestamp and an HMAC SHA-256 over the timestamp and the raw body. Reject a timestamp more than 300 seconds out. Retries run at 1 minute, 5 minutes, 30 minutes, 2 hours and 12 hours, then stop, and no destination is delivered the same event twice.

What does the connector give an assistant?

Fifteen read only tools over the same data the API serves, so Claude or ChatGPT can read the findings, the receipts under them and the method, and answer questions about your own account. The demo endpoint reads the fictional sample and needs no token.

How are rates and counts shaped?

Every rate is an object carrying its percentage, its low and high bounds, its interval and its base, and the integer count is given beside it. Headline figures are scheduled runs only; adaptive runs are a separate labelled block and the two are never added together.

API keys, connector tokens and webhooks read your own account data and the public sample. Access is read only and subject to the published limits. The full clause, including when a key may be suspended, is on the terms page, and what is stored for a webhook, a share link or a key is on the privacy page.

Start with a measured baseline

See which buyer questions leave you out, the sources visible in those answers, and the three changes worth testing first. The Category Audit covers ten questions; the Diagnostic extends to 35 questions and 525 scheduled observed answers, adaptive runs extra. AI answers vary, so repeated observations and disagreements are reported.

Start with the $490 Category Audit

Results appear in your account; a sign-in link arrives by email. Credits in full against the Diagnostic within 30 days.

Get the Diagnostic, $990

Results appear in your account; a sign-in link arrives by email. Credits in full against the program.

Every figure comes from the published method, v1.1.