Use this file to discover all available pages before exploring further.
Which institutions are leaders in your fields that you haven’t yet collaborated with? This recipe identifies who publishes in your top research areas, checks how much you already co-author with them, and flags rising stars. We’ll use MIT as the example throughout.
Institutions that appear in the recent top 10 but not in the historical list are rising fast. For particle physics, the University of Chinese Academy of Sciences jumped into the recent top 10 with 672 works but didn’t appear in the 2018–2020 list at all.
Institutions that rank highly in your topics (Part 1) but don’t appear in your co-authorship list — or appear with low counts — are your biggest opportunities.
This script combines both parts: finds your top topics, identifies who leads in each, pulls your co-authorship list in one call, and highlights the gaps.
import requestsBASE = "https://api.openalex.org"MY_INST = "I63966007" # MITdef api(endpoint, params): return requests.get(f"{BASE}/{endpoint}", params=params).json()# Get all co-authoring institutions in one callcollab_data = api("works", { "filter": f"authorships.institutions.id:{MY_INST},publication_year:2020-2025", "group_by": "authorships.institutions.id", "per_page": 100,})["group_by"]collabs = {g["key"].split("/")[-1]: g["count"] for g in collab_data}# Get top 5 topicstopics = api("works", { "filter": f"authorships.institutions.id:{MY_INST}", "group_by": "primary_topic.id", "per_page": 5,})["group_by"]for topic in topics: tid = topic["key"].split("/")[-1] print(f"\n=== {topic['key_display_name']} ({topic['count']} works) ===") # Top institutions in this topic top_insts = api("works", { "filter": f"primary_topic.id:{tid}", "group_by": "authorships.institutions.id", "per_page": 15, })["group_by"] # Recent vs. historical for rising star detection recent = {g["key"].split("/")[-1] for g in api("works", { "filter": f"primary_topic.id:{tid},publication_year:2023-2025", "group_by": "authorships.institutions.id", "per_page": 15, })["group_by"]} historical = {g["key"].split("/")[-1] for g in api("works", { "filter": f"primary_topic.id:{tid},publication_year:2018-2020", "group_by": "authorships.institutions.id", "per_page": 15, })["group_by"]} rising = recent - historical for inst in top_insts: iid = inst["key"].split("/")[-1] if iid == MY_INST: continue coauthored = collabs.get(iid, 0) tag = " ** RISING **" if iid in rising else "" print(f" {inst['key_display_name']}: " f"{inst['count']} topic works, {coauthored} co-authored{tag}")