ReplicateScience
ExperimentsPapersScientistsInstitutionsMethodologyDevelopersOffline
Submit paperGet API key
ReplicateScience

A programmable protocol library. Open-access papers in, reproducible protocols out. Built by ConductScience.

systems operational

Browse

  • Experiments
  • Papers
  • Scientists
  • Institutions

Build

  • API docs
  • Python SDK
  • Status
  • Changelog
  • Offline edition

About

  • Methodology
  • Submit a paper
  • ConductScience
  • Contact

Legal

  • Privacy
  • Terms
  • License

© 2026 ConductScience. All rights reserved.

replicatescience.com / protocols / evidence-backed methods

Python SDK + REST API

Protocols as code

Search, diff, and export structured experimental protocols from your terminal. Query from notebooks, integrate with ML pipelines, version like code.

In development. The protocol and equipment endpoints are being rebuilt along with the method pages. Today an API key returns only your account details, and the Python package cannot return protocols yet.
Terminal
pip install replicatescience

Diff protocols

Compare any two protocols — see exactly where they diverge on parameters, equipment, and procedure steps.

Export to YAML

Save protocols as git-trackable YAML files. Version your lab's procedures. Log deviations automatically.

Pipeline-ready

Typed Python objects. JSON and CSV export. CLI pipes with jq. Built for automation.

Quick Start

Search protocols
import replicatescience as rs

# Search protocols by keyword + species
results = rs.search("fear conditioning", species="mouse")
for p in results.protocols:
    print(f"{p.slug}: {p.name} ({p.step_count} steps)")
Diff two protocols
# Compare two protocols — see exactly what differs
a = rs.get("smith-fear-conditioning-2024")
b = rs.get("jones-fear-conditioning-2023")

diff = rs.diff(a, b)
print(diff.summary)     # "8 changes across 3 sections"
print(diff.to_markdown())
Export & version
# Export to YAML — version protocols like code
protocol = rs.get("smith-fear-conditioning-2024")
rs.save(protocol, "protocols/fear-conditioning.yaml")

# Compare your actual procedure against the canonical one
canonical = rs.load("protocols/fear-conditioning.yaml")
actual = rs.load("my-run-2026-03-12.yaml")
deviations = rs.diff(canonical, actual)

CLI

Every SDK function is also available as a terminal command. pip install replicatescience gives you both import replicatescience and the rs command.

Terminal
# Search from terminal
rs search "pcr" --species mouse --limit 5

# Diff two protocols (remote slugs or local YAML files)
rs diff smith-2024 jones-2023
rs diff my-run.yaml smith-2024

# Export to YAML, JSON, or CSV
rs get smith-fear-conditioning-2024 --format yaml > protocol.yaml

REST API

Prefer raw HTTP? All endpoints return JSON with pagination and rate limit headers.

curl
# REST API — all endpoints return JSON
curl -H "Authorization: Bearer rs_live_YOUR_KEY" \
  "https://replicatescience.com/api/v1/protocols?q=fear+conditioning&species=mouse"

# Get full protocol with steps and equipment
curl -H "Authorization: Bearer rs_live_YOUR_KEY" \
  "https://replicatescience.com/api/v1/protocols/smith-fear-conditioning-2024"

Base URL: https://replicatescience.com/api/v1

GET /api/v1/protocols — Search & list protocols

GET /api/v1/protocols/{slug} — Full protocol detail

GET /api/v1/protocols/{slug}/equipment — Equipment list

GET /api/v1/equipment — Search equipment

GET /api/v1/search — Unified search

GET /api/v1/me — API key info & rate limits

Get Your API Key

Instant access. No credit card. 100 requests per day on the free tier.

Free tier — 100 requests/day, no credit card required.

Plans

Free

$0

  • 100 requests / day
  • 10 exports / day
  • Community support

Pro

$29/mo

  • 5,000 requests / day
  • Unlimited exports
  • Priority support

Institutional

$99/mo

  • 50,000 requests / day
  • Unlimited exports
  • Dedicated support

ReplicateScience also runs offline on your lab's own server. See the offline edition