Developers
PepBank API
Read PepBank data from your code or your AI tools. The REST API and the MCP server are free and use the same data. You do not need a key to start.
Quickstart
Get the evidence summary for BPC-157:
curl https://pepbank.io/v1/briefs/bpc-157The answer is JSON. A short part of it:
{
"evidence_summary": {
"human": { "findings": 12, "publications": 3 },
"animal": { "findings": 907, "publications": 151 }
},
"key_findings": [{
"statement": "In women with interstitial cystitis who did not respond to pentosan polysulfate, 10 of 12 reported complete resolution of symptoms after one BPC-157 treatment.",
"evidence_class": "human",
"citation": { "pmid": "39325560", "year": 2024 }
}],
"credit": { "text": "Data from PepBank", "url": "https://pepbank.io/p/bpc-157" }
}Connect an AI tool
The MCP server gives Claude, ChatGPT, Cursor and other AI tools 15 tools for PepBank data.
claude mcp add --transport http pepbank https://pepbank.io/mcpConnect Claude Code to the hosted server.
API key
A free account gives you an API key with a higher daily limit.
curl https://pepbank.io/v1/briefs/bpc-157 \
-H "Authorization: Bearer $PEPBANK_API_KEY"Keep the key on your server. Do not put it in browser code.
Main endpoints
| Endpoint | What it returns |
|---|---|
| GET /v1/resolve?name= | The peptide that a name or alias means |
| GET /v1/briefs/{peptide} | The evidence summary and key results |
| GET /v1/findings | Study results, with filters |
| GET /v1/publications | Studies |
| GET /v1/trials | Registered trials |
| GET /v1/changes | Every change since a data version |
Build a chatbot
Use PepBank data to answer peptide questions in your own chatbot or AI agent.
Connect your chatbot
Your chatbot connects to our MCP server at https://pepbank.io/mcp. Make the connection from your server, and keep your API keys in server environment variables. You need two keys: a PepBank key, which you create on your account page, and a key from your model provider.
Each example sends your PepBank key in the Authorization: Bearer header, so the calls use the limit of your own account.
import { createMCPClient } from '@ai-sdk/mcp';
import { streamText } from 'ai';
const mcpClient = await createMCPClient({
transport: {
type: 'http',
url: 'https://pepbank.io/mcp',
headers: {
Authorization: `Bearer ${process.env.PEPBANK_API_KEY}`,
},
},
});
const tools = await mcpClient.tools();
const result = await streamText({
model: 'anthropic/claude-sonnet-5.5',
tools,
prompt: 'Use get_peptide_brief for BPC-157. Credit PepBank with a link.',
onFinish: async () => { await mcpClient.close(); },
});
// In a Next.js route, return result.toTextStreamResponse().Send the API key in the Authorization header. Calls from a model provider share its network addresses. The key selects your account limit.
The examples follow the official docs of the Vercel AI SDK, the Claude API and the OpenAI Responses API, as of 21 October 2026.
To use REST instead, call https://pepbank.io/v1. The OpenAPI file describes its requests and responses.
Terms for business use
Credit PepBank with a link near each answer that uses PepBank data. Do not suggest that PepBank endorses you, a seller or a product. Keep the meaning of evidence grades, study results and warnings, and show the date of the data.
A chatbot run by a seller must tell its users that the answers use public research data and are not medical advice.
PepBank data is under the CC BY 4.0 license. Open data explains the license.
Showing PepBank data
- Credit PepBank with a link near each answer that uses its data.
- Show whether a result comes from people, animals, lab work or a computer model.
- A dose in a result is the dose that one study used. It is not advice.
Show the prompt for your AI agent
You can read PepBank, a database of peptide research, through its REST API at https://pepbank.io/v1. Start here: - Read https://pepbank.io/llms.txt. The full API description is at https://pepbank.io/v1/openapi.json. - Resolve a peptide name first: GET /v1/resolve?name=<name>. If the status is "ambiguous", ask me which peptide I mean. - Get a summary with GET /v1/briefs/<slug>. - For evidence about taking a peptide, use GET /v1/findings?peptide=<slug>&peptide_role=administered. Rules for every answer: 1. Show the evidence class of each result and call it Human, Animal, Lab or Computer model (API values: human, animal, laboratory, predicted). If a peptide has no human results, say so. 2. A result with peptide_role "endogenous_level" measures the body's own peptide. A result with role "other" comes from a study where the peptide was a tool, a carrier, part of a combination, or the subject of a method. Neither is evidence about taking the peptide. Do not present them that way. 3. A study with status "retracted" is never evidence. Say it was retracted. 4. Cite the PMID or the DOI of each source, and give the data_seq of the answer. 5. A dose in a result is a studied dose, with its species and route. It is not advice. 6. total_count is exact. A result list that is empty does not prove that no evidence exists. A study with the notice contains_unchecked_papers has no study results. 7. Say that an AI model wrote each result and a second AI model checked it. End with: PepBank is a research reference. Talk to a doctor before you use any peptide.
Limits
Each answer has RateLimit headers that show what is left. The API reference explains them.