API documentation
JapanFold API¶
Fold proteins, co-fold complexes with ligands (and get binding affinity), design de-novo binders, and compute protein embeddings, over a free, public, keyless HTTP API. Boltz-2, ESMFold-2, Protenix-v2 and OpenDDE for structure prediction, BoltzGen and RFdiffusion3 for binder design, ESMC and SaProt for embeddings. No API key, no local GPU, nothing to install.
The model: submit → poll → download¶
Everything is an async job. Submit work, get back a job id, poll until the
status is terminal, then download the results.
POST /v1/predictions or POST /v1/designs → { "id": "...", "status": "running", ... }
GET /v1/jobs/{id} → poll until status is succeeded/failed/canceled
GET /v1/jobs/{id}/results → scores + a list of downloadable artifacts
GET /v1/jobs/{id}/archive → everything as one .zip
Statuses: queued → running → succeeded | failed | canceled.
Server artifacts are retained only temporarily. Download what you need and save it locally.
Fold your first protein in 3 calls¶
BASE=https://api.japanfold.com
# 1. submit: a bare `sequence` is the simplest input
JOB=$(curl -s -X POST $BASE/v1/predictions \
-H 'Content-Type: application/json' \
-d '{"model":"boltz2","name":"myprotein","sequence":"MKTAYIAKQRQISFVKSHFSRQLEERLGLIEVQ"}' \
| python3 -c 'import sys,json; print(json.load(sys.stdin)["id"])')
# 2. poll until done. `Prefer: wait=60` blocks up to 60s so it often returns finished.
curl -s -H 'Prefer: wait=60' $BASE/v1/jobs/$JOB
# 3. once status=succeeded: read scores, then download the structures
curl -s $BASE/v1/jobs/$JOB/results
curl -s $BASE/v1/jobs/$JOB/archive -o myprotein.zip && unzip -oq myprotein.zip -d myprotein
That's the whole workflow. Complexes, ligands, affinity, binder design and parameter choice are all variations on these three calls.
Where to go next¶
-
Keyless by default; an optional Bearer key scopes jobs to you instead of your IP.
-
Input shapes, models, co-folding, affinity, params.
-
BoltzGen and RFdiffusion3 binder design.
-
ESMC and SaProt protein embeddings (per-residue + pooled).
-
Polling, listing, cancel/delete, results, logs, artifacts, archive.
-
The model list, every parameter, and the caps.
-
Output parity against each model's reference GPU implementation.
-
The problem+json shape and the status codes.
-
End-to-end fold, co-fold+affinity and design in curl and Python.
-
Fold and design straight from your AI agent.
Network egress¶
If your environment sandboxes outbound HTTP, allow the host
api.japanfold.com. A 403 citing Cloudflare error 1010 is edge bot-filtering
of your HTTP client, not an API error: retry with a browser-like User-Agent.