Doğru Bilim for developers
API reference
Three operations bring Doğru Bilim into your own software over a simple REST API: verify a claim, check citations, and add citations. Each returns the same rich evidence cards the Doğru Bilim app shows — and /v1/ask-paper lets you chat with any single source they surface. Authenticate with a developer key; every fresh request spends one Doğru Bilim credit. Prefer to connect an AI assistant instead? See the MCP connector.
Authentication
All requests need an API key, sent as a bearer token. Create and manage keys on the developers page. Keep keys secret and server-side — never ship one in client code.
Authorization: Bearer scitrue_sk_live_…
Base URL: https://api.scitrue.ai/v1Each fresh call spends one credit from your account; an identical repeat is served from cache for free. Fair-use rate limits apply.
Try it
Paste a key, pick a core operation, and send a real request.
Runs a real request from your browser and spends one credit. Get a key on the developers page.
Core operations
The three tools below are the product surface. Each returns evidence cards in one shared, flat shape (see Response fields), and every card carries a corpus_id you can hand to ask-paper.
POST/v1/verify
Verify a scientific claim against published evidence. Returns a verdict, an executive summary, evidence cards, and numbered references.
| Field | Type | Required | Description |
|---|---|---|---|
claim | string | yes | The scientific claim or question (verbatim). |
k | integer | no | Articles to retrieve and weigh (10–30). Default 10. |
search_mode | string | no | 'fulltext' or 'abstract' (default). |
year_from | integer | no | Only include articles from this year onward. |
curl -X POST https://api.scitrue.ai/v1/verify \
-H "Authorization: Bearer $SCITRUE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"claim": "Creatine improves memory", "k": 10}'POST/v1/check-citations
Check whether cited sources support, overstate, contradict, or don't address their claims. Every checked citation carries a full evidence card.
| Field | Type | Required | Description |
|---|---|---|---|
text | string | no | A passage with in-text citations + a reference list (auto-extracted). |
pairs | array | no | Explicit claim+source pairs (claim, citation, doi/url/title/full_text). |
max_citations | integer | no | Max citations to extract from text (default 6). |
curl -X POST https://api.scitrue.ai/v1/check-citations \
-H "Authorization: Bearer $SCITRUE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"text": "Green tea improves alertness (Jones, 2018).\n\nReferences\nJones 2018, ..."}'POST/v1/add-citations
Find real sources for uncited claims and return suggested sources (each a full evidence card), a citation-ready rewrite, and a numbered reference list its [n] markers map to.
| Field | Type | Required | Description |
|---|---|---|---|
text | string | no | A passage — decomposed into claims, then sourced and reframed. |
claims | array | no | Explicit claims to source verbatim (no decomposition), instead of text. |
per_claim | integer | no | Evidence items to fetch per claim (1–10, default 3). |
stage | string | no | 'cite' (find + build, default) or 'refine' (rebuild from kept sources, free). |
proposal_id | string | no | From a prior 'cite' call; required for stage='refine'. |
keep | array | no | Candidate ids to keep on refine, e.g. ['1.1']. |
curl -X POST https://api.scitrue.ai/v1/add-citations \
-H "Authorization: Bearer $SCITRUE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"text": "Regular aerobic exercise increases hippocampal volume."}'Ask a paper — the attribution follow-on
Ask-paper isn’t a fourth operation you invoke cold — it’s the follow-on for a paper the three tools already surfaced. The typical flow: call /v1/verify (or check / add), take the corpus_id off any evidence card, and pass it here to interrogate that source — Doğru Bilim fetches its full text for you. For a standalone paper (not from a prior call), pass a doi or the paper’s abstract / passages instead.
POST/v1/ask-paper
Chat with a single paper — a grounded Q&A turn answered only from that paper. Point it at an attribution from a verify/check/add card (corpus_id), a standalone paper (doi), or supply the text. First question spends a credit; follow-ups in the same session are free.
| Field | Type | Required | Description |
|---|---|---|---|
question | string | yes | What to ask this paper. |
context.corpus_id | string | no | CorpusId from a verify/check/add evidence card — Doğru Bilim fetches the full text. The usual handle. |
context.doi | string | no | DOI of a standalone paper — fetches open-access full text (PDF / PubMed Central). |
context.abstract | string | no | Or supply the paper text directly to ground on. |
context.passages | string | no | Additional paper text (methods/results) to ground on. |
context.claim | string | no | The claim this paper is evidence for (so “does it support the claim?” resolves). |
history | array | no | Prior {role, content} turns of this session (up to 10 questions). |
curl -X POST https://api.scitrue.ai/v1/ask-paper \
-H "Authorization: Bearer $SCITRUE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"question": "What was the study design and the sample?",
"context": {"corpus_id": "279946754",
"claim": "Creatine improves working memory"}}'Response fields
Responses carry the same rich, structured evidence the Doğru Bilim app shows — so you can render a full report in your own product. Every evidence card is the same flat shape, whether it comes from /v1/verify (in evidence_cards), a /v1/check-citations result (in evidence_card), or a /v1/add-citations suggested source (in evidence_card). Each card includes:
relevant_sentence— the key sentence the verdict rests on.source_excerpt— the exact paragraph it was drawn from (withsource_excerpt_truncated).supporting_conditions/refuting_conditions— the validity conditions (population, dose, design caveats) under which the finding holds. Each is an object:{ text, source, section, implied }— the condition, the verbatim quote it's grounded in, the section that quote came from, and whether it was implied rather than explicitly stated.study_type_label,evidence_strength— the design and how strong it is.credibility_tier,credibility_score— the journal’s reputation (SJR quartile).corpus_id— the paper’s Semantic Scholar id; hand it to/v1/ask-paperto chat with this source.stance,relation, source link / DOI, andbadges.
/v1/verify adds an overall accuracy_label verdict, an executive_summary, numbered references, and a report_url to the full interactive report.
/v1/add-citations returns candidates (suggested sources grouped by claim), a reframed_text citation-ready rewrite with [n] markers, a numbered references list those markers map to (author, year, title, journal, link — identical to the app), and a proposal_id for a stage="refine" follow-up.
/v1/check-citations returns a results array — each with a verdict, reasoning, and the full evidence_card above.
/v1/ask-paper returns the answer, the verbatim quotes it relied on, and grounding — full_text (fetched the paper’s body), snippets, or supplied (answered from the text you passed).
Errors
401— missing or invalid API key.402— out of credits. Sign in at scitrue.ai and click your credit balance to buy a pack.422— the input was understood but couldn’t be verified (e.g. not a scientific claim). The body carries anerrormessage.429— rate limited; back off and retry.
Questions
For higher volume or licensing, contact scitrue.ai@gmail.com.