The historical supplement Record, for software and agents
Know what a supplement declared before it changed.
FormulaSignal keeps a permanent, dated record of what U.S. pre-workout products declare, what they cost per serving, and how that has moved. 101 products across 22 brands, 322 dated observations, every finding tied to a first-party source you can open. Call it over REST or connect an agent over MCP.
Get a free API key Connect an agent over MCP
No card. No sales call. 30 requests a minute, and a daily limit on how much of the Record one key may read, which is documented exactly.
WHY NOT JUST SCRAPE THE PAGE
A product page has no memory. That is the whole product.
Fetching a manufacturer page tells you what it says today. It cannot tell you what the label said in 2023, whether the difference is a reformulation or a renamed ingredient, or whether anybody has checked. Those are the four things below, and none of them is recoverable from the live page.
Canonical identity
“C4” is six products. Resolution returns one canonical id or an explicit ambiguity, and never guesses between adjacent products.
Preserved prior states
Dated captures with the source archived and hashed, so a before-and-after is two observations rather than one page and one memory.
Reviewed changes
3 confirmed Signals, each with two comparable dated states, a named review date, and both source links. An unreviewed candidate never reaches this API.
Honest limits
Every answer carries what it cannot support. An observation window is not an exact change date, an undisclosed amount is not zero, and an unknown price basis is not a list price.
QUICKSTART
Five commands to a trusted answer.
Every command below runs against production. Nothing here needs a repository, a clone, a build step or a database.
Get a key
Enter an email address, open the link, click create. The key is shown once and is never recoverable afterwards, so put it somewhere before you close the tab.
export FORMULASIGNAL_API_KEY="fsk_live_..."Resolve a name to a canonical product
Always the first call when you hold a name a person typed. “C4” is ambiguous and this tells you so rather than picking one.
curl -s https://formulasignal.com/api/v1/products/resolve \ -H "Authorization: Bearer $FORMULASIGNAL_API_KEY" \ -H "Content-Type: application/json" \ -d '{"identifier":"C4 Original"}'Read what it declares now
Ingredients with declared amounts, serving configuration, captured price with its basis, and the date each was observed.
curl -s https://formulasignal.com/api/v1/products/cellucor-c4-original \ -H "Authorization: Bearer $FORMULASIGNAL_API_KEY"Read the evidence and the limits
Two fields decide whether you may publish the answer.
limitationsis what this answer cannot support.source_referencesis where each fact came from, with the date it was read.curl -s https://formulasignal.com/api/v1/products/cellucor-c4-original \ -H "Authorization: Bearer $FORMULASIGNAL_API_KEY" \ | jq '{status, limitations, sources: .source_references}'Read a confirmed change
The before state, the after state, the observation window, the review date, and both archived sources.
curl -s https://formulasignal.com/api/v1/products/cellucor-c4-original/history \ -H "Authorization: Bearer $FORMULASIGNAL_API_KEY"
The trap worth knowing before you ship. Ask FormulaSignal exactly when C4 Original was reformulated and it will not tell you, because nobody knows. What it holds is two dated observations and the window between them. Any answer your product gives that names a day is a day your product invented. The evidence model explains the six date fields and why they are separate.
CORE JOBS
What software actually asks the Record.
Ground an answer
Resolve the product, read the current record, cite the source and the observation date. See the recipe.
Watch for change
Poll /api/v1/signals?since= in release order and get confirmed changes as they are published. See the recipe.
Compare two products
On consistent criteria, with a refusal rather than a guess when either side is below measured depth.
Place a dose in context
What published work used, with the citation, the evidence class, and what a dose comparison does not establish.
18 capabilities in total, each with one scope and one meaning across both transports. See the full reference or read the OpenAPI document.
FOR AGENTS
One URL and a key.
The MCP endpoint is a remote Streamable HTTP server. There is nothing to install and no package to trust.
A CLI THAT ADDS REMOTE MCP SERVERS
<your-agent-cli> mcp add --transport http formulasignal \
https://formulasignal.com/mcp \
--header "Authorization: Bearer $FORMULASIGNAL_API_KEY"