Developer API and MCP server

The same peptide reference the site shows, as JSON and as a tool your AI assistant can call. 134 peptides with dosing, mechanism, evidence and citations. Free for non-commercial use with attribution.

REST API v1

Base URL: https://api.peptidelabs.app. JSON responses. No key is needed for read access; the server rate-limits by IP.

GET /api/v1/peptides
Every peptide, sorted by name, 50 per page. Query: ?page=, ?per_page= (max 100), ?category=<slug>, ?fields=a,b.
GET /api/v1/peptides/{slug}
One peptide by its URL slug, for example bpc-157. Same fields as the web page. 404 JSON when the slug is unknown.
GET /api/v1/categories
The category list: name, slug and peptide count.
GET /api/v1/search?q=
Name, alias, description and benefits search. At least 2 characters, at most 25 results.
GET /api/v1/openapi.json
The OpenAPI 3.1 document for everything above.

Every response is an envelope: data plus meta with total, page, per_page (lists only), generated_at, source, attribution, license (CC BY-NC 4.0) and the research-use disclaimer. Responses are cacheable for five minutes and the limit is 60 requests a minute per IP, reported in the standard RateLimit headers.

Quick start

curl https://api.peptidelabs.app/api/v1/peptides/bpc-157

curl "https://api.peptidelabs.app/api/v1/peptides?category=healing-recovery&per_page=5&fields=name,dose_min_mcg,dose_max_mcg,dose_unit"

curl "https://api.peptidelabs.app/api/v1/search?q=tb-500"

A record looks like this (trimmed):

{
  "data": {
    "id": 9,
    "slug": "bpc-157",
    "url": "https://peptidelabs.app/peptides/bpc-157/",
    "name": "BPC-157",
    "categories": ["healing & recovery"],
    "dose_min_mcg": 250,
    "dose_max_mcg": 500,
    "dose_unit": "mcg",
    "dose_frequency": "1-2x daily",
    "evidence_level": "preclinical",
    "references": [{ "title": "...", "doi": "10.xxxx/..." }]
  },
  "meta": {
    "source": "https://peptidelabs.app",
    "attribution": "Data from PeptideLab (https://peptidelabs.app). Link back required.",
    "license": "CC BY-NC 4.0",
    "disclaimer": "..."
  }
}

MCP server

Streamable HTTP endpoint: https://api.peptidelabs.app/mcp. Stateless, read-only, no login. Same 60 requests a minute per IP. Every result carries the source URL and the research-use disclaimer.

Tools

search_peptides(query, category?, limit?)
Find peptides by name, alias or keyword, optionally within one category. Up to 25 results.
get_peptide(slug)
The full record for one peptide: dosing, reconstitution, mechanism, evidence, side effects, storage, citations.
list_categories()
Every category with slug and count.
compare_prices(slug)
In-stock vendor prices for one peptide, cheapest per mg first, with product links.
reconstitution_calc(vial_mg, water_ml, dose_mcg)
Concentration in mg/mL, dose volume in mL and U-100 syringe units, with a plain-English line.
search(query) and fetch(id)
ChatGPT connector aliases. search returns {results: [{id, title, url}]}; fetch returns {id, title, text, url, metadata}. The id is the peptide slug.

Claude Code

claude mcp add --transport http peptidelab https://api.peptidelabs.app/mcp

claude.ai

Settings, then Connectors, then Add custom connector. Name it PeptideLab and paste https://api.peptidelabs.app/mcp. No OAuth step; leave the client fields blank.

ChatGPT

Settings, then Connectors, then Advanced, then turn on Developer mode. Create a connector with the URL https://api.peptidelabs.app/mcp and no authentication.

Cursor

Add to .cursor/mcp.json:

{
  "mcpServers": {
    "peptidelab": { "url": "https://api.peptidelabs.app/mcp" }
  }
}

Attribution

The data is free for non-commercial use. Show a visible link to peptidelabs.app wherever you display it, and keep the research-use framing intact. Commercial use needs a written agreement: support@peptidelabs.app.

For language models

/llms.txt is the index for crawlers and assistants, and /llms-full.txt carries every peptide page as markdown in one file. Both follow the llmstxt.org layout.

Research-use disclaimer

PeptideLab is an educational platform for learning about peptides. The information here is for educational and research purposes only. It is not medical advice, diagnosis, or treatment, and PeptideLab does not claim to diagnose, treat, cure, or prevent any disease or health condition. Many peptides discussed have not been approved for human use by the FDA or other regulatory bodies. Consult a qualified healthcare professional before making any health-related decision.