数据接口 · 查询与调用

底层是开源软件 Datasette(Apache-2.0)只读直挂 SQLite;上面一层是本引擎自带的 REST + OpenAPI + MCP。全部 GET、CORS 全开、每分钟 120 次限流、30 秒缓存。

一、REST 接口(机器调用,带 OpenAPI 契约)

接口说明
/edukb/api/stats各表条数与分面(学校 203,431 / 高校 5,065 / 排名 2,000 / 专业 839)
/edukb/api/schoolsqprovincecitycountylevellimitoffset
/edukb/api/schools/{code}按 10 位学校代码取单条
/edukb/api/cities省市县区索引(带学校数),传 province 时同时返回该省的市与县区
/edukb/api/universitiesqcountry,中英文名都能搜
/edukb/api/rankingscountryrank_minrank_max
/edukb/api/majorsqdiscipline
/edukb/api/export.csv按当前筛选导出 CSV(table=schools/universities/rankings/majors)
/edukb/api/openapi.jsonOpenAPI 3.1 契约,可直接喂给 Swagger / 代码生成器
curl "https://e.aixgn.cn/edukb/api/schools?city=福州市&level=高中&limit=5"
curl "https://e.aixgn.cn/edukb/api/cities?province=福建"
curl "https://e.aixgn.cn/edukb/api/universities?q=中国科学院大学"

二、Datasette:任意 SQL 与表格 JSON / CSV

用法返回
/edukb/data/edukb/schools.json?city=福州市&_size=20单表 JSON(带行)
/edukb/data/edukb/schools.csv?city=福州市单表 CSV
/edukb/data/edukb.json?sql=…&_shape=array任意只读 SQL 的结果(数组)
/edukb/data/edukb/search_schools?q=实验小学预置查询:搜学校(≈搜高校 / 搜专业)
/edukb/data/edukb浏览器界面:分面筛选、翻页、导出
curl -G --data-urlencode "sql=select city,count(*) n from schools where province='福建' and city is not null group by city order by n desc" \
     --data "_shape=array" "https://e.aixgn.cn/edukb/data/edukb.json"

注:curl 传中文查询必须 -G --data-urlencode,否则服务端会把裸字节判为非法请求。

三、MCP(智能体直接调用)

同一份数据的 8 个工具,JSON-RPC 2.0,端点 POST /edukb/mcp:

edu_search_schools · edu_get_school · edu_search_universities · edu_ranking
edu_university_detail · edu_coverage · edu_region_grid · edu_rank_bands
curl -X POST https://e.aixgn.cn/edukb/mcp -H 'Content-Type: application/json' \
     -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

数据口径

学校 203,431(31 省,教育部公开名录口径);高校 5,065(CWUR 2,000 + 教育部 3,196),中国高校均有中文名;CWUR 2026 排名 2,000 条(中国 360);本科专业 839 个 / 90 专业类(官方 845,差额 6 个属军事学门类未公开)。city 覆盖 88.2%、county 78.8%,按校名中的行政区划建制名回填,未含区划词者留空不猜。