University Domains
App · Research & Academia · 8 actions
Look up universities by their email domains from a workflow. The University Domains and Names list holds about 10,000 universities in 200 countries, each with its name, its country and ISO code, the state or province where the list names one, every email domain it uses and its web pages. Turn a signup address into a university and a country, screen a whole list of addresses at once and optionally require a country, or find a university by name, by country and state, or by domain ending such as ac.uk. A departmental address resolves upwards, so an address at cs.usc.edu finds the University of Southern California. Every action reads: nothing here changes anything, in the list or anywhere else. No account or API key required.
Actions
| Action | What it does |
|---|---|
| Find universities by domain | Find the universities that use a domain, or an ending of one. |
| Get a university | Get one university's full record by name: its country and alpha-2 code, the state or province if the list names one, every email domain it uses and every web page it lists. |
| Identify a university by email | Say which university an email address belongs to, from the address alone. |
| List countries | List the countries the data covers, with how many universities, domains and states each one holds. |
| List universities in a country | List every university the data holds for one country, sorted and paged. |
| Search universities by name | Search the list by university name and get the closest matches first: the exact name, then the ones that start with the text, then the ones where every word appears. |
| Summarize the university list | Get the whole list in numbers: how many universities from how many countries, how many distinct domains they use, how many list more than one, how many domains two universities share, how many names are shared, how many records name a state, the largest countries with their share, and the domain endings that come up most. |
| Verify a list of email domains | Check a batch of email addresses against the list in one step and get a verdict for each: whether it is a university address, which university, and in which country. |
Find universities by domain
Find the universities that use a domain, or an ending of one. 'ac.uk' returns the British universities, 'edu.tr' the Turkish ones, and an exact domain returns whoever holds it, which is more than one university for four domains in the list. A suffix only counts at a dot, so 'ac.uk' cannot match a domain that merely ends in those letters. Use this to work out what an academic domain looks like in a country before you write a rule about it. No API key required.
Inputs
- Domain or ending
domaintextRequired - The domain or the ending to look for, such as 'ac.uk', 'edu.tr' or 'mit.edu'. A leading 'www.', a scheme and a path are all stripped, so a pasted URL works.
- How to match
matchtext - How the text has to line up with a domain. 'Ends with' is the default and only counts whole labels, so 'ac.uk' finds ox.ac.uk. 'Contains' is looser and will find a fragment anywhere.One of:
suffix(The domain ends with this, e.g. ac.uk),contains(The domain contains this anywhere),exact(The domain is exactly this). Default:suffix. - Country
countrytext - Only universities in this country. Takes an ISO 3166 alpha-2 code (TR, JP, GB), the name the list writes, or a common alias: 'Turkey' reaches Turkiye, 'South Korea' reaches Korea, Republic of, and 'UK' and 'USA' both work. The country is resolved to its code before anything is matched, which is what makes one filter find all 60 Vietnamese universities when the records spell the country two ways. Leave empty for every country. Run 'List countries' to see them.
- How many to return
limitnumber - How many universities to return. The default of 25 keeps a step's result readable; raise it when a later step needs the whole set.From 1 to 500. Default:
25.
Outputs
catalog_sizenumber- How many universities the list holds
countnumber- How many are returned
countryobject- The country the filter resolved to, or null if none was given
matchtext- How it was matched, after any alias
match_countnumber- How many matched before the limit
querytext- The domain searched for, after cleaning
source_urltext- The project the list comes from
truncatedtrue/false- Whether the limit cut the answer short
universitieslist- The matches, in domain order, each saying which of its domains matched
Example output
{
"catalog_size": 10259,
"count": 1,
"country": null,
"match": "suffix",
"match_count": 177,
"query": "ac.uk",
"source_url": "https://github.com/Hipo/university-domains-list",
"truncated": true,
"universities": [
{
"country": "United Kingdom",
"country_code": "GB",
"domain": "oxford.ac.uk",
"domains": [
"oxford.ac.uk",
"ox.ac.uk"
],
"matched_domains": [
"oxford.ac.uk",
"ox.ac.uk"
],
"name": "University of Oxford",
"state_province": null,
"web_page": "http://www.ox.ac.uk/",
"web_pages": [
"http://www.ox.ac.uk/"
]
}
]
}Get a university
Get one university's full record by name: its country and alpha-2 code, the state or province if the list names one, every email domain it uses and every web page it lists. The name is matched from most to least specific and stops at the first step that gives exactly one answer, so a partial name still works. A name that several universities share says which ones and where rather than picking one, because six of them are called Arab Open University. No API key required.
Inputs
- University name
nametextRequired - The university's name, whole or partial. Case, accents and punctuation are ignored, so a name read off an earlier step goes straight back in.
- Country
countrytext - Which country to look in, when a name is shared. Takes an alpha-2 code, the name the list writes, or a common alias. Leave empty to search every country.
Outputs
asked_fortext- The name as it was given
catalog_sizenumber- How many universities the list holds
countryobject- The country the filter resolved to, or null if none was given
foundtrue/false- Always true; a name that matches nothing fails the step with a message instead
source_urltext- The project the list comes from
universityobject- The university's full record
Example output
{
"asked_for": "Middle East Technical University",
"catalog_size": 10259,
"country": null,
"found": true,
"source_url": "https://github.com/Hipo/university-domains-list",
"university": {
"country": "Turkiye",
"country_code": "TR",
"domain": "metu.edu.tr",
"domains": [
"metu.edu.tr"
],
"name": "Middle East Technical University",
"state_province": null,
"web_page": "http://www.metu.edu.tr/",
"web_pages": [
"http://www.metu.edu.tr/"
]
}
}Identify a university by email
Say which university an email address belongs to, from the address alone. Give it 'ada@cs.usc.edu' and it returns the University of Southern California with its country, its domains and its web pages, because a subdomain is walked up to the domain the list actually holds. A bare domain works just as well as an address. Use this to turn a signup email into a university and a country, or to gate a workflow on whether an address is academic at all. No API key required.
Inputs
- Email address or domain
emailtextRequired - The address to identify, such as 'ada@cs.usc.edu', or a bare domain such as 'usc.edu'. A subdomain is walked up to its parent, so a departmental address finds the university. A pasted web page URL works too.
Outputs
catalog_sizenumber- How many universities the list holds
checked_domainslist- The domains tried, most specific first
domaintext- The domain read out of it, lower-cased and without a leading 'www.'
inputtext- The address or domain as it was given
is_universitytrue/false- Whether that domain is in the list. False is not proof it is not a university: the list is maintained by volunteers
match_countnumber- How many universities claim that domain; four domains in the list are claimed by two
matched_domaintext- The listed domain that matched, as the list writes it, which may still carry a 'www.'
matched_ontext- 'exact_domain', 'parent_domain' when a subdomain resolved upwards, or 'none'
source_urltext- The project the list comes from
universitieslist- Every university that claims the domain
universityobject- The matching university, or null. The first of 'universities' when a domain is shared
Example output
{
"catalog_size": 10259,
"checked_domains": [
"cs.usc.edu",
"usc.edu"
],
"domain": "cs.usc.edu",
"input": "ada@cs.usc.edu",
"is_university": true,
"match_count": 1,
"matched_domain": "usc.edu",
"matched_on": "parent_domain",
"source_url": "https://github.com/Hipo/university-domains-list",
"universities": [
{
"country": "United States",
"country_code": "US",
"domain": "usc.edu",
"domains": [
"usc.edu",
"isi.edu"
],
"name": "University of Southern California",
"state_province": null,
"web_page": "http://www.usc.edu/",
"web_pages": [
"http://www.usc.edu/",
"http://www.isi.edu/"
]
}
],
"university": {
"country": "United States",
"country_code": "US",
"domain": "usc.edu",
"domains": [
"usc.edu",
"isi.edu"
],
"name": "University of Southern California",
"state_province": null,
"web_page": "http://www.usc.edu/",
"web_pages": [
"http://www.usc.edu/",
"http://www.isi.edu/"
]
}
}List countries
List the countries the data covers, with how many universities, domains and states each one holds. This is also how you find the spelling a country filter wants: the list writes names in ISO 3166 long form, so it holds 'Turkiye' rather than 'Turkey' and 'Korea, Republic of' rather than 'South Korea'. Search by name or by alpha-2 code to check one. No API key required.
Inputs
- Search for
querytext - Only countries whose name contains this text, or whose alpha-2 code is exactly it. Case and accents are ignored. Leave empty for all of them.
- Sort by
sort_bytext - What order the countries come back in. Largest first by default, which puts the United States, Japan and India at the top.One of:
universities(Most universities first),name(Country name),code(ISO alpha-2 code). Default:universities. - How many to return
limitnumber - How many countries to return. The list covers about 200, so the default of 250 returns all of them.From 1 to 300. Default:
250.
Outputs
countnumber- How many are returned
countrieslist- The countries, in the order asked for
country_countnumber- How many countries the list covers in all
match_countnumber- How many countries matched the search
querytext- The text searched for, or null
sort_bytext- The order used, after any alias
source_urltext- The project the list comes from
total_universitiesnumber- How many universities it holds in all
truncatedtrue/false- Whether the limit cut the answer short
Example output
{
"count": 2,
"countries": [
{
"country": "United States",
"country_code": "US",
"domain_count": 2393,
"other_spellings": [],
"state_count": 38,
"university_count": 2348
},
{
"country": "Viet Nam",
"country_code": "VN",
"domain_count": 61,
"other_spellings": [
"Vietnam"
],
"state_count": 4,
"university_count": 60
}
],
"country_count": 200,
"match_count": 200,
"query": null,
"sort_by": "universities",
"source_url": "https://github.com/Hipo/university-domains-list",
"total_universities": 10259,
"truncated": true
}List universities in a country
List every university the data holds for one country, sorted and paged. Narrow to a state or province, and see which ones that country actually names, since the field is filled in on only about one record in seven. The country is resolved to its ISO code first, which is why this returns all 60 Vietnamese universities where a search for the literal string 'Vietnam' would return 10. No API key required.
Inputs
- Country
countrytextRequired - The country to list. Takes an ISO 3166 alpha-2 code (JP, TR, GB), the name the list writes, or a common alias: 'Turkey' reaches Turkiye and 'South Korea' reaches Korea, Republic of. Run 'List countries' to see them all.
- State or province
state_provincetext - Only universities in this state or province. Matched loosely and without regard to case or accents, because the field is free text written by whoever added the record. It is empty on 8,886 of the 10,259 records, so treat it as an extra rather than as coverage you can rely on; 'List universities in a country' reports the ones a country actually names. Leave empty for all of them.
- Sort by
sort_bytext - What order the universities come back in. By name by default. Sorting by state puts the records that name one first, since most name none.One of:
name(University name),country(Country, then name),state_province(State or province, then name),domain. Default:name. - How many to return
limitnumber - How many universities to return. The default of 25 keeps a step's result readable; raise it when a later step needs the whole set.From 1 to 500. Default:
25. - Skip this many
offsetnumber - How many to skip before returning, for paging through a large country. The United States holds 2,348 universities, so a second step at an offset of 500 continues where the first left off.At least 0. Default:
0.
Outputs
catalog_sizenumber- How many universities the list holds
countnumber- How many are returned
countryobject- The country the filter resolved to, or null if none was given
match_countnumber- How many matched before limit and offset
offsetnumber- How many were skipped
source_urltext- The project the list comes from
state_countnumber- How many of them there are
state_provincetext- The state filter used, or null
stateslist- Every state or province this country names, grouped without regard to case
truncatedtrue/false- Whether there are more after this page
universitieslist- The universities on this page
Example output
{
"catalog_size": 10259,
"count": 1,
"country": {
"country": "Turkiye",
"country_code": "TR",
"other_spellings": [],
"university_count": 188
},
"match_count": 188,
"offset": 0,
"source_url": "https://github.com/Hipo/university-domains-list",
"state_count": 12,
"state_province": null,
"states": [
"Adana",
"Afyonkarahisar",
"Ankara"
],
"truncated": true,
"universities": [
{
"country": "Turkiye",
"country_code": "TR",
"domain": "metu.edu.tr",
"domains": [
"metu.edu.tr"
],
"name": "Middle East Technical University",
"state_province": null,
"web_page": "http://www.metu.edu.tr/",
"web_pages": [
"http://www.metu.edu.tr/"
]
}
]
}Search universities by name
Search the list by university name and get the closest matches first: the exact name, then the ones that start with the text, then the ones where every word appears. Accents and punctuation are folded, so 'santa maria' finds Universidad Tecnica Federico Santa Maria. Narrow by country or by state as well. Use this when you know roughly what the university is called but not how the list spells it. No API key required.
Inputs
- Search for
querytextRequired - The text to look for in a university's name. At least two characters. Case, accents and punctuation are ignored.
- Country
countrytext - Only universities in this country. Takes an ISO 3166 alpha-2 code (TR, JP, GB), the name the list writes, or a common alias: 'Turkey' reaches Turkiye, 'South Korea' reaches Korea, Republic of, and 'UK' and 'USA' both work. The country is resolved to its code before anything is matched, which is what makes one filter find all 60 Vietnamese universities when the records spell the country two ways. Leave empty for every country. Run 'List countries' to see them.
- State or province
state_provincetext - Only universities in this state or province. Matched loosely and without regard to case or accents, because the field is free text written by whoever added the record. It is empty on 8,886 of the 10,259 records, so treat it as an extra rather than as coverage you can rely on; 'List universities in a country' reports the ones a country actually names. Leave empty for all of them.
- How to match
matchtext - How the text has to appear in the name. 'Contains' is the default and the most forgiving. 'Every word' is what finds a name whose middle word you left out, since order does not matter and a word only has to start one of the name's.One of:
contains(The name contains the text anywhere),starts_with(The name starts with the text),words(Every word of the text appears, in any order),exact(The whole name is the text). Default:contains. - How many to return
limitnumber - How many universities to return. The default of 25 keeps a step's result readable; raise it when a later step needs the whole set.From 1 to 500. Default:
25.
Outputs
catalog_sizenumber- How many universities the list holds
countnumber- How many are returned
countryobject- The country the filter resolved to, or null if none was given
matchtext- How it was matched, after any alias
match_countnumber- How many matched before the limit
querytext- The text searched for
source_urltext- The project the list comes from
state_provincetext- The state filter used, or null
truncatedtrue/false- Whether the limit cut the answer short
universitieslist- The matches, closest first
Example output
{
"catalog_size": 10259,
"count": 1,
"country": {
"country": "Turkiye",
"country_code": "TR",
"other_spellings": [],
"university_count": 188
},
"match": "contains",
"match_count": 1,
"query": "middle east",
"source_url": "https://github.com/Hipo/university-domains-list",
"state_province": null,
"truncated": false,
"universities": [
{
"country": "Turkiye",
"country_code": "TR",
"domain": "metu.edu.tr",
"domains": [
"metu.edu.tr"
],
"name": "Middle East Technical University",
"state_province": null,
"web_page": "http://www.metu.edu.tr/",
"web_pages": [
"http://www.metu.edu.tr/"
]
}
]
}Summarize the university list
Get the whole list in numbers: how many universities from how many countries, how many distinct domains they use, how many list more than one, how many domains two universities share, how many names are shared, how many records name a state, the largest countries with their share, and the domain endings that come up most. Use it to size a job before running it, or to report on coverage. No API key required.
Inputs
- How many countries to rank
top_countriesnumber - How many of the largest countries to list, with each one's share of the whole.From 1 to 50. Default:
10.
Outputs
country_countnumber- How many countries they sit in
data_urltext- The JSON file this integration reads
domain_countnumber- How many distinct email domains are listed
multi_domain_countnumber- How many universities list more than one domain
shared_domain_countnumber- How many domains two universities both claim
shared_name_countnumber- How many names more than one university uses, compared without case, accents or punctuation
source_urltext- The project the list comes from
top_countrieslist- The largest countries, most universities first
top_domain_suffixeslist- The most common domain endings
total_universitiesnumber- How many universities the list holds
with_state_provincenumber- How many records name a state or province
Example output
{
"country_count": 200,
"data_url": "https://raw.githubusercontent.com/Hipo/university-domains-list/master/world_universities_and_domains.json",
"domain_count": 10578,
"multi_domain_count": 281,
"shared_domain_count": 4,
"shared_name_count": 89,
"source_url": "https://github.com/Hipo/university-domains-list",
"top_countries": [
{
"country": "United States",
"country_code": "US",
"share_percent": 22.9,
"university_count": 2348
},
{
"country": "Japan",
"country_code": "JP",
"share_percent": 5.6,
"university_count": 572
}
],
"top_domain_suffixes": [
{
"domain_count": 2618,
"suffix": "edu"
},
{
"domain_count": 565,
"suffix": "ac.jp"
}
],
"total_universities": 10259,
"with_state_province": 1373
}Verify a list of email domains
Check a batch of email addresses against the list in one step and get a verdict for each: whether it is a university address, which university, and in which country. Optionally require a country, so 'is this a Japanese university address' is one field rather than a second step. Built for screening a signup sheet or a spreadsheet column, so the result carries the pass and fail counts and the entries that failed as well as the rows themselves. Takes up to 200 entries and reads the list once for all of them. No API key required.
Inputs
- Addresses or domains
emailslistRequired - The addresses to check, up to 200. Takes a list from an earlier step, or text with one entry per line or separated by commas. Bare domains are fine alongside full addresses. An entry that is not an address at all is reported as a failed row rather than stopping the step.
- Require this country
countrytext - When set, a row only passes if its university is in this country. Takes an alpha-2 code, the name the list writes, or a common alias. Leave empty to accept a university anywhere.
Outputs
all_passedtrue/false- Whether every entry passed
catalog_sizenumber- How many universities the list holds
checkednumber- How many entries were checked
fail_countnumber- How many did not
failedlist- The entries that failed, as they were given
not_found_countnumber- How many did not
pass_countnumber- How many met every requirement
required_countryobject- The country the filter resolved to, or null if none was given
resultslist- One verdict per entry, in the order given
source_urltext- The project the list comes from
university_countnumber- How many resolved to a university
Example output
{
"all_passed": false,
"catalog_size": 10259,
"checked": 2,
"fail_count": 1,
"failed": [
"bob@cs.usc.edu"
],
"not_found_count": 0,
"pass_count": 1,
"required_country": {
"country": "Turkiye",
"country_code": "TR",
"other_spellings": [],
"university_count": 188
},
"results": [
{
"country": "Turkiye",
"country_code": "TR",
"domain": "metu.edu.tr",
"in_country": true,
"input": "ada@metu.edu.tr",
"is_university": true,
"matched_domain": "metu.edu.tr",
"matched_on": "exact_domain",
"passes": true,
"reason": "",
"state_province": null,
"university": "Middle East Technical University"
},
{
"country": "United States",
"country_code": "US",
"domain": "cs.usc.edu",
"in_country": false,
"input": "bob@cs.usc.edu",
"is_university": true,
"matched_domain": "usc.edu",
"matched_on": "parent_domain",
"passes": false,
"reason": "University of Southern California is in United States, not Turkiye.",
"state_province": null,
"university": "University of Southern California"
}
],
"source_url": "https://github.com/Hipo/university-domains-list",
"university_count": 2
}