MyGermanUniversity APImygermanuniversity.com ↗
Search 530+ German universities and 24,000+ degree programs. Get tuition, deadlines, ECTS, admission info, and campus locations via 4 endpoints.
What is the MyGermanUniversity API?
The MyGermanUniversity API covers roughly 530 universities and 24,000 degree programs listed on mygermanuniversity.com across 4 endpoints. search_universities lets you filter by city, degree level, and free-text query, returning type, student counts, tuition ranges, and ranking tags per institution. search_programs exposes program-level data including awarded degrees, teaching language, tuition by EU/non-EU status, and application deadlines.
curl -X GET 'https://api.parse.bot/scraper/c7e76052-6b1e-44af-b5fa-4c996534d410/search_universities?query=Munich' \ -H 'X-API-Key: $PARSE_API_KEY'
Searches the site's university database (about 530 universities). Each row is one university with its type, public/private status, student count, number of listed programs, campus cities, ranking tags and tuition range per semester in EUR. A free-text query is matched against university names via the site's own name lookup; a city name is matched the same way against city names; both narrow the list and an unrecognized name yields an empty result. degree_level restricts to universities offering at least one program at that level. Paginated with page/per_page (per_page is capped at 50); page defaults to 1 and per_page to 10. total is the site's overall count for the filters, has_more tells whether a further page exists.
| Param | Type | Description |
|---|---|---|
| city | string | City name in English as the site spells it (e.g. one shape: Munich). Omitted = no city filter. |
| page | integer | 1-based page number. |
| sort | string | Result ordering. |
| query | string | Free-text university name or abbreviation (e.g. one shape: a city name also matches universities whose name contains it). Omitted = all universities. |
| per_page | integer | Universities per page, capped at 50. |
| degree_level | string | Comma-separated degree levels; a university matches when it offers any of them. Omitted = all levels. |
{
"type": "object",
"fields": {
"page": "integer current page",
"total": "integer total universities matching the filters",
"has_more": "boolean, true when a further page exists",
"per_page": "integer page size applied",
"last_page": "integer last available page",
"universities": "array of university summaries",
"universities[].tags": "array of ranking/excellence badge strings",
"universities[].type": "university type label (University, Technical University, University of Applied Sciences, ...)",
"universities[].cities": "array of campus city names (English)",
"universities[].students": "integer number of enrolled students",
"universities[].tuition_max": "number, highest tuition per semester in EUR across programs",
"universities[].tuition_min": "number, lowest tuition per semester in EUR across programs (0 = free)",
"universities[].control_type": "public or private",
"universities[].university_id": "integer site id; pass to search_programs.university_id",
"universities[].programs_count": "integer number of programs listed on the site (reflects degree_level filter)",
"universities[].university_code": "string slug; pass to get_university.university_code"
},
"sample": {
"data": {
"page": 1,
"total": 29,
"has_more": true,
"per_page": 5,
"last_page": 6,
"universities": [
{
"url": "https://www.mygermanuniversity.com/universities/TUM-Technical-University-of-Munich",
"name": "TUM Technical University of Munich",
"tags": [
"\"University of Excellence\"",
"Top 50 worldwide",
"Top 50 national"
],
"type": "Technical University",
"cities": [
"Munich",
"Heilbronn",
"Singapore",
"Straubing",
"Freising",
"Garching",
"Ottobrunn"
],
"logo_url": "https://api.mygermanuniversity.com/images/university_logos/0a09c8844ba8f0936c20bd791130d6b6_mUNk0h0P3RIW1774341426.png",
"students": 52292,
"main_city": "Munich",
"name_german": "TUM Technische Universität München",
"tuition_max": 13400,
"tuition_min": 0,
"control_type": "public",
"tuition_range": "Free - 13,400",
"university_id": 144,
"programs_count": 175,
"university_code": "TUM-Technical-University-of-Munich"
}
]
},
"status": "success"
}
}About the MyGermanUniversity API
University Search and Profiles
search_universities accepts query, city, degree_level, page, and per_page (capped at 50) and returns a paginated list of university summaries. Each entry includes type (e.g. University of Applied Sciences), cities (English campus city names), students (enrolled count), tags (excellence/ranking badges), and a tuition range in EUR per semester. get_university takes a university_code slug from those results and returns the full profile: coordinates (location.lat/lng), profile_html, students_year, programs_count_english, excellence_awards with years, admission_free_percent, and tuition_free_percentage broken down for EU, non-EU, and German students.
Program Search and Details
search_programs queries roughly 24,000 programs with filters for query, city, degree_level, and university_id (comma-separated for multiple institutions). Results include degrees (e.g. M.Sc. (Master of Science)), cities, tuition_fee as displayed (e.g. Free / 4000), tuition_fee_period, and a program_id for detail lookup. get_program takes that program_id and returns ects_points, language, admission_model, certificates (accepted language certificates with min_score and specification), description_html, tuition_fee_eu_min, application deadlines, required previous degree, and work experience requirements. The universities array in the response links back to university_code so you can chain into get_university.
Pagination and Filtering Notes
Both search endpoints use 1-based page numbering and return total, last_page, and has_more so you can walk full result sets. search_universities caps per_page at 50; search_programs uses a fixed page size set by the source. degree_level accepts comma-separated values in both search endpoints, matching universities or programs that satisfy any of the listed levels. City names must match the English spellings used on the site (e.g. Munich, Berlin).
The MyGermanUniversity API is a managed, monitored endpoint for mygermanuniversity.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when mygermanuniversity.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official mygermanuniversity.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a German university comparison tool filtering by city and degree level with tuition and student-count data.
- Find all English-taught Master's programs at a specific university using
university_idandlanguagefields. - Surface admission restriction status and application deadlines for programs to feed a study-abroad planning app.
- Map campus locations using
location.lat/lngfromget_universityfor a geographic university explorer. - Identify tuition-free programs for non-EU students by parsing
tuition_free_percentage.non_eufrom university profiles. - Cross-reference excellence awards and rankings via
excellence_awardsandtagsfields for institutional research. - Aggregate ECTS credits and duration data from
get_programto compare program structures across disciplines.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does mygermanuniversity.com offer an official developer API?+
What does `get_program` return beyond what `search_programs` includes?+
search_programs returns a summary row with degrees, cities, tuition string, and IDs. get_program adds ects_points, admission_model, certificates (with min_score and specification per certificate), description_html, start semester, duration in semesters, required previous degree, required work experience, and application system texts and links — data not present in the search results.Does the API cover application links or direct enrollment portals for each program?+
get_program includes application_system texts and links as shown on the site's program pages. Direct enrollment or application submission is not part of the API — it returns reference data only. You can fork this API on Parse and revise it to add any adjacent endpoint that captures additional application workflow data.Are private universities included in the university search results?+
search_universities returns both public and private institutions, and each result carries a public/private status field alongside type, so you can distinguish them in your filtering logic.