Ship a clinical answer you can defend.

Graded, cited medical answers and safety checks behind your product, in a few calls.

curl "https://novolab.io/v1/ask" \
  -H "X-API-Key: $NOVOLAB_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "question": "Does creatine harm the kidneys?"
  }'

Five things this is already good for.

The engine does one job: it reads the literature, grades what it finds and refuses when the evidence is thin. These are the products that job makes possible.

An assistant that cites its sources

Health apps, clinical chat, patient-facing products

Put a question box in your product and get back an answer a clinician can check. Not a confident paragraph: a graded answer with the study attached, and a refusal when nothing solid supports one.

  • Each answer carries a GRADE letter your interface can show.
  • Every claim names the record it rests on, and the link opens it.
  • Thin evidence comes back as a refusal with the reason, not a guess.

A safety check before the prescription

EHR and e-prescribing vendors, pharmacy software

Run a patient's stack through an interaction and contraindication check at the moment it matters, and show the label span behind every flag rather than an opaque severity score.

  • Pairwise checks across a whole stack in one call.
  • Every flag is tied to the label text it came from.
  • No data comes back as an explicit no-data note, never as an all-clear.

A protocol builder that grades each step

Clinic software, practice management, longevity platforms

Generate a protocol from a case and let the evidence sort it: a well-supported step and a thin one never look alike on the page, and dosing stays withheld until a clinical advisor has signed it off.

  • Every step graded on its own evidence, not on the protocol's average.
  • Untracked compounds are flagged rather than quietly passed.
  • Once it is set up, the clinic's own formulary can decide what appears at all.

A teaching tool that shows its working

Medical education, CME, training platforms

Show trainees not just the answer but why the evidence behind it is strong or weak, from the same graded library the clinical product uses.

  • The grade and its rationale come back together.
  • Search and browse the graded library directly.
  • Long-form dossiers and comparisons for a whole topic.

A research surface over the literature

Research teams, pharma medical affairs, data teams

Ask the corpus rather than a search box: candidates for a case above a grade floor, compounds compared on their evidence, and dossiers you can hand to a review board.

  • Discovery filtered by a minimum grade, so thin evidence never surfaces.
  • Compare several compounds on the evidence behind each.
  • Every answer keeps a record that lets it be reconstructed later.

One engine, behind any surface

The grade, the citations and the refusal are part of the response, not part of our interface. They survive into a chat window, a protocol builder or a teaching tool without being rebuilt.

Ask it the way you’d ask a colleague

A chat interface your patients or clinicians already know. What arrives is not a confident paragraph: it is a graded answer with the study attached, and a refusal when there is nothing to stand on.

9:41

Ask

Can a patient on apixaban take St. John’s Wort for low mood?

Reading the label and three records

What dose of BPC-157 for a tendon then?

Searching for human dosing data

First answer in one request

One authenticated call returns the answer, its citations and the grade in a single response. The full reference for the public endpoints, every field included, is one page. The clinic endpoints are documented on request.

curl "https://novolab.io/v1/ask" \
  -H "X-API-Key: $NOVOLAB_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "question": "Does creatine harm the kidneys?"
  }'

Every response carries its sources

Each answer comes back with citations and a grade, so your product can show users where a claim comes from. Nothing returns without a reference behind it.

A refusal is a feature, not an error

When the literature cannot support an answer the engine says so, in a normal 200 response, with the reason and an insufficient-evidence grade. Render it. Users trust a product that admits the gap more than one that fills it.

Safety endpoints, called directly

Interactions and contraindications have their own endpoints, each answer tied to the label span it came from. Absence of data returns as an explicit note, never as an all-clear.

One key, from free to high volume

Start on the free tier and raise limits as traffic grows. Rates are set per key across per-minute, daily and monthly windows. Rotating a key in the portal can keep the old secret working for up to 7 days, so you can switch with no gap.

No request bodies in logs

Your question and the request body never reach a log. What is recorded per call is metadata: the route, the status, the latency and which key made the call, never the text of the question. One thing is kept as text: each claim the engine checked against a source, held 45 days so a person can review the check, then deleted. Send no patient identifiers and there are none to lose.

Reproducible on purpose

Every answer keeps a provenance record of the sources and grades behind it. An answer your user questions six months from now can be reconstructed rather than re-argued.

Build on checked evidence.

Start on the free tier and see what a grounded response looks like inside your own product.