OPEN DATA API · v1

开放数据接口

免费 · 不用注册 · 不用 key · 中英双语 ·

MolAstria 整理的数据可以直接被程序读取:每个数据集是一个静态 JSON 文件,用任何语言发一个 GET 请求就能拿到。网页可以跨域读取,AI 智能体也可以直接用。想让程序提交计算,看最后的 计算接口

搜一下代码数据集嵌入卡片给 AI 和程序许可计算接口

搜一下

下面这个搜索台只用了开放接口和一个不到 200 行的 JS 库,没有服务器。中英文同义词互通:搜“密度泛函”也会找到只写了 DFT 的条目。

    这次搜索的代码

    跟着上面的搜索变,复制就能跑。

    数据集

    正在读取数据集列表…

    总入口列出全部数据集、条数和核对日期: https://molastria.com/api/v1/index.json

    嵌到你的网页里

    一行代码,把一组资源放到课程主页、课题组 wiki 或博客上。卡片自带样式,不受所在页面影响;数据更新后卡片跟着更新。

    贴到网页里:

    给 AI 和程序

    llms.txt
    给大模型看的站点说明,告诉它数据在哪、怎么署名。
    openapi.json
    OpenAPI 3.1 描述,数据接口和计算接口都在里面。数据的字段结构是从数据本身推出来的,可以直接导入支持 OpenAPI 的智能体平台和代码生成器。
    molastria.mjs
    零依赖的 JS 库,浏览器、Deno、Node 18 以上都能用,带中英互通的搜索。
    molastria.py
    Python 客户端,一个文件,不用安装别的包。读数据集,也能一行提交计算并等结果,用法见下面的计算接口。
    chemdb-agent
    MolAstria 的 MCP 服务器,装在自己电脑上,让 Claude 等客户端直接检索晶体、分子和量子化学数据,配上 API key 还能直接提交计算。它随包带着同一份资源目录,离线也能查。

    约定

    许可与署名

    CC BY 4.0 许可:可以免费使用、转载和改编,包括商业用途,只要注明来源。署名写法: MolAstria (https://molastria.com)

    这个许可适用于 MolAstria 自己整理和撰写的内容:条目的选取与分类、中英文说明、核对记录。第三方的名称、标题、链接和价格属于各自的权利人,这里只作事实引用。网站代码另按 MIT 许可开源。

    计算接口

    上面读的是整理好的数据,这一段让程序提交计算:用机器学习势(UMA、eSEN、AllScAIP、ANI-2x)做单点能、几何优化、振动频率、构象搜索、二面角扫描、分子动力学、反应能、电离能这些计算。任务排的队就是 在线模型页的队

    要一个免费账号的 API key。带 key 的请求不限来源网站:脚本、笔记本、别人的网页都能调。

    先把算力说清楚: 算力是站长电脑上的 RTX 2080,尽力而为,可能离线。没有可用性承诺:人多要排队,电脑关机就算不了。不要把有时限的事情压在它上面。

    正在看这台电脑在不在线……

    1. 拿一个 key 用任何邮箱登录 账号页,在“API key”一栏生成。原文只显示一次,我们的数据库里只存它的哈希。
    2. 提交计算 发一个 POST 到 https://api.molastria.com/v1/jobs,请求头带 Authorization: Bearer mola_…,马上拿到任务编号。
    3. 轮询结果 每隔两三秒 GET 一次 /v1/jobs/{id},直到 status 变成 done (算完)或 error (出错)

    带上 key 试一次

    key 只留在这个页面的内存里,只发给 api.molastria.com,刷新页面就没了。这次计算会算进你今天的次数。

    下面的代码跟着上面的选择变,key 从环境变量里读,不会写进代码。

    接口

    请求作用
    GET /v1这套接口的说明和文档地址,不用 key
    GET /v1/status电脑最近一次探测在不在线,最近 7 天每天的在线率。不用 key
    GET /v1/me这个 key 的档位,今天用了几次、还剩几次
    GET /v1/models能用的模型、每个模型做哪些计算、每种计算花几次,以及电脑现在在不在线
    POST /v1/jobs提交一个计算,返回任务编号、花了几次和今天的余量
    GET /v1/jobs/{id}进度和结果;算完的任务保留一小时

    结果和在线模型页拿到的是同一份,能量单位是 eV。提交时的字段: model (模型代号)、 job (计算代号)、 smiles / xyz (分子,二选一)、 charge (电荷,-2 到 2)、 spin (自旋多重度,1 到 4)、 params (这种计算自己的参数,都可以不给,标了“必填”的除外)

    计算代号算什么花费(次)参数(params)

    反应能、键解离能和质子亲和能加上热校正时花 5 次,参数写 thermo: true

    电离能、自旋态能隙、键解离能和质子亲和能只有能处理电荷和自旋的模型做。每个模型做哪些计算,看 GET /v1/models

    规则

    还没有开放的

    网状查询的实体与关系还没有放进接口。想用它,或者接口缺了什么字段、计算接口缺了哪种计算,请告诉我们: GitHub Issues