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

ActionWhat it does
Find universities by domainFind the universities that use a domain, or an ending of one.
Get a universityGet 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 emailSay which university an email address belongs to, from the address alone.
List countriesList the countries the data covers, with how many universities, domains and states each one holds.
List universities in a countryList every university the data holds for one country, sorted and paged.
Search universities by nameSearch 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 listGet 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 domainsCheck 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 endingdomaintextRequired
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 matchmatchtext
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.
Countrycountrytext
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 returnlimitnumber
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 namenametextRequired
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.
Countrycountrytext
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 domainemailtextRequired
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 forquerytext
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 bysort_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 returnlimitnumber
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

CountrycountrytextRequired
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 provincestate_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 bysort_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 returnlimitnumber
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 manyoffsetnumber
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 forquerytextRequired
The text to look for in a university's name. At least two characters. Case, accents and punctuation are ignored.
Countrycountrytext
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 provincestate_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 matchmatchtext
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 returnlimitnumber
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 ranktop_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 domainsemailslistRequired
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 countrycountrytext
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
}

On this page