Skip to content

Education Info

The Education Info endpoint allows you to look up information about an educational institution based on an email address domain. This is useful for verifying student or staff email addresses and retrieving associated institution details.

Endpoint: HEAD GET https://api.teamtbm.org/v1/education/info

Authentication: Public (None)

Rate Limits

Limit Value
Requests 120 per minute
Scope Per IP address

Query Parameters

Parameter Type Required Description
email string ✅ Yes A valid email address to look up

Exceeding the rate limit will return a 429 Too Many Requests response.

Response Format

{
    "success": true,
    "code": 200,
    "email": "user@example.ac.uk",
    "domain": "example.ac.uk",
    "name": "Example University",
    "country": "GB"
}

Fields:

  • email (string) — The email address provided in the request
  • domain (string) — The domain extracted from the email address
  • name (string) — The name of the educational building or institution
  • country (string) — Two-letter ISO 3166-1 alpha-2 country code

Returned when the email parameter is missing or is not a valid email address.

{
    "success": false,
    "code": 400,
    "message": "Bad Request",
    "error": "A valid email address is required."
}

Returned when the email address is valid but the domain is not present in the education database.

{
    "success": false,
    "code": 422,
    "message": "Unprocessable Entity",
    "error": "The email domain is not registered in the education database."
}
{
    "success": false,
    "code": 500,
    "message": "Internal Server Error",
    "error": "An unexpected error occurred. Please try again later."
}

HTTP Status Codes

Code Meaning
200 Success — institution data returned
400 Bad Request — missing or invalid email parameter
422 Unprocessable Entity — email domain not found in database
500 Internal Server Error
curl -X GET "https://api.teamtbm.org/v1/education/info?email=user@example.ac.uk" \
     -H "Accept: application/json"
const response = await fetch("https://api.teamtbm.org/v1/education/info?email=user@example.ac.uk", {
    headers: { "Accept": "application/json" }
});
const data = await response.json();
import requests

response = requests.get("https://api.teamtbm.org/v1/education/info", params={"email": "user@example.ac.uk"})
data = response.json()
<?php
$ch = curl_init("https://api.teamtbm.org/v1/education/info?email=user@example.ac.uk");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Accept: application/json"]);

$response = curl_exec($ch);
curl_close($ch);

$data = json_decode($response, true);
?>