Discover/PhDportal API
live

PhDportal APIphdportal.com

Access 19K+ PhD programmes from PhDportal.com. Search by discipline, country, and keyword. Retrieve titles, tuition, duration, start dates, and more.

Endpoint health
verified 3h ago
search_programmes
get_programme
2/2 passing latest checkself-healing
Endpoints
2
Updated
4h ago

What is the PhDportal API?

The PhDportal.com API exposes 2 endpoints covering over 19,000 PhD programmes worldwide. Use search_programmes to filter doctoral opportunities by free-text query, discipline ID, and country ID, receiving programme titles, university details, tuition fees, and duration in each result. Use get_programme to fetch full programme details including start dates, description, and discipline classification for any programme ID returned by search.

Try it
Number of results to return per page (1-50).
Free-text search query matching programme titles and descriptions (e.g. 'computer science', 'machine learning').
Number of results to skip for pagination.
Numeric country ID to filter results (e.g. '30' for United Kingdom, '1' for Netherlands). Obtained from search results or get_programme country_id field.
Numeric discipline ID to filter results (e.g. '281' for Computer Sciences). Obtained from get_programme discipline_ids field.
api.parse.bot/scraper/c60371b9-360a-48d9-b152-7320a7c1ad99/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/c60371b9-360a-48d9-b152-7320a7c1ad99/search_programmes?limit=10&query=computer+science&offset=0&country=30&discipline=281' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace phdportal-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.


"""Walkthrough: PhdPortal SDK — search PhD programmes, drill into details."""
from parse_apis.phdportal_com_api import PhdPortal, ProgrammeNotFound

client = PhdPortal()

# Search for computer science PhD programmes, capped at 5 results
for prog in client.programme_summaries.search(query="computer science", limit=5):
    print(prog.title, "-", prog.university_name, "-", prog.country)

# Drill down into the first result's full details
hit = client.programme_summaries.search(query="machine learning", limit=1).first()
if hit:
    detail = hit.details()
    print(detail.title, detail.degree, detail.university_name)
    print("Start dates:", detail.start_dates)
    print("Tuition:", detail.tuition_fee_amount, detail.tuition_fee_currency)

# Filter by discipline (281 = Computer Sciences) and country (30 = UK)
for prog in client.programme_summaries.search(discipline="281", country="30", limit=3):
    print(prog.title, prog.university_name, prog.tuition_fee_amount, prog.tuition_fee_currency)

# Handle not-found errors
try:
    hit2 = client.programme_summaries.search(query="nonexistent xyz qqq", limit=1).first()
    if hit2:
        detail2 = hit2.details()
        print(detail2.title)
except ProgrammeNotFound as exc:
    print(f"Programme not found: {exc}")

print("exercised: programme_summaries.search / details / filtered search")
All endpoints · 2 totalmissing one? ·

Full-text search across PhD programmes worldwide. Supports filtering by discipline ID and country ID. Results are ordered by relevance (default sort). Each result includes programme title, university, location, tuition fees, and duration.

Input
ParamTypeDescription
limitintegerNumber of results to return per page (1-50).
querystringFree-text search query matching programme titles and descriptions (e.g. 'computer science', 'machine learning').
offsetintegerNumber of results to skip for pagination.
countrystringNumeric country ID to filter results (e.g. '30' for United Kingdom, '1' for Netherlands). Obtained from search results or get_programme country_id field.
disciplinestringNumeric discipline ID to filter results (e.g. '281' for Computer Sciences). Obtained from get_programme discipline_ids field.
Response
{
  "type": "object",
  "fields": {
    "limit": "integer current limit",
    "total": "integer total number of matching programmes",
    "offset": "integer current offset",
    "programmes": "array of programme summaries with id, title, degree, url, summary, university info, location, duration, and tuition fees"
  },
  "sample": {
    "data": {
      "limit": 5,
      "total": 10761,
      "offset": 0,
      "programmes": [
        {
          "id": 429318,
          "url": "https://www.phdportal.com/studies/429318/computer-science.html",
          "title": "Computer Science",
          "degree": "Ph.D.",
          "country": "United Kingdom",
          "summary": "A research degree in Computer Science from the University of Bath...",
          "location": "Bath, England, United Kingdom",
          "is_online": false,
          "country_iso": "gb",
          "is_full_time": true,
          "is_on_campus": true,
          "is_part_time": false,
          "university_id": 236,
          "duration_months": 48,
          "duration_period": "months",
          "university_name": "University of Bath",
          "tuition_fee_unit": "year",
          "tuition_fee_amount": 30450,
          "tuition_fee_currency": "GBP"
        }
      ]
    },
    "status": "success"
  }
}

About the PhDportal API

Search PhD Programmes

The search_programmes endpoint accepts a free-text query parameter (e.g. 'machine learning', 'biochemistry') alongside optional discipline and country numeric ID filters. Results are ordered by relevance and include pagination via limit and offset parameters. Each item in the returned programmes array carries a programme id, title, degree, url, summary, university metadata, location, duration, and tuition information. The total field in the response indicates the full count of matching programmes, which you can page through using successive offset values.

Programme Detail

The get_programme endpoint takes a single required programme_id (obtained from search_programmes results) and returns a richer record. Key fields include description, start_dates (an array of ISO date strings for upcoming intakes), discipline_ids (array of integers you can reuse as discipline filters in search), country_id, location, degree, university_url, and the canonical url for the programme page on PhDportal.com.

IDs and Filtering

Country and discipline filtering in search_programmes relies on numeric IDs — for example, country ID 30 for the United Kingdom or discipline ID 281 for Computer Sciences. These IDs are surfaced through programme detail records and can be catalogued for building structured filter UIs. There is no dedicated endpoint for listing all available discipline or country IDs directly; they are discovered incrementally through programme records.

Reliability & maintenanceVerified

The PhDportal API is a managed, monitored endpoint for phdportal.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when phdportal.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 phdportal.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.

Last verified
3h ago
Latest check
2/2 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a PhD programme search tool filtered by academic field using discipline IDs and free-text query
  • Aggregate tuition fee data across programmes in a target country using the country filter and tuition response fields
  • Populate application deadline calendars using start_dates arrays returned by get_programme
  • Compare doctoral programme durations across disciplines using the duration field in search_programmes results
  • Generate a curated list of computer science PhD opportunities by querying with discipline ID 281
  • Build a university research profile by collecting all programmes linked to a specific university_url
  • Track programme availability across countries by iterating country IDs and recording total match counts
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does PhDportal.com have an official developer API?+
PhDportal.com is a StudyPortals platform. StudyPortals does not publish a public developer API for external use. This Parse API provides structured access to the programme data available on the site.
What does `search_programmes` return and how does pagination work?+
Each call returns a programmes array of summaries alongside total, limit, and offset integers. The total field reflects the full count of matching records. To paginate, increment offset by your chosen limit value on each subsequent call. The maximum limit per request is 50.
Does the API expose reviewer ratings, application requirements, or supervisor profiles for programmes?+
Not currently. The API covers programme titles, descriptions, tuition fees, durations, start dates, discipline IDs, country IDs, and university URLs. You can fork this API on Parse and revise it to add an endpoint targeting application requirements or supervisor data.
Is there an endpoint for listing all available discipline or country IDs?+
Not currently. Discipline IDs and country IDs are discovered through get_programme response fields (discipline_ids and country_id) rather than from a dedicated taxonomy endpoint. You can fork this API on Parse and revise it to add a dedicated lookup endpoint for these ID sets.
How current is the programme data?+
The data reflects what is listed on PhDportal.com at the time of each API call. Programme availability, tuition figures, and start dates on the source site can change when universities update their listings, so time-sensitive fields like start_dates and tuition should be re-fetched periodically rather than cached long-term.
Page content last updated . Spec covers 2 endpoints from phdportal.com.
Related APIs in EducationSee all →
scholarshipportal.com API
Search and discover scholarships, degree programmes, and universities across StudyPortals' global education database, with the ability to filter by countries, disciplines, and other criteria. Get detailed information about specific scholarships and programmes to compare educational opportunities that match your academic interests.
mastersportal.com API
Search and browse thousands of scholarships from Mastersportal.com to find funding opportunities tailored to your destination country and academic discipline. Filter results by your preferred study location and field of study to discover scholarships that match your educational goals.
gradschools.com API
Search graduate programs across multiple categories and discover articles about funding, financial aid, and admissions to help guide your grad school journey. Find specific program information and detailed resources all in one place to support your application and enrollment decisions.
opendays.com API
Search and discover open day events at educational institutions, view detailed event information and institution profiles, and browse the complete calendar of upcoming visits. Find the perfect school or university open day by searching institutions or exploring all available options with their program details and dates.
yz.chsi.com.cn API
Search and explore graduate and doctoral programs across Chinese institutions on yz.chsi.com.cn. Browse institutions by name, province, or major; retrieve program details and school information; and access admission brochures to compare programs and enrollment requirements in one place.
ph.jobstreet.com API
Search for jobs and explore detailed listings from JobStreet Philippines, including job descriptions, company profiles, and hiring information. Discover employment opportunities by browsing job classifications and viewing all open positions from specific companies.
ucas.com API
Search and explore UK university courses, apprenticeships, and scholarships all in one place, while discovering detailed information about education providers and their offerings. Find the perfect educational path by filtering courses and apprenticeships by your preferences and accessing comprehensive provider details to inform your decisions.
timeshighereducation.com API
Access Times Higher Education data including global university rankings across dozens of subject areas, detailed university profiles with scoring breakdowns, academic job listings, and site-wide search for articles and university pages.