Discover/PhDScanner API
live

PhDScanner APIphdscanner.com

Access PhD opportunities and professor postings from PhDScanner.com. Filter by country, university, and funding status. Returns titles, supervisors, AI summaries, and more.

Endpoint health
verified 3h ago
get_opportunity
list_phd_postings
search_opportunities
1/3 passing latest checkself-healing
Endpoints
3
Updated
3h ago

What is the PhDScanner API?

The PhDScanner API exposes 3 endpoints that cover PhD opportunities and professor-shared position postings indexed on phdscanner.com. The search_opportunities endpoint lets you filter by country, university, and funding status, returning paginated results with fields including title, discipline, supervisor, funding details, and an AI-generated summary per listing. The get_opportunity endpoint delivers full details — including department, city, view count, and status — for any single position by UUID.

Try it
Number of results to return per page.
Filter for fully funded positions only. Pass 'true' to include only fully funded positions.
Pagination offset (number of results to skip).
Filter by country name (e.g. Germany, Netherlands, United Kingdom, Switzerland, Australia).
Filter by university name (e.g. EPFL, University of Vienna, TU Dresden, Technical University of Munich).
api.parse.bot/scraper/7939701b-6ecc-48e4-8084-b024250fa10c/<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/7939701b-6ecc-48e4-8084-b024250fa10c/search_opportunities?limit=10&funded=true&offset=0&country=Germany&university=Technical+University+of+Munich' \
  -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 phdscanner-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: PhDScanner SDK — search PhD opportunities and professor postings."""
from parse_apis.PhDScanner_API import PhDScanner, Funded, OpportunityNotFound

client = PhDScanner()

# Search funded PhD positions in Germany
for opp in client.opportunities.search(country="Germany", funded=Funded.TRUE, limit=3):
    print(opp.title, "|", opp.university, "|", opp.department)

# Drill into a single opportunity for full details
opp = client.opportunities.search(country="Netherlands", limit=1).first()
if opp:
    detail = client.opportunities.get(opportunity_id=opp.id)
    print(detail.title, "|", detail.supervisor, "|", detail.fully_funded)

# Handle not-found errors gracefully
try:
    client.opportunities.get(opportunity_id="00000000-0000-0000-0000-000000000000")
except OpportunityNotFound as exc:
    print(f"Opportunity not found: {exc}")

# Browse professor PhD postings from LinkedIn
for posting in client.postings.list(limit=3):
    print(posting.ai_title, "|", posting.professor_name, "|", posting.university)

print("exercised: opportunities.search / opportunities.get / postings.list")
All endpoints · 3 totalmissing one? ·

Search PhD opportunities with optional filters for country, university, and funding status. Returns paginated results sorted by most recent. Each result includes title, university, location, discipline, supervisor, funding details, and an AI-generated summary.

Input
ParamTypeDescription
limitintegerNumber of results to return per page.
fundedstringFilter for fully funded positions only. Pass 'true' to include only fully funded positions.
offsetintegerPagination offset (number of results to skip).
countrystringFilter by country name (e.g. Germany, Netherlands, United Kingdom, Switzerland, Australia).
universitystringFilter by university name (e.g. EPFL, University of Vienna, TU Dresden, Technical University of Munich).
Response
{
  "type": "object",
  "fields": {
    "items": "array of PhD opportunity summaries",
    "limit": "integer",
    "total": "integer",
    "offset": "integer"
  },
  "sample": {
    "items": [
      {
        "id": "a1df8e61-f852-41c0-8a0d-e68c593e64f1",
        "city": "Munich",
        "title": "Doctoral Candidate in Computational Literary Studies",
        "views": "7",
        "country": "Germany",
        "ai_summary": "PhD position at MPI for investigating macroevolution in European literature.",
        "created_at": 1782782417,
        "department": "Digital Humanities",
        "supervisor": "Dr. Oleg Sobchuk",
        "university": "Max Planck Gesellschaft",
        "closing_date": "1786752000",
        "fully_funded": true,
        "funded_amount": "65% of TVoD E13 salary",
        "opportunity_url": "https://www.mpg.de/26850384/doctoral-candidate"
      }
    ],
    "limit": 5,
    "total": 105,
    "offset": 0
  }
}

About the PhDScanner API

PhD Opportunity Search

The search_opportunities endpoint accepts up to five optional parameters: country (e.g. Germany, Australia, Netherlands), university (e.g. EPFL, TU Dresden), funded (pass 'true' to restrict results to fully funded positions), limit, and offset for pagination. Results are sorted by most recent and each item includes a title, university, location, discipline, supervisor name, funding details, and an AI-generated summary of the position.

Full Opportunity Detail

Passing a UUID from search results to get_opportunity returns the complete record for that position: id, title, city, country, category, department, status, views, created_at (Unix timestamp), and ai_summary. The response also includes the full HTML description, supervisor contact information, and application details — content not surfaced in the search results list.

Professor PhD Postings

The list_phd_postings endpoint returns PhD position announcements shared by professors, sourced from LinkedIn activity. Each item includes the professor's details, university, department, and the post content itself. This endpoint supports limit and offset pagination and surfaces a different slice of the PhD opportunity landscape than the main search — informal or recently announced openings that may not yet appear as formal listings.

Data Coverage

The API covers international PhD positions across Europe, Australia, and beyond, with country and university filters making it practical to narrow results to a specific institution or region. The funded filter is particularly useful for surfaces where only fully-funded positions are actionable for a given audience.

Reliability & maintenanceVerified

The PhDScanner API is a managed, monitored endpoint for phdscanner.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when phdscanner.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 phdscanner.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
1/3 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 opportunity aggregator filtered by country and funding status using search_opportunities
  • Send email alerts when new fully funded positions appear at a target university by polling with the university and funded filters
  • Display full position descriptions and supervisor contact info on a research portal using get_opportunity
  • Track how many views a PhD listing accumulates over time using the views field from get_opportunity
  • Surface informal professor PhD announcements from LinkedIn alongside formal listings using list_phd_postings
  • Classify opportunities by discipline or department using the category and department fields for recommendation systems
  • Monitor newly posted opportunities by sorting on created_at timestamps from the search results
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 PhDScanner have an official developer API?+
PhDScanner does not publish an official public developer API. This Parse API provides structured access to the opportunity data and professor postings available on phdscanner.com.
What does the `get_opportunity` endpoint return beyond what `search_opportunities` shows?+
The get_opportunity endpoint returns the complete HTML description of the position, supervisor contact information, and application details, along with fields like city, department, status, views, and a Unix created_at timestamp — several of which are not included in the search results list.
Can I filter `search_opportunities` by discipline or department?+
The search_opportunities endpoint currently supports filtering by country, university, and funded status. Discipline and department data are present as fields on individual results but are not available as filter parameters. You can fork this API on Parse and revise it to add a discipline or department filter endpoint.
Does the API cover PhD positions outside Europe and Australia?+
The documented country filter examples focus on European countries (Germany, Netherlands, United Kingdom, Switzerland) and Australia. Coverage of positions in North America, Asia, or Africa is not confirmed by the current endpoint specification. You can fork this API on Parse and revise it to target additional regions if the underlying data includes them.
What data does `list_phd_postings` return, and how is it different from the main search?+
list_phd_postings returns PhD position announcements shared by professors on LinkedIn, including professor details, university, department, and the post content. These are informal or recently announced openings and are distinct from the formal, structured listings returned by search_opportunities. The two endpoints complement each other but draw from different sources.
Page content last updated . Spec covers 3 endpoints from phdscanner.com.
Related APIs in EducationSee all →
arxiv.org API
Search and discover academic research papers on arXiv using keywords, authors, titles, categories, and dates, then access detailed metadata for any paper. Browse the complete arXiv category taxonomy to explore research across different scientific disciplines.
zenodo.org API
Search and retrieve research records, files, versions, and community data from Zenodo's open science repository. Access detailed information about academic publications, datasets, and research outputs, including file listings, version history, and community collections all in one place.
openalex.org API
Search and retrieve millions of academic papers, articles, and books from OpenAlex's comprehensive global research catalog to find scholarly works by topic, author, or citation. Discover detailed information about research publications including metadata, abstracts, and citation counts to stay current with academic literature in your field.
ieeexplore.ieee.org API
Search for scientific papers and retrieve their metadata, abstracts, references, and citations from IEEE Xplore's collection of journals and conferences. Look up author profiles, browse journals, and access paper details and full text sections all programmatically.
dictionary.cambridge.org API
Look up word definitions, pronunciations, translations, synonyms, and example sentences from Cambridge Dictionary. Search and browse thousands of words, get daily word recommendations, and access specialized business or American English dictionaries.
wordreference.com API
Search for word translations across multiple languages using WordReference's comprehensive dictionary database. Retrieve detailed meanings, usage contexts, grammatical information, and example sentences. Access public vocabulary collections and word-of-the-day features.
semanticscholar.org API
Search millions of academic papers by keyword with customizable sorting options, then access detailed information like abstracts, reference counts, and publication metadata for any result. Find and retrieve comprehensive scholarly paper data to power your research, citation management, or academic discovery workflows.
teacherspayteachers.com API
Search and browse K-12 educational resources from Teachers Pay Teachers, view detailed resource information and reviews, and explore seller profiles and their offerings. Discover both premium and free teaching materials to find the perfect resources for your classroom needs.