Performance marketing for AI-era growth – backed by models, not gut feeling.
TL;DR
  • 1,029 programme rows from the international bachelor catalogues of 17 of 19 universities (923 at 15 mainland universities, 106 at 2 in Hong Kong); 739 taught in Chinese, 224 in English, 64 bilingual, 1 in French, and 1 not_found row (no international catalogue at the Weihai campus of Harbin Institute of Technology).
  • Counted from the catalogues (programmes_summary.csv), the 15 mainland universities that publish counts per language offer 1,022 international bachelor programmes: 916 taught in Chinese, 105 in English and 1 in French, joint institutes included. These are the counts used in the article; the rows above miss the programmes that are counted but not listed, and the 8 English-taught programmes of the Shenzhen campus of Harbin Institute of Technology are rows but not counts (separate admission).
  • 597 of 1,029 programme rows are STEM (is_stem).
  • 5 of 16 mainland universities have no English-taught bachelor programme of their own (programmes_summary.csv).
  • Gaps: the Chinese-taught count is missing for 1 of 16 mainland universities (Central South University: list behind a captcha); 2 universities have counts but no programme rows (Nanjing University and The Chinese University of Hong Kong); 1 lists only its English-taught programmes as rows (Fudan University).
Download

data.csv. 1,029 rows, 13 columns.

programmes_summary.csv. 19 rows, 22 columns.

sources.csv. 55 rows, 6 columns.

data.json: the rows of data.csv as JSON.

schema.json: JSON Schema of data.json.

datapackage.json: Frictionless Data descriptor of every CSV.

Also on Kaggle · Hugging Face

Scope

16 mainland universities in the ARWU 2026 top 100 plus 3 in Hong Kong (HKU and CityUHK are in the top 100, CUHK is kept as a reference).

Codebook

data.csv, 1,029 rows. Unique key: programme_id.

ColumnTypeValues / unitWhat it holds
programme_idstringtext (1029 distinct)Row id: <university_id>__<programme slug> (a suffix -2, -3 separates programmes of the same name in different schools or languages).
university_idstringtext (17 distinct)Stable slug of the university, the same id as in the other Long Bet datasets (e.g. tsinghua-university).
programme_name_enstringtext (512 distinct); null in 1Programme (major) name in English as listed in the catalogue.
school_or_facultystringtext (292 distinct); null in 44School, faculty or department that runs the programme.
languagestringen, fr, zh, zh_en; null in 1Language of instruction: zh Chinese, en English, zh_en bilingual, fr French.
is_stembooleantrue, false; null in 1true for natural sciences, mathematics, computing, engineering, materials, earth, environmental and life sciences, biomedical engineering; false for medicine, pharmacy, architecture, economics, business, humanities and social sciences. Classified from the programme name.
joint_institutestringtext (5 distinct); null in 1019Name of the joint institute or partner university when the programme is run with one; null otherwise.
statusstringfound, not_foundfound = the fact was read on the source page; not_found = the page was checked and the fact is not there: the row records what was looked for, source_url gives the URL tried and note says what was missing.
source_urlstringtext (25 distinct)Page(s) where the fact is stated, "; "-separated, primary pages first. For not_found rows: the page(s) tried.
source_typestringofficial, secondary; null in 1official = university, government, embassy, airport or ranking publisher page; law = legal act; secondary = media, Wikipedia, agencies, aggregators.
checked_atstringtext (2 distinct)Date the row was last read on the source, ISO 8601.
confidencestringpartial, verified; null in 1verified = read on an official or legal page for the current cycle; partial = official but older cycle or incomplete, or a reputable secondary source; estimate = derived or calculated, method in note. Empty for not_found rows.
notestringtext (24 distinct)Caveats in English. "Updated 2026-10-23:" marks text added by the second verification pass of 23 October 2026.

Table 1. Columns of data.csv.

programmes_summary.csv, 19 rows. Unique key: university_id.

ColumnTypeValues / unitWhat it holds
university_idstringtext (19 distinct)Stable slug of the university, the same id as in the other Long Bet datasets (e.g. tsinghua-university).
catalogue_urlstringtext (19 distinct)Catalogue page or file the counts were taken from.
catalogue_cyclestringtext (12 distinct)Intake or year of the catalogue.
intl_bachelor_programmes_totalinteger35 to 101; null in 1Number of bachelor programmes open to international applicants in the catalogue (Chinese-taught plus English-taught).
zh_taught_countinteger0 to 101; null in 1Number of Chinese-taught bachelor programmes open to international applicants; null = list not readable.
en_taught_countinteger0 to 74Number of English-taught bachelor programmes run by the university itself (joint institutes excluded).
en_taught_stem_countinteger0 to 23; null in 1Of en_taught_count, programmes with is_stem = true.
zh_taught_stem_countinteger0 to 53; null in 1Of zh_taught_count, programmes with is_stem = true.
en_taught_liststringtext (13 distinct); null in 6English-taught programmes, "; "-separated.
joint_institutesstringtext (7 distinct); null in 12Joint institutes or dual-degree programmes with a foreign university.
class_composition_enstringmixed_with_chinese, unknown; null in 5Whether English-taught classes mix international and Chinese students: mixed_with_chinese or unknown.
class_composition_zhstringmixed_with_chinese, unknown; null in 3Same for Chinese-taught classes.
duration_years_enstringtext (3 distinct); null in 5Duration of English-taught programmes. Unit: years (range as text).
duration_years_zhstringtext (4 distinct); null in 4Duration of Chinese-taught programmes. Unit: years (range as text; medicine is longer).
fee_differs_en_vs_zhstringtrue, unknown; null in 8true if English-taught programmes cost more than Chinese-taught ones; unknown if not stated.
switch_en_to_zh_allowedstringfalse, true, unknown; null in 8Whether a student can move from an English-taught to a Chinese-taught programme: true, false, unknown.
statusstringfoundfound = the fact was read on the source page; not_found = the page was checked and the fact is not there: the row records what was looked for, source_url gives the URL tried and note says what was missing.
source_urlstringtext (19 distinct)Page(s) where the fact is stated, "; "-separated, primary pages first. For not_found rows: the page(s) tried.
source_typestringofficialofficial = university, government, embassy, airport or ranking publisher page; law = legal act; secondary = media, Wikipedia, agencies, aggregators.
checked_atstringtext (2 distinct)Date the row was last read on the source, ISO 8601.
confidencestringestimate, partial, verifiedverified = read on an official or legal page for the current cycle; partial = official but older cycle or incomplete, or a reputable secondary source; estimate = derived or calculated, method in note. Empty for not_found rows.
notestringtext (19 distinct)Caveats in English. "Updated 2026-10-23:" marks text added by the second verification pass of 23 October 2026.

Table 2. Columns of programmes_summary.csv.

sources.csv, 55 rows. Unique key: source_id. One row per distinct URL in the columns whose name ends in source_url: source_id, url, title (publisher and host), source_type, accessed_at (latest date a row citing it was checked), used_for (file, column and number of rows).

Method

Data for 13 mainland and 3 Hong Kong universities were collected between 9 and 23 October 2026 from official pages of the universities (admission and international-office pages, fee tables, catalogues), governments, embassies and visa centres, ranking publishers and, for stable facts only, secondary sources; a second verification pass on 23 October 2026 re-read the rows with gaps. An independent re-check of 69 random rows against the source found 64 matching; the 5 differences were corrected or given a lower confidence before release. The three universities that entered the ARWU top 100 in 2026 (Southeast University, Harbin Institute of Technology, Tianjin University) were collected on 8 November 2026 into the same columns; an independent re-check of 20 random rows of that collection found no difference: 8 matching, 6 matching on a secondary or previous-cycle page (marked partial), 6 whose page could not be opened automatically. A second check of 20 other random rows of the three universities, read in a browser on the same day, found 15 matching, 1 matching in part, 1 whose page is no longer online and 3 differences (Southeast University's 2027 admission brochure had replaced the 2025 language and calendar rules; Tianjin University names A-Level results in its scholarship notice); the 3 were corrected before release.

Every row carries its provenance: source_url (the page where the fact is stated; several pages "; "-separated), source_type (official, law, secondary), checked_at (date read), confidence (verified, partial, estimate) and note. status is found or not_found: a not_found row records what was checked and not found, with the URL tried in source_url and the reason in note; its value columns are empty. Empty means unknown; no value is guessed.

Text added by the second verification pass starts with "Updated 2026-10-23:". Ids follow the other Long Bet datasets (university_id slugs).

Programme lists were read from the international bachelor catalogues of the universities (PDF, web pages, spreadsheets) for the 2026 or 2027 intake. language is the language of instruction given by the catalogue. is_stem is classified from the programme name: natural sciences, mathematics, computing, engineering, materials, earth, environmental and life sciences and biomedical engineering are STEM; medicine, pharmacy, architecture, economics, business, humanities and social sciences are not. Counts in programmes_summary.csv exclude joint institutes from en_taught_count. Gaps in the lists: Central South University publishes its Chinese-taught list as a spreadsheet behind a captcha (count missing); Wuhan University's 57 Chinese-taught programmes are a subset of a list behind a captcha; Peking University's 101 entries come from an older list (its 2026 notice gives 137 majors); Nanjing University (51 majors in the 2027 catalogue) and CUHK (programme names not given) have counts but no programme rows; Fudan University has its 5 English-taught programmes as rows, while its 62 Chinese-taught programmes are counted in programmes_summary.csv only. Harbin Institute of Technology: the counts are the Harbin campus catalogue (97 programmes); the 8 English-taught programmes of the Shenzhen campus, which admits separately, are rows with campus: Shenzhen in note and are not in the counts; the Weihai campus has no international bachelor catalogue (one not_found row).

Known limitations

How to verify

Open the source_url of a row and compare with checked_at. Catalogues change every intake and are the first values to re-check. not_found rows show which page was tried, so a later check can start there. Every URL is listed once in sources.csv.

Where these numbers are used
China: The Second Look (Article 7) The article whose tables are built from this dataset.
Studying in China: Tuition, Living Costs, Year Totals and Scholarships (2026) Tuition by track, published living-cost items, an estimated full year and the scholarships and government quotas open to international bachelor students.
Subject Strength of 19 Chinese Universities: GRAS 2026, ARWU Indicators and Highly Cited Researchers 2025 Places of the 19 universities in all 57 GRAS 2026 subjects, top-10 counts by region, ARWU indicator means 2010-2026 and Highly Cited Researcher counts without names.
China and Hong Kong Entry Rules for International Bachelor Applicants (2026) Which school certificates are accepted, admission calendars, language and preparatory routes, the HSK 3.0 transition, apostille, study visas by passport and work rules for students.

Cite this
Atamanova, M. (2026). Bachelor Programmes Open to International Students at Chinese Universities (2026) [Data set]. https://mariascales.com/research/long-bet/data/china-bachelor-programmes/

License

CC BY 4.0 (Creative Commons Attribution 4.0 International, https://creativecommons.org/licenses/by/4.0/) for this compilation: free to share and adapt with attribution, see Cite this.

About the author

Maria Atamanova is a Senior Growth & Performance Marketing Manager and applied mathematician. Twelve years of growth in apps, e-commerce, EdTech and AI data platforms.

The method here – define the criteria, build the dataset, test every obvious answer – is the same one I use for growth teams; see the case studies.