ResiduaPeptide Research Intelligence
Research integration

Sources & the API-ready layer

Where our citations point, and how a real backend can plug in. The endpoints below are documented contracts with working local mock responses.

Peer-reviewed databases

Where we link out

Primary literature and registries. We favour original sources over secondary summaries.

Integration layer

API-ready endpoints

The front-end already reads from a data layer. Swap the in-memory arrays for these endpoints to go live — the response shapes are fixed contracts.

Responses below are structured placeholders. They demonstrate the schema and must be backed by a verified source pipeline before any data is presented as a scientific claim.
GET/api/research/latest-peptide-studies
Returns the most recent items in the research feed. Mock file: api/research/latest-peptide-studies.json.
// 200 OK · application/json
{
  "endpoint": "/api/research/latest-peptide-studies",
  "updated":  "2026-06-09T00:00:00Z",
  "count":    6,
  "disclaimer": "Placeholder data — replace with verified source feed.",
  "results": [
    { "date": "2026-06-09", "title": "…",
      "source": "PubMed", "category": "metabolic" }
  ]
}
GET/api/research/search?q={term}
Full-text search across the article index. Mock file: api/research/search.json.
// GET /api/research/search?q=glp-1
{
  "endpoint": "/api/research/search",
  "query":    "glp-1",
  "count":    1,
  "results": [
    { "slug": "glp1-receptor-agonists-overview",
      "title": "GLP-1 receptor agonists…",
      "category": "metabolic", "evidence": "clinical" }
  ]
}
GET/api/research/article/{slug}
Single article with full body and references. Wire to a CMS or static JSON per slug.
// fetch + render pattern used by the front-end
const res  = await fetch("/api/research/article/" + slug);
const data = await res.json();
renderArticle(data); // same shape as data.js ARTICLES[]

Try the mock endpoints

Runs against the local JSON mock if served over HTTP; otherwise falls back to the in-memory data layer.

// response will appear here