# 历年高考专业录取分数线

> 来源页面: https://www.gugudata.com/api/details/ceemajorline

## 概览

- API 标识: `ceemajorline`
- 分类: 教育/高考
- 描述: 高校专业各省录取分数线
- 标签: 复合查询条件 / 千万级数据
- 短标签: 基础数据 / 高考
- 详情页: https://www.gugudata.com/api/details/ceemajorline
- LLM Markdown: https://www.gugudata.com/api/details/ceemajorline/llm.md
- 数据预览: https://www.gugudata.com/preview/ceemajorline
- 购买开通: https://www.gugudata.com/order/ceemajorline
- APP KEY 管理: https://www.gugudata.com/portal/
- 订单与续费: https://www.gugudata.com/portal/orders

## 给大模型的接入指令

如果你正在帮助用户接入这个 API，请优先使用本文档中的接口地址、请求方式、请求参数、返回参数、状态码、cURL 示例和预览数据生成代码或排查问题。

- 接入目标: 调用 `历年高考专业录取分数线`，不要臆造未在文档中出现的参数或返回字段。
- AppKey 获取: 用户登录咕咕数据开发者中心后，在 `APP KEY 管理` 页面复制对应产品的 AppKey。
- AppKey 替换: 示例中的 `YOUR_APPKEY`、`APPKEY`、`{{YOUR_APPKEY}}`、`{{appkey}}`、`{{appKey}}` 都应替换为用户自己的 AppKey。
- AppKey 传递: 推荐使用 `X-GUGUDATA-APPKEY` 或 `X-API-Key` 请求头；OpenAI 兼容客户端可使用 `Authorization: Bearer <AppKey>`；历史 query 参数 `appkey` 继续有效。
- 开通与续费: 未开通时引导用户访问购买开通页；已开通或需要续费时，引导用户进入开发者中心或订单与续费页。
- 错误处理: HTTP 状态码代表传输层结果，响应体内的业务状态码代表接口业务结果，代码中应分别处理。
- 生产建议: AppKey 应保存在服务端环境变量或密钥配置中，由服务端统一发起请求，不要写入网页、App 客户端或公开仓库。

关键链接:

- 接口详情页: https://www.gugudata.com/api/details/ceemajorline
- LLM Markdown: https://www.gugudata.com/api/details/ceemajorline/llm.md
- 数据预览: https://www.gugudata.com/preview/ceemajorline
- 购买开通页: https://www.gugudata.com/order/ceemajorline
- 开发者中心 APP KEY 管理: https://www.gugudata.com/portal/
- 订单与续费: https://www.gugudata.com/portal/orders

## API 功能

- 2026 年数据已开始更新，数据每周人工维护更新；
- 全国高校各专业在全国各省的详细录取数据，从 2018 年至 2026 年；
- 千万级智能与人工校对数据；
- 提供按照高校分组的专业枚举信息前置查询接口；
- 在已有数据基础上，有定制化的接口也可联系我们；
- 多种查询参数条件便于多维度分析；
- 返回数据包含该专业录取的最低分、最高分、平均分、最低位次等信息；
- 数据持续更新与维护；
- 毫秒级查询性能；
- 全接口通过 HTTPS 提供服务；
- 全面兼容 Apple ATS；
- 全国多节点 CDN 部署；
- [接口调用状态与状态监控](https://www.gugudata.com/status)

## API 文档

- 接口地址: `https://api.gugudata.com/metadata/ceemajorline`
- 返回格式: `application/json; charset=utf-8`
- 请求方式: `GET`
- 请求协议: `HTTPS`
- 请求示例: `https://api.gugudata.com/metadata/ceemajorline?appkey=APPKEY&pageindex=1&pagesize=10&enrollprovince=&schoolname=&majorname=&majorNameStrict=false&specialId=&year=&min=0&batchname=&typename=&schooluuid=&schoolRegions=&schoolProvinces=&schoolCategories=&schoolNatures=&educationLevels=&schoolTags=&minrange=&subjectSelection=&sort=&excludeMajorCategory=false&restrictionTypes=`
- 接口测试: https://api.gugudata.com/metadata/ceemajorline/demo
- Apifox: https://doc.gugudata.com/
- Postman: https://www.postman.com/gugudata/gugudata-official/collection/1163860-22cb92f5-771a-48fd-89c0-f20a0790a8ce/?action=share&creator=1163860&active-environment=1163860-a95b31ef-324f-43db-b2fc-faa41f45bd35
- OpenAPI: https://www.gugudata.com/openapi/gugudata.openapi.3.1.json

### 前置接口

#### 历年高考专业录取分数线-专业类别

- 前置接口说明: 历年高考专业录取分数线-专业类别
- 前置接口地址: https://api.gugudata.com/metadata/ceemajorline/major-categories
- 前置接口参数说明: appkey=YOUR_APPKEY&nameOrMd5Id=NAME_OR_MD5ID&year=YEAR
- 前置接口参数备注: nameOrMd5Id: 高校名称或高校 MD5ID。YEAR: 具体年份下的专业数据，不传递时默认返回所有年份的分组统计枚举数据
- 前置接口返回格式: `application/json; charset=utf-8`
- 前置接口返回说明: 返回专业分类层级数据
- 前置接口请求方式: `GET`
- 前置接口请求协议: `HTTPS`


## 鉴权方式

接口支持以下 AppKey 传递方式，任选一种即可；已有请求示例、Postman 集合和历史代码仍可继续使用原来的 `appkey` 参数方式。

| 传输载体 | 参数 | 示例 | 说明 |
| --- | --- | --- | --- |
| HTTP Header | `X-GUGUDATA-APPKEY` | `X-GUGUDATA-APPKEY: YOUR_APPKEY` | 推荐方式，适合服务端接入和统一封装。 |
| HTTP Header | `X-API-Key` | `X-API-Key: YOUR_APPKEY` | 通用 API Key Header，便于和常见 API 客户端集成。 |
| HTTP Header | `Authorization` | `Authorization: Bearer YOUR_APPKEY` | 适合 OpenAI 兼容接口或 Bearer Token 风格客户端。 |
| Query 参数 | `appkey` | `?appkey=YOUR_APPKEY` | 兼容现有示例、Postman 集合、浏览器调试和历史代码。 |

> 部分历史 POST 接口仍兼容表单或 JSON body 中的 `appkey`；新接入建议优先使用 Header 或 Query 参数。

## 请求参数

| 参数名 | 参数类型 | 是否必须 | 默认值 | 备注 |
| --- | --- | --- | --- | --- |
| appkey | string | 是 | APPKEY | 付费后获取的 APPKEY |
| pageindex | integer | 是 | 1 | 分页参数，第几页 |
| pagesize | integer | 是 | 10 | 分页参数，每页总条数，取值范围在 10 ~ 50 之间 |
| enrollprovince | string | 否 |  | 招生省份的条件，如查询北京大学计算机科学与技术专业在江苏的录取数据，那么该值传递 “江苏” 即可。(enrollprovince、schoolname、majorname、specialId 四个参数都不是必选参数，但不可同时为空)，招生省份可选枚举：上海\|云南\|内蒙古\|北京\|台湾\|吉林\|四川\|天津\|宁夏\|安徽\|山东\|山西\|广东\|广西\|新疆\|江苏\|江西\|河北\|河南\|浙江\|海南\|湖北\|湖南\|甘肃\|福建\|西藏\|贵州\|辽宁\|重庆\|陕西\|青海\|香港\|黑龙江 |
| schoolname | string | 否 |  | 高校名称 (enrollprovince、schoolname、majorname、specialId 四个参数都不是必选参数，但不可同时为空) |
| majorname | string | 否 |  | 专业名称，如电气工程与智能控制、计算机科学与技术等，默认为模糊搜索，可通过参数 majorNameStrict 控制。(enrollprovince、schoolname、majorname、specialId 四个参数都不是必选参数，但不可同时为空) |
| majorNameStrict | boolean | 否 | false | 控制参数 majorname 是否为严格匹配搜索，默认为 false，模糊搜索 |
| specialId | integer | 否 |  | 专业 Id，如 22748，用于精确控制搜索的专业。(enrollprovince、schoolname、majorname、specialId 四个参数都不是必选参数，但不可同时为空) |
| year | integer | 是 |  | 必填。查询的录取年份，如 2023、2024、2025；取值必须大于 0。 |
| min | integer | 否 | 0 | 录取最低分查询条件，筛选出最低分小于等于查询条件的值。默认值为 0，不进行筛选 |
| batchname | string | 否 |  | 专业所属的录取批次，可使用英文逗号分隔传递多个值，格式为：本科二批,专科批。传递参数可选值为：一类模式本科\|专科批\|专科批A段\|专科批F段\|专科提前批\|专科提前批B段\|专科提前批E段\|体育专科提前批\|体育本科批\|体育本科提前批\|体育类专科批\|体育类专科提前批\|体育类本科批\|体育类本科提前批\|体育类本科第二批\|体育艺术本一U段\|体育艺术本二W段\|分类招生批\|区域专项计划本科批\|国家专项计划\|国家专项计划本科一批\|国家专项计划本科批\|国家及地方专项、南疆单列、对口援疆计划本科一批次\|国家及地方专项、南疆单列、对口援疆计划本科二批次\|地方专项计划批\|地方专项计划本科批\|地方农村专项计划本科批\|少数民族预科班\|平行录取一段\|平行录取三段\|平行录取二段\|提前一批本科\|提前二批本科\|提前批\|提前批A段\|提前批B段\|提前批第一批本科\|提前批第二批本科\|提前本科批\|无批次\|普通类一段\|普通类二段\|普通类平行录取\|普通类提前批\|本科A批\|本科A段\|本科B段\|本科一批\|本科一批A1段\|本科一批A段\|本科一批B段\|本科一批H段\|本科一批I段\|本科一批U段\|本科一批预科\|本科一段\|本科三批\|本科三批A段\|本科专项计划批\|本科二批\|本科二批A段\|本科二批B段\|本科二批C段\|本科二批K段\|本科二批及预科\|本科二段\|本科免费定向批\|本科批\|本科批A段\|本科批B段\|本科批C段\|本科批一段\|本科批平行组\|本科提前一批\|本科提前批\|本科提前批A段\|本科提前批B段\|本科提前批C\|本科提前批C段\|本科提前批艺术本科第二批\|本科提前批艺术类\|本科提前批艺术类A段\|本科提前批艺术类第1小批\|本科提前批（第2小批）\|本科第一批\|本科第一批提前批\|本科第一阶段\|本科第二批\|本科第二批提前批\|本科综合评价批\|本科艺术甲批平行段\|特殊类型招生批\|第一批\|第二批B段\|第二批第一段\|第二批第二段\|艺本一批\|艺术本科A段\|艺术本科B段\|艺术本科二批\|艺术本科批A段\|艺术本科批B段\|艺术本科批C段\|艺术本科提前批\|艺术本科提前批B段\|艺术类专科批\|艺术类专科提前批\|艺术类本科A段\|艺术类本科B段\|艺术类本科批\|艺术类本科批A段\|艺术类本科批B段\|艺术类本科提前批\|艺术类本科提前批B段\|艺术类第一批\|艺术类第二批\|艺术类第二批B段\|艺术类（本科二批B段）\|零志愿批次\|零批次\|高校专项计划\|高校专项计划批次\|高校专项计划本科批\|高职（专科）批R段 |
| typename | string | 否 |  | 专业所属的类型，传递参数可选值为：3+证书\|会计类\|体育文\|体育理\|体育类\|体育类（历史）\|体育类（物理）\|其他艺术\|农学类\|农林类\|医学类\|历史类\|园林类\|土建类\|学考\|学考文\|学考理\|幼师类\|建筑类\|护理类\|教育类\|文科\|旅游类\|服装设计与工艺类\|机械加工类\|汉授美术\|汉授音乐\|汽车类\|汽驾类\|烹饪类\|牧医类\|物理类\|理科\|电子商务类\|电子技术类\|电气技术类\|畜牧兽医类\|综合\|美工设计类\|美术类\|艺术文\|艺术理\|艺术类\|艺术类（历史）\|艺术类（物理）\|药剂类\|蒙授体育\|蒙授文科\|蒙授理科\|蒙牧医类\|计算机类\|财会类\|财经类\|音乐类 |
| schooluuid | string | 否 |  | 咕咕数据平台高校唯一 ID，此唯一 ID 可与 全国大学高校基础信息 、 历年高考专业录取分数线 等接口中的 SchoolUUID 进行唯一匹配 |
| schoolRegions | string | 否 |  | 院校所在热门区域，可使用英文逗号传递多个值。支持区域代码或名称，当前可选值请通过 /metadata/ceemajorline/enums 获取。 |
| schoolProvinces | string | 否 |  | 院校所在省份，可使用英文逗号传递多个值。支持枚举代码或名称，当前可选值请通过 /metadata/ceemajorline/enums 获取。 |
| schoolCategories | string | 否 |  | 院校类型，如综合类、理工类、医药类，可使用英文逗号传递多个值。当前可选值请通过 /metadata/ceemajorline/enums 获取。 |
| schoolNatures | string | 否 |  | 办学性质，如公办、民办、中外合作办学，可使用英文逗号传递多个值。当前可选值请通过 /metadata/ceemajorline/enums 获取。 |
| educationLevels | string | 否 |  | 学历层次，如本科、专科（高职），可使用英文逗号传递多个值。当前可选值请通过 /metadata/ceemajorline/enums 获取。 |
| schoolTags | string | 否 |  | 院校标签，如 985、211、双一流、强基计划、C9，可使用英文逗号传递多个值。当前可选值请通过 /metadata/ceemajorline/enums 获取。同一筛选项内多个值取并集，不同筛选项之间取交集。 |
| minrange | string | 否 |  | 录取最低分区间查询条件，使用逗号分隔，左右都为闭区间，格式为：500,700 |
| subjectSelection | string | 否 |  | 选科要求筛选条件，如：首选物理，再选化学。传递参数可选值为：不限\|化/史/地(3选1)\|化/史/生(3选1)\|化/地/史(3选1)\|化/地/生(3选1)\|化/政/史(3选1)\|化/政/生(3选1)\|化/生/史(3选1)\|化/生/地(3选1)\|化/生/政(3选1)\|化学/地理(2选1)\|化学/生物(2选1)\|化学、物理(2科必选)\|化学、生物(2科必选)\|化学必选\|历史/地理(2选1)\|历史/思想政治(2选1)\|历史/物理(2选1)\|历史/生物(2选1)\|历史、地理(2科必选)\|历史、思想政治(2科必选)\|历史、生物(2科必选)\|历史必选\|史/化/地(3选1)\|史/化/政(3选1)\|史/化/生(3选1)\|史/地/化(3选1)\|史/地/物(3选1)\|史/地/生(3选1)\|史/政/地(3选1)\|史/物/化(3选1)\|史/物/生(3选1)\|史/生/地(3选1)\|史/生/政(3选1)\|史、政、地(3科必选)\|史、生、地(3科必选)\|地/化/生(3选1)\|地/史/生(3选1)\|地/物/化(3选1)\|地/物/生(3选1)\|地、史、政(3科必选)\|地化物(3科必选)\|地史政(3科必选)\|地政物(3科必选)\|地理/历史(2选1)\|地理/物理(2选1)\|地理、历史(2科必选)\|地理、物理(2科必选)\|地理必选\|思想政治/历史(2选1)\|思想政治/地理(2选1)\|思想政治、历史(2科必选)\|思想政治必选\|政/化/生(3选1)\|政/史/化(3选1)\|政/史/地(3选1)\|政/史/物(3选1)\|政/史/生(3选1)\|政/地/史(3选1)\|政/地/物(3选1)\|政/地/生(3选1)\|政/物/化(3选1)\|政/物/生(3选1)\|政、地、史(3科必选)\|政地史(3科必选)\|物/化/史(3选1)\|物/化/地(3选1)\|物/化/政(3选1)\|物/化/生(3选1)\|物/史/化(3选1)\|物/史/地(3选1)\|物/史/政(3选1)\|物/史/生(3选1)\|物/地/史(3选1)\|物/地/生(3选1)\|物/政/史(3选1)\|物/政/地(3选1)\|物/政/生(3选1)\|物/生/史(3选1)\|物/生/地(3选1)\|物/生/政(3选1)\|物、化、地(3科必选)\|物、化、生(3科必选)\|物化生(3科必选)\|物理/化学(2选1)\|物理/历史(2选1)\|物理/地理(2选1)\|物理/思想政治(2选1)\|物理/生物(2选1)\|物理、化学(2科必选)\|物理、地理(2科必选)\|物理、思想政治(2科必选)\|物理、生物(2科必选)\|物理必选\|生/史/地(3选1)\|生/政/史(3选1)\|生/政/地(3选1)\|生化物(3科必选)\|生物/历史(2选1)\|生物、化学(2科必选)\|生物、物理(2科必选)\|生物必选\|首选不限，再选不限\|首选不限，再选化学\|首选历史，再选不限\|首选历史，再选化学\|首选历史，再选化学/地理(2选1)\|首选历史，再选化学/思想政治(2选1)\|首选历史，再选化学/生物(2选1)\|首选历史，再选化学、地理(2科必选)\|首选历史，再选化学、生物(2科必选)\|首选历史，再选地理\|首选历史，再选地理/生物(2选1)\|首选历史，再选思想政治\|首选历史，再选思想政治/地理(2选1)\|首选历史，再选思想政治/生物(2选1)\|首选历史，再选思想政治、地理(2科必选)\|首选历史，再选生物\|首选历史，再选生物/地理(2选1)\|首选历史，再选生物/思想政治(2选1)\|首选历史，再选生物、地理(2科必选)\|首选历史，再选生物、思想政治(2科必选)\|首选物理，再选不限\|首选物理，再选化学\|首选物理，再选化学/地理(2选1)\|首选物理，再选化学/思想政治(2选1)\|首选物理，再选化学/生物(2选1)\|首选物理，再选化学、地理(2科必选)\|首选物理，再选化学、生物(2科必选)\|首选物理，再选地理\|首选物理，再选地理/生物(2选1)\|首选物理，再选地理、生物(2科必选)\|首选物理，再选思想政治\|首选物理，再选思想政治/地理(2选1)\|首选物理，再选思想政治/生物(2选1)\|首选物理，再选思想政治、地理(2科必选)\|首选物理，再选生物\|首选物理，再选生物/地理(2选1)\|首选物理，再选生物/思想政治(2选1)\|首选物理，再选生物、地理(2科必选) |
| sort | string | 否 |  | 排序控制，格式为 字段\|排序方向。未传 sort 时使用默认排序：min > 0 时按 LowestScore\|desc、Year\|desc；min 为空或 0 时按 Year\|desc；同分或同年记录按系统稳定顺序补位。排序方向可选 asc、desc：asc 表示升序（从小到大），desc 表示降序（从大到小）。多个排序条件用英文逗号分隔，并按传入顺序依次排序。支持字段：HighestScore（录取最高分，对应返回字段 HighSocre）、AverageScore（录取平均分，对应 AverageScore）、LowestScore（录取最低分，对应 LowestScore）、LowestRank（录取最低位次，对应 LowestSection）、ProvincialControlLine（省控线，对应 ProScore）、EnrollmentType（招生类型，部分源数据有值）、SelectionLevel（选测等级，主要用于特定省份历史数据）。示例：LowestScore\|desc、LowestRank\|asc、HighestScore\|desc,LowestScore\|desc。 |
| excludeMajorCategory | boolean | 否 | false | 是否过滤专业大类数据，默认 false。传 true 时，过滤掉 MajorStandardCode 为空，或匹配 4 到 5 位大类编码的记录。 |
| restrictionTypes | string | 否 |  | 专业限报要求筛选。使用英文逗号传递多个代码，多个代码按 OR 匹配；可选值：physical_exam、stutter、hearing、left_handed、gender、academic_score、vision、color_vision、language、height。不传表示不按限报要求筛选。 |

## 返回参数

| 参数名 | 参数类型 | 备注 |
| --- | --- | --- |
| DataStatus.StatusCode | integer | 接口返回状态码 |
| DataStatus.StatusDescription | string | 接口返回状态说明 |
| DataStatus.ResponseDateTime | string | 接口数据返回时间 |
| DataStatus.DataTotalCount | integer | 此条件下的总数据量，一般用于分页计算 |
| DataStatus.DistinctSchoolCount | integer | 此条件下的高校数量，一般用于展示多少高校符合筛选条件 |
| DataStatus.RequestParameter | string | 请求参数，一般用于调试 |
| Data.ProvinceName | string | 招生的省份 |
| Data.SchoolUUID | string | 咕咕数据平台高校唯一 ID，此唯一 ID 可与 全国大学高校基础信息 、 历年高考高校录取分数线 接口中的 SchoolUUID 进行唯一匹配 |
| Data.SchoolName | string | 高校名称 |
| Data.SchoolProvince | string | 院校所在省份 |
| Data.SchoolCity | string | 院校所在城市 |
| Data.SchoolCategory | string | 院校类型 |
| Data.SchoolNature | string | 院校办学性质 |
| Data.EducationLevel | string | 院校学历层次 |
| Data.SchoolTags | array | 院校标签列表 |
| Data.MajorName | string | 专业名称 |
| Data.MajorCode | integer | 来源专业编号。表示原始数据来源中的专业 ID 或专业代码，不等同于教育部标准专业代码。 |
| Data.Year | integer | 招生年份 |
| Data.HighSocre | int\|string | 录取最高分，没有值时返回 '-' |
| Data.AverageScore | int\|string | 录取平均分，没有值时返回 '-' |
| Data.LowestScore | integer | 录取最低分 |
| Data.LowestSection | int\|string | 录取最低位次，没有值时返回 '-' |
| Data.BatchName | string | 录取批次，枚举值为：一类模式本科\|专科批\|专科批A段\|专科批F段\|专科提前批\|专科提前批B段\|专科提前批E段\|体育专科提前批\|体育本科批\|体育本科提前批\|体育类专科批\|体育类专科提前批\|体育类本科批\|体育类本科提前批\|体育类本科第二批\|体育艺术本一U段\|体育艺术本二W段\|分类招生批\|区域专项计划本科批\|国家专项计划\|国家专项计划本科一批\|国家专项计划本科批\|国家及地方专项、南疆单列、对口援疆计划本科一批次\|国家及地方专项、南疆单列、对口援疆计划本科二批次\|地方专项计划批\|地方专项计划本科批\|地方农村专项计划本科批\|少数民族预科班\|平行录取一段\|平行录取三段\|平行录取二段\|提前一批本科\|提前二批本科\|提前批\|提前批A段\|提前批B段\|提前批第一批本科\|提前批第二批本科\|提前本科批\|无批次\|普通类一段\|普通类二段\|普通类平行录取\|普通类提前批\|本科A批\|本科A段\|本科B段\|本科一批\|本科一批A1段\|本科一批A段\|本科一批B段\|本科一批H段\|本科一批I段\|本科一批U段\|本科一批预科\|本科一段\|本科三批\|本科三批A段\|本科专项计划批\|本科二批\|本科二批A段\|本科二批B段\|本科二批C段\|本科二批K段\|本科二批及预科\|本科二段\|本科免费定向批\|本科批\|本科批A段\|本科批B段\|本科批C段\|本科批一段\|本科批平行组\|本科提前一批\|本科提前批\|本科提前批A段\|本科提前批B段\|本科提前批C\|本科提前批C段\|本科提前批艺术本科第二批\|本科提前批艺术类\|本科提前批艺术类A段\|本科提前批艺术类第1小批\|本科提前批（第2小批）\|本科第一批\|本科第一批提前批\|本科第一阶段\|本科第二批\|本科第二批提前批\|本科综合评价批\|本科艺术甲批平行段\|特殊类型招生批\|第一批\|第二批B段\|第二批第一段\|第二批第二段\|艺本一批\|艺术本科A段\|艺术本科B段\|艺术本科二批\|艺术本科批A段\|艺术本科批B段\|艺术本科批C段\|艺术本科提前批\|艺术本科提前批B段\|艺术类专科批\|艺术类专科提前批\|艺术类本科A段\|艺术类本科B段\|艺术类本科批\|艺术类本科批A段\|艺术类本科批B段\|艺术类本科提前批\|艺术类本科提前批B段\|艺术类第一批\|艺术类第二批\|艺术类第二批B段\|艺术类（本科二批B段）\|零志愿批次\|零批次\|高校专项计划\|高校专项计划批次\|高校专项计划本科批\|高职（专科）批R段 |
| Data.TypeName | string | 专业所属的类型，枚举值为：3+证书\|会计类\|体育文\|体育理\|体育类\|体育类（历史）\|体育类（物理）\|其他艺术\|农学类\|农林类\|医学类\|历史类\|园林类\|土建类\|学考\|学考文\|学考理\|幼师类\|建筑类\|护理类\|教育类\|文科\|旅游类\|服装设计与工艺类\|机械加工类\|汉授美术\|汉授音乐\|汽车类\|汽驾类\|烹饪类\|牧医类\|物理类\|理科\|电子商务类\|电子技术类\|电气技术类\|畜牧兽医类\|综合\|美工设计类\|美术类\|艺术文\|艺术理\|艺术类\|艺术类（历史）\|艺术类（物理）\|药剂类\|蒙授体育\|蒙授文科\|蒙授理科\|蒙牧医类\|计算机类\|财会类\|财经类\|音乐类 |
| Data.ProScore | int\|string | 对应专业在对应省份录取的省控线，没有值时会返回 '-' |
| Data.subjectSelection | string | 选科要求数据 |
| Data.SubjectGroup | string | 院校专业组。表示该专业所属的招生专业组或专业组编号，例如“(301)”。 |
| Data.MajorStandardCode | string | 标准专业代码。表示教育部专业目录中的标准专业代码，主要用于和专业库、招生计划、专业录取分数线等数据做标准化关联；如果为空，通常表示该专业名称暂未能匹配到唯一标准代码，或该记录是大类、试验班等非单一标准专业。 |
| Data.SpecialMajorCode | string | 招生专业代码。表示数据来源中的招生专业编号或院校专业编号，通常是学校或来源系统里的专业标识，不等同于教育部标准专业代码。 |
| Data.major_category | object | 专业大类。表示原始专业名称中的大类、试验班、实验班、专业类、方向包等集合型专业名称；普通单专业一般为空。对象字段包含 name 和 code_candidate，其中 code_candidate 仅来自本地专业库唯一匹配结果，无法唯一匹配时为空。 |
| Data.included_majors | array | 包含专业。表示从原始专业名称中拆解出的具体专业列表；数组元素包含 name 和 code_candidate，其中 code_candidate 仅来自本地专业库唯一匹配结果，无法唯一匹配时为空。 |
| Data.campus | string | 办学地点。表示校区、城市、学院地点等办学位置信息。 |
| Data.special_requirements | string | 特殊要求。表示语种、性别、体检、收费、中外合作、师范、定向、专项、预科、订单培养等限制或说明。 |
| Data.RestrictionTypes | array | 从专业名称、info 和 remark 中识别到的限报要求代码。空数组表示未识别到要求，不能解释为确认无限制。 |
| Data.RestrictionText | string | 用于识别限报要求的原始说明文本；未识别到要求时为空。 |

## 相关接口

### 历年高考专业录取分数线-查询参数枚举

- 请求方式: `GET`
- 资源路径: `/metadata/ceemajorline/enums`
- 接口地址: `https://api.gugudata.com/metadata/ceemajorline/enums`
- 描述: 返回 batchName、typeName、subjectSelection，以及院校区域、省份、类型、办学性质、学历层次、院校标签和专业限报要求等筛选枚举。

#### 请求参数

| 参数名 | 参数类型 | 是否必须 | 备注 |
| --- | --- | --- | --- |
| appkey | string | 是 | 付费后获取的 APPKEY。仅购买了对应主接口的 APPKEY 可调用。 |
| year | integer | 否 | 可选。用于缩小批次、科类和选科枚举范围，如 2025；不传时返回全部可用枚举。 |
| provinceName | string | 否 | 可选。用于缩小批次、科类和选科枚举范围，如 上海、上海市；不传时返回全部可用枚举。 |

#### 响应示例

```json
{
  "DataStatus": {
    "RequestParameter": "year=0&provinceName=",
    "StatusCode": 100,
    "StatusDescription": "请求成功。",
    "ResponseDateTime": "2026-07-20 20:00:00.000",
    "DataTotalCount": 9
  },
  "Data": {
    "batchName": [
      "专科批",
      "本科批"
    ],
    "typeName": [
      "综合"
    ],
    "subjectSelection": [
      "不限",
      "物理、化学(2科必选)"
    ],
    "taxonomyVersion": "2026.1",
    "taxonomyEffectiveFrom": "2026-07-20",
    "schoolRegions": [
      {
        "code": "YANGTZE_RIVER_DELTA",
        "name": "长三角"
      }
    ],
    "schoolProvinces": [
      {
        "code": "JIANGSU",
        "name": "江苏"
      }
    ],
    "schoolCategories": [
      {
        "code": "COMPREHENSIVE",
        "name": "综合类"
      }
    ],
    "schoolNatures": [
      {
        "code": "PUBLIC",
        "name": "公办"
      }
    ],
    "educationLevels": [
      {
        "code": "UNDERGRADUATE",
        "name": "本科"
      }
    ],
    "schoolTags": [
      {
        "code": "PROJECT_985",
        "name": "985"
      }
    ],
    "restrictionTypes": [
      {
        "Code": "physical_exam",
        "Name": "体检要求"
      },
      {
        "Code": "stutter",
        "Name": "口吃限报"
      },
      {
        "Code": "hearing",
        "Name": "听力要求"
      },
      {
        "Code": "left_handed",
        "Name": "左利手"
      },
      {
        "Code": "gender",
        "Name": "性别要求"
      },
      {
        "Code": "academic_score",
        "Name": "成绩要求"
      },
      {
        "Code": "vision",
        "Name": "视力要求"
      },
      {
        "Code": "color_vision",
        "Name": "色盲色弱"
      },
      {
        "Code": "language",
        "Name": "语种要求"
      },
      {
        "Code": "height",
        "Name": "身高要求"
      }
    ]
  }
}
```

## 接口常见 HTTP 响应状态码

> 以下为接口调用中常见的 HTTP 传输层状态码，不等同于响应体内的业务状态码；完整状态码注册表以 IANA HTTP Status Code Registry 为准。

| 状态码 | 状态码解释 | 备注 |
| --- | --- | --- |
| 200 | 请求成功 | HTTP 请求已成功处理；业务状态请结合响应体中的自定义业务码判断。 |
| 201 | 资源已创建 | 创建类接口请求成功，并已生成对应资源。 |
| 202 | 请求已接受 | 请求已被接受处理，结果可能异步完成。 |
| 204 | 无响应内容 | 请求成功但响应体为空，适用于无需返回数据的操作。 |
| 304 | 资源未变更 | 配合缓存或条件请求使用，表示可继续使用本地缓存。 |
| 400 | 请求参数错误 | 请求参数缺失、格式错误或参数组合不合法。 |
| 401 | 认证失败 | 缺少、无效或未通过认证的访问凭证（如 AppKey）。 |
| 403 | 无权限访问 | 订单到期、权限不足或接口额度不可用。 |
| 404 | 资源不存在 | 请求路径不存在。 |
| 405 | 请求方法不允许 | 当前路径不支持该 HTTP 方法。 |
| 408 | 请求超时 | 客户端请求在服务端等待时间内未完成，可稍后重试。 |
| 409 | 请求冲突 | 请求与当前资源状态冲突，调整参数或业务状态后重试。 |
| 413 | 请求内容过大 | 上传文件或请求体超过接口限制。 |
| 414 | 请求地址过长 | 请求 URL 超过服务端可处理长度，建议减少查询参数或改用 POST。 |
| 415 | 请求内容类型不支持 | 上传或请求体的内容类型不符合接口要求。 |
| 422 | 请求语义错误 | 请求格式正确，但参数取值、语义或业务约束无法处理。 |
| 429 | 请求频率受限 | 默认按来源 IP 限速，单 IP 最多 5 QPS，可满足常规业务调用。超出限制时接口会返回 429 请求频率受限；已购买接口订单可加购 10 QPS 扩展。 |
| 431 | 请求头过大 | 请求头字段过大或过多，建议精简 Header 后重试。 |
| 500 | 服务器内部错误 | 服务端处理异常，请稍后重试。 |
| 502 | 网关或上游错误 | 网关或代理从上游服务收到异常响应。 |
| 503 | 服务暂时不可用 | 服务维护、容量保护或依赖异常导致暂时不可用，请稍后重试。 |
| 504 | 网关超时 | 网关等待上游服务响应超时，可稍后重试或降低请求复杂度。 |

## 接口自定义业务状态码

| 业务状态码 | 业务状态码解释 | 备注 |
| --- | --- | --- |
| 100 | 正常返回 |  |
| 101 | 参数错误 |  |
| 102 | 请求频率受限 | 默认按来源 IP 限速，单 IP 最多 5 QPS，可满足常规业务调用。超出限制时接口会返回 429 请求频率受限；已购买接口订单可加购 10 QPS 扩展。 |
| 103 | 账号欠费 |  |
| 104 | APPKEY 错误 | 请检查传递的 APPKEY 是否为开发者中心获取到的值 |

## cURL 请求示例

```bash
curl --location --request GET 'https://api.gugudata.com/metadata/ceemajorline?appkey=APPKEY&pageindex=1&pagesize=10&enrollprovince=&schoolname=&majorname=&majorNameStrict=false&specialId=&year=&min=0&batchname=&typename=&schooluuid=&schoolRegions=&schoolProvinces=&schoolCategories=&schoolNatures=&educationLevels=&schoolTags=&minrange=&subjectSelection=&sort=&excludeMajorCategory=false&restrictionTypes='
```

## 更多请求示例与预览数据

- [专业分数线：枚举参数（2025 上海）](https://www.gugudata.com/preview/69bad99d7f5e8071ced4a24a)
- [专业分数线：上海 2025 年计算机专业查询](https://www.gugudata.com/preview/69bad99d7f5e8071ced4a249)
- [专业分数线：上海交大 2025 年专业录取](https://www.gugudata.com/preview/69bad99d7f5e8071ced4a248)
- [专业分数线：清华大学 2025 年专业录取](https://www.gugudata.com/preview/69bad99d7f5e8071ced4a247)
- [专业分数线：北京大学 2025 年专业录取](https://www.gugudata.com/preview/69bad99d7f5e8071ced4a246)
- [按照学校名称或学校 ID 查询高校的专业信息 (苏州大学 2024 招生专业)](https://www.gugudata.com/preview/67628dcf6b67d08811064141)
- [江苏大学 2024 年首选物理，再选化学的专业录取数据 （前十条）](https://www.gugudata.com/preview/67629675f4884130d30dbf01)
- [查询哈尔滨医科大学 2021 年在广东的预防医学专业分数线](https://www.gugudata.com/preview/675f8e4ad58f85970900de3c)

## 常见问题 Q&A

### Q: 数据请求有缓存吗？
A: 接口默认以实时响应为目标。对于日更、月更等具备明确更新周期的数据，会在数据周期内采用缓存与预热策略，以提升响应速度和稳定性；实时查询类接口则以接口说明中的更新频率为准。建议业务侧结合数据时效要求设置本地缓存与重试策略，避免高频重复请求。

### Q: 如何保证请求时 AppKey 的安全性？
A: 用户可以登录咕咕数据开发者中心，在 `APP KEY 管理` 页面复制对应产品的 AppKey；未开通接口时先进入当前接口的购买开通页，已开通或到期续费时进入开发者中心或订单与续费页。建议将 AppKey 保存在服务端环境中，由后端统一调用 API，再向前端或业务系统返回必要结果。不要把 AppKey 写入网页、App 客户端或公开仓库；生产环境建议按系统或业务线拆分 AppKey，并保留调用日志，便于权限控制、审计与问题排查。

### Q: 接口可以用于哪些开发语言？
A: 只要支持 HTTPS 请求的语言和框架均可接入，包括 Java、Python、Node.js、PHP、Go、C#、Swift、Kotlin 等。推荐由后端统一封装调用逻辑，集中处理鉴权、缓存、限流、重试和错误码映射，让 Web、App、AI Agent、内部系统和自动化任务复用同一套数据能力。

### Q: 接口性能可以保证吗？
A: GuGuData API 按生产环境标准部署，持续关注接口稳定性、响应速度与可用性。实际响应时间会受接口类型、请求参数、数据源更新和网络环境影响；建议生产接入前进行联调与压测，并设置合理的超时、重试、降级和告警策略。批量处理或高并发场景可提前评估 QPS、白名单和专属容量方案。

## 服务协议以及服务免责声明

- [服务协议](https://www.gugudata.com/license)
- [服务免责声明](https://www.gugudata.com/disclaimer)

## 技术支持

- 技术支持邮箱: support@gugudata.com
- 微信客服: https://work.weixin.qq.com/kfid/kfcf9a60a6afe3337b7
