zinc-database
ZINC Chemical Library Database (ZINC22 / CartBlanche)
Overview
ZINC (ZINC Is Not Commercial) is a free database of commercially available compounds curated for virtual screening. The current generation, ZINC22, holds billions of make-on-demand and in-stock molecules and is served through the CartBlanche web application at cartblanche22.docking.org. CartBlanche exposes a small JSON API to look up substances by ZINC ID, resolve a SMILES to its ZINC identifier, and inspect supplier/catalog purchasability.
Important — the old ZINC15 REST API no longer works for automated access.
zinc15.docking.org(andzinc.docking.org) now sits behind a site-wide CAPTCHA: every request to/substances.json,/tranches/...,/substances/{id}.json, etc. is redirected to a/captcha/page or returns403 Forbidden. Any script using themwt__gte/availability/similarityquery parameters againstzinc15.docking.orgwill fail. Use the ZINC22 CartBlanche endpoints documented below instead.
Three things about ZINC22/CartBlanche that change how you use this skill:
- There is no server-side property-range query. ZINC22/CartBlanche has no
mwt__gte/logp__lte/hbd__ltesearch. You filter by molecular property by either (a) selecting tranches (a 2D MW x logP grid) for bulk download, or (b) retrieving compounds and filtering locally with RDKit. This skill shows the local-RDKit approach. - SMILES lookup is asynchronous. You POST a SMILES, receive a
taskid, and poll for the result. Exact-match lookup completes in seconds. - Reliable programmatic search = exact match. The API's broader analog search (
dist> 0) is slow and frequently times out on the public server, and the Smallworld similarity search is a website-only flow. Treat exact SMILES → ZINC ID lookup as the dependable primitive; see the "Analog / Similarity Search" note for the (limited) alternatives.