Nobel Prize Laureates and Prizes by Year, Category, Country
Pricing
from $1.40 / 1,000 laureate or prize rows
Nobel Prize Laureates and Prizes by Year, Category, Country
Nobel laureates and prizes from the official keyless Nobel Prize API as rows: award year, category, laureate, motivation, prize share, amount, affiliation, birth and death place, age at award, Wikipedia link. Filter by year, category, birth country, gender, name. For newsrooms, teachers and agents.
Pricing
from $1.40 / 1,000 laureate or prize rows
Rating
0.0
(0)
Developer
Samat Makatov
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Share
Nobel laureates and prizes from the official keyless Nobel Prize API as rows: award year, category, laureate, motivation, prize share, amount, affiliation, birth and death place, age at award and Wikipedia link. Filter by year range, category, birth country, gender or name. UTC dates.
Every Nobel Prize since 1901 as a flat table, read from the Nobel Foundation's own API (api.nobelprize.org, version 2.1) and published under CC0. Pick what one row stands for: one row per laureate and award — name, year, category, the committee's motivation, the share of the prize, the institution the laureate worked at, birth and death place, age at the award, Wikipedia and Wikidata links — or one row per prize, with the laureates of that year and category joined into one line. Built for newsrooms during prize week, teachers and quiz builders, university and country reporting, dashboards, and agents that need a short factual answer.
No API key, no account, no proxy and no browser: the source is a public JSON API and this actor reads nothing else.
Need it tailored to your workflow? Missing a field, a filter, another source or a different output format? Open an issue and describe what you need — we read every request and adapt the actor.
Use cases
- Prize-week newsroom table: run it on the announcement days with
yearFrom/yearToset to the current year andonlyNewon, and a scheduled task hands you exactly the laureates announced since your last run — name, category, motivation, affiliation, age. - Teaching and quiz material per field: one category over a long window (
categories: ["Physics"],yearFrom: 1901) gives a ready question bank with the official citation text for every answer. - Women laureates report:
gender: "female"withlaureateType: "person"returns every woman ever awarded, newest first, with field, year and birth country — the figure every equality report and prize-week explainer needs. - "Our laureates" page for a country or a university:
birthCountriescuts by place of birth and gives both the historical and the modern country name, so your count does not quietly mix Prussia with Poland;affiliationNamegives the institution side. - Charts and year-by-year tables:
mode: "prizes"returns one row per year and category with the laureate names, the shared motivation and the prize money in Swedish kronor, nominal and inflation adjusted. - An agent answering factual questions: "who won the Nobel Prize in Physics in 1965, and for what" is one call with
categories,yearFrom,yearToandmaxItems: 10.
Input
No field is required: an empty input returns the most recent laureates of every category, newest first.
| Field | Type | Default | Allowed values / notes |
|---|---|---|---|
mode | string (enum) | laureates | laureates = one row per laureate and award (a two-time laureate gives two rows, with the biographical columns); prizes = one row per year and category, laureates joined into lists. Strict: the platform refuses any other value before the run starts. |
categories | string[] (enum) | all six | Chemistry, Economic Sciences, Literature, Peace, Physics, Physiology or Medicine — see Prize categories. Several values are combined with OR. Strict list: an off-list value is refused by the platform with an error naming the six, so write them exactly as above. |
yearFrom | integer | 1901 | Earliest award year, inclusive. Sent to the source, so a narrow range is the cheapest filter there is. Prefilled with 2015. |
yearTo | integer | current year | Latest award year, inclusive. Set both years to the same number for a single year. Prefilled with 2026. |
birthCountries | string[] | none | Free text, up to 10 values, matched against a list of 119 country names the source uses — see Birth countries. Case, extra spaces, missing diacritics and the listed aliases are accepted (usa, United States, UK, netherlands, Deutschland); any other spelling is refused with the closest names instead of returning a different country. Ignored in prizes mode. |
gender | string (enum) | all | female or male, the two values the source records. Empty = every laureate. Organizations carry no gender and drop out when this is set. Strict list. Ignored in prizes mode. |
laureateType | string (enum) | all | all, person or organization. The source has no parameter for this, so the actor applies it to the rows. Strict list. Ignored in prizes mode. |
nameContains | string | none | Keep only laureates whose name contains this text, matched case-, space- and accent-insensitively (curie, red cross, maria). Applied to the rows, not by the source — pair it with a year range or a category. |
sort | string (enum) | yearDesc | yearDesc (newest award year first) or yearAsc. Decides which rows you get when maxItems cuts the answer. With several birthCountries the rows come country by country, ordered by year inside each country (see Birth countries). Strict list. |
onlyNew | boolean | false | Remember the rows this run wrote and, on the next run of the same actor or task, write only rows that were not written before. Built for watching the October announcements. |
maxItems | integer | 50 | 1–1000. Hard cap on the rows written, and therefore on what the run costs. |
fields | string[] | all | Keep only these columns, in this order. awardYear, category, url, fetchedAt and sourceMode are always kept and come first unless you list them — name one of them here and it moves to the position you gave it. A name this mode has no column for is reported in the status message instead of being dropped in silence. |
Reference
Prize categories
The six categories are an enum field: the platform checks the value before the run starts, so a misspelling never reaches the actor — it is refused with the list of allowed values. Write them as printed here. Each row carries the same words in its category column.
categories value | Official name (categoryFullName) | Source code | Prize page slug | Note |
|---|---|---|---|---|
Chemistry | The Nobel Prize in Chemistry | che | chemistry | since 1901 |
Economic Sciences | The Sveriges Riksbank Prize in Economic Sciences in Memory of Alfred Nobel | eco | economic-sciences | since 1969 only |
Literature | The Nobel Prize in Literature | lit | literature | since 1901 |
Peace | The Nobel Peace Prize | pea | peace | the only category awarded to organizations |
Physics | The Nobel Prize in Physics | phy | physics | since 1901 |
Physiology or Medicine | The Nobel Prize in Physiology or Medicine | med | medicine | the official name of what is usually called the medicine prize |
The url column of every row is the prize page of that year and category, built from the slug: https://www.nobelprize.org/prizes/medicine/2025/.
Birth countries
birthCountries is free text on purpose. The source records a birth place under the country name it carried at the time of birth, so historical names are valid filter values next to today's names, and people type country names loosely. What is accepted: the exact name, a different case, extra or missing spaces and hyphens, missing diacritics (Osterreich for Österreich), and the aliases listed below. Anything else is refused with a message naming the closest values (Unknown birthCountries "Germny" (did you mean "Germany"?)) — a near miss is another country as often as a typo, so the actor never substitutes one for you.
A row matches when either the historical name (birthCountry) or today's name (birthCountryNow) is the country you asked for, and the row says which value matched in requestedBirthCountry. Asking for Germany therefore also finds laureates the source records as born in Prussia, Bavaria or West Germany; asking for Prussia finds only those recorded as Prussian.
Each country you name is read and written as its own block, so a run that is cut short still has the countries it finished complete. With one country the rows are ordered by award year throughout; with several, they are ordered by year inside each country, in the order you listed the countries.
Today's names (87): Algeria, Argentina, Australia, Austria, Azerbaijan, Bangladesh, Belarus, Belgium, Bosnia and Herzegovina, Brazil, Bulgaria, Canada, Chile, China, Colombia, Costa Rica, Croatia, Cyprus, Czech Republic, Democratic Republic of the Congo, Denmark, East Timor, Egypt, Ethiopia, Faroe Islands (Denmark), Finland, France, Germany, Ghana, Greece, Guadeloupe, France, Guatemala, Hungary, Iceland, India, Indonesia, Iran, Iraq, Ireland, Israel, Italy, Japan, Jordan, Kenya, Latvia, Lebanon, Liberia, Lithuania, Luxembourg, Madagascar, Mexico, Morocco, Myanmar, the Netherlands, New Zealand, Nigeria, North Macedonia, Northern Ireland, Norway, Pakistan, Peru, Philippines, Poland, Portugal, Romania, Russia, Saint Lucia, Scotland, Slovakia, Slovenia, South Africa, South Korea, Spain, Sweden, Switzerland, Taiwan, Trinidad and Tobago, Tunisia, Turkey, USA, Ukraine, United Kingdom, Venezuela, Vietnam, Yemen, Zimbabwe.
Historical names the source still uses (32): Austria-Hungary, Austrian Empire, Bavaria, Belgian Congo, Bosnia, British India, British Mandate of Palestine, British Protectorate of Palestine, British West Indies, Burma, Crete, Czechoslovakia, East Friesland, Free City of Danzig, French Algeria, French protectorate of Tunisia, German-occupied Poland, Gold Coast, Hesse-Kassel, Java, Dutch East Indies, Korea, Mecklenburg, Ottoman Empire, Persia, Prussia, Russian Empire, Schleswig, Southern Rhodesia, Tibet, Tuscany, USSR, West Germany, Württemberg.
Aliases accepted (a selection; two-letter ISO codes work for the countries that have one): USA ← United States, United States of America, US, America; United Kingdom ← UK, GB, Great Britain, Britain, England; the Netherlands ← Netherlands, Holland, NL; Germany ← Deutschland, DE; Austria ← Österreich, Osterreich, AT; Russia ← Russian Federation, RU; Czech Republic ← Czechia, CZ; North Macedonia ← Macedonia, MK; South Korea ← Republic of Korea, KR; Democratic Republic of the Congo ← DR Congo, DRC, CD; Turkey ← Türkiye, TR; USSR ← Soviet Union; West Germany ← Federal Republic of Germany, FRG; Prussia ← Kingdom of Prussia.
What the filters do where
| Filter | Applied by |
|---|---|
yearFrom, yearTo, one categories value, gender, one birthCountries value | the source, so the run pays only for what it asked for (and the actor re-checks every one of them on the rows) |
two or more categories, laureateType, nameContains, the historical/modern country match | the actor, on the rows it read (the API has no parameter for them, and it silently ignores a joined category value) |
Examples
Prize-week table: everyone announced in the last two years, all categories
{ "mode": "laureates", "yearFrom": 2025, "yearTo": 2026, "sort": "yearDesc", "maxItems": 25 }
One field over a long window, for teaching or a quiz bank
{ "mode": "laureates", "categories": ["Chemistry"], "yearFrom": 2010, "yearTo": 2026, "maxItems": 25 }
Every woman awarded a Nobel Prize, newest first
{ "mode": "laureates", "gender": "female", "laureateType": "person", "sort": "yearDesc", "maxItems": 30 }
The Peace Prizes that went to institutions rather than people
{ "mode": "laureates", "categories": ["Peace"], "laureateType": "organization", "maxItems": 20 }
Laureates born in one country, with the historical and the modern country name
{ "mode": "laureates", "birthCountries": ["USA"], "yearFrom": 1990, "maxItems": 20 }
One row per prize, for a chart or a year-by-year table
{ "mode": "prizes", "yearFrom": 2000, "yearTo": 2026, "sort": "yearDesc", "maxItems": 40 }
Only the citation text, four columns, in that order
{ "mode": "laureates", "categories": ["Literature"], "yearFrom": 1990, "fields": ["name", "awardYear", "motivation", "birthCountryNow"], "maxItems": 20 }
Output
A real row from a cloud run (mode: "laureates", Chemistry 2015–2026, newest first):
{"awardYear": 2026,"category": "Chemistry","url": "https://www.nobelprize.org/prizes/chemistry/2026/summary/","fetchedAt": "2026-10-07T21:31:38.340Z","sourceMode": "laureates","name": "Henri B. Kagan","fullName": "Henri B. Kagan","laureateId": "1065","laureateType": "person","gender": "male","motivation": "for the discovery of non-linear effects and autocatalysis in asymmetric organic synthesis","categoryFullName": "The Nobel Prize in Chemistry","portion": "1/2","shareOrder": 1,"prizeStatus": "received","dateAwarded": "2026-10-07","prizeAmount": 12000000,"prizeAmountAdjusted": 12000000,"prizeCount": 1,"affiliationName": "Université Paris-Sud","affiliationCity": "Orsay","affiliationCountry": "France","birthDate": "1930-12-15","birthCity": "Boulogne-Billancourt","birthCountry": "France","birthCountryNow": "France","birthContinent": "Europe","deathDate": null,"deathCity": null,"deathCountry": null,"ageAtAward": 95,"organizationAcronym": null,"laureatePageUrl": "https://www.nobelprize.org/prizes/chemistry/2026/kagan/facts/","wikipediaUrl": "https://en.wikipedia.org/wiki/Henri_B._Kagan","wikidataId": "Q354979","requestedBirthCountry": null,"source": "api.nobelprize.org"}
And one row from mode: "prizes" (same run plan, 2000–2026, newest first):
{"awardYear": 2026,"category": "Physiology or Medicine","url": "https://www.nobelprize.org/prizes/medicine/2026/","fetchedAt": "2026-10-07T21:31:43.079Z","sourceMode": "prizes","categoryFullName": "The Nobel Prize in Physiology or Medicine","dateAwarded": "2026-10-05","prizeStatus": "awarded","prizeAmount": 12000000,"prizeAmountAdjusted": 12000000,"laureateCount": 3,"laureateNames": ["Karl Deisseroth","Peter Hegemann","Georg Nagel"],"laureateIds": ["1061","1062","1063"],"laureatePortions": ["1/3","1/3","1/3"],"topMotivation": null,"motivations": ["for their discoveries concerning light-gated ion channels and optogenetics","for their discoveries concerning light-gated ion channels and optogenetics","for their discoveries concerning light-gated ion channels and optogenetics"],"source": "api.nobelprize.org"}
| Field | Type | Mode | Meaning |
|---|---|---|---|
awardYear | integer | both | Year the prize was awarded. Always filled. |
category | string | both | One of the six categories, in the same words the categories input takes. Always filled. |
url | string | both | Prize page of that year and category on the Nobel Prize website. Always filled. |
fetchedAt | string | both | When this run read the record, UTC ISO-8601. Always filled. |
sourceMode | string | both | laureates or prizes — which shape this row is. Always filled. |
name | string | laureates | Name of the person or organization as the source prints it. |
fullName | string | laureates | Longer form where the source has one, otherwise the same as name. |
laureateId | string | laureates | The source's own laureate id — stable, and what onlyNew remembers rows by. |
laureateType | string | laureates | person or organization. |
gender | string | laureates | female or male for people, empty for organizations. |
motivation | string | laureates | The committee's citation for this laureate, in English. Filled on every award. |
categoryFullName | string | both | The full official prize name (it differs from category for Economic Sciences and Physiology or Medicine). |
portion | string | laureates | Share of the prize money: 1, 1/2, 1/3 or 1/4. |
shareOrder | integer | laureates | The committee's order inside a shared prize (1, 2, 3). Rows of one prize are written in this order. |
prizeStatus | string | both | Laureates mode: the source's status for the award — received, declined (two cases) or restricted (one). Prizes mode: awarded, or notAwarded for a year when the prize was withheld. |
dateAwarded | string | both | Announcement date, YYYY-MM-DD. Empty when the source has no exact date (most pre-1950 prizes in prizes mode, and the years with no award). |
prizeAmount | number | both | Prize money for the whole prize in Swedish kronor of that year — not the laureate's share. |
prizeAmountAdjusted | number | both | The same amount restated by the source in recent kronor, so years can be compared. |
prizeCount | integer | laureates | How many Nobel Prizes this laureate has in total. 2 for the five double laureates. |
affiliationName, affiliationCity, affiliationCountry | string | laureates | The institution the laureate worked at when the prize was awarded (the first one when the source lists several). Empty on about a quarter of the awards — most Peace and Literature ones have none. |
birthDate, birthCity, birthCountry, birthCountryNow, birthContinent | string | laureates | Birth place. birthCountry is the country name of the time, birthCountryNow today's name — use the second one for counts. For an organization these columns hold the founding date and place. |
deathDate, deathCity, deathCountry | string | laureates | Death date and place; empty for living laureates. |
ageAtAward | integer | laureates | Full years between the birth date and the announcement date — for an organization, full years since it was founded. Empty when the source knows only a birth or founding year. |
organizationAcronym | string | laureates | Short form of an organization's name (WFP, ICAN); empty for people. |
laureatePageUrl | string | laureates | The laureate's facts page for that award, as the source links it. |
wikipediaUrl, wikidataId | string | laureates | English Wikipedia address and Wikidata id the source links. Filled on every laureate. |
requestedBirthCountry | string | laureates | Which of your birthCountries values this row matched. Empty when the run asked for no country. |
laureateCount | integer | prizes | How many laureates shared the prize: 1–3, and 0 for a year when it was not awarded. |
laureateNames, laureateIds, laureatePortions | array | prizes | The laureates in the committee's share order, their ids and their shares — the ids join straight to a laureates-mode run. |
topMotivation | string | prizes | A citation belonging to the prize as a whole. The source fills it on few prizes, and uses it to explain the years with no award. |
motivations | array | prizes | The citation of each laureate, in the same order as laureateNames. |
source | string | both | Always api.nobelprize.org. |
Dataset views: Laureates and their awards (the award plus who won it), Who the laureates were (the biography columns), One row per prize (for prizes mode).
Use it from code / agents
curl -X POST "https://api.apify.com/v2/acts/yadroo~nobel-prize-laureates/run-sync-get-dataset-items?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"categories":["Physics"],"yearFrom":2020,"yearTo":2026,"maxItems":20}'
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('yadroo/nobel-prize-laureates').call({categories: ['Physics'],yearFrom: 2020,yearTo: 2026,maxItems: 20,});const { items } = await client.dataset(run.defaultDatasetId).listItems();
import osfrom apify_client import ApifyClientclient = ApifyClient(os.environ["APIFY_TOKEN"])run = client.actor("yadroo/nobel-prize-laureates").call(run_input={"mode": "prizes", "yearFrom": 2000, "yearTo": 2026, "maxItems": 40})items = client.dataset(run["defaultDatasetId"]).list_items().items
MCP: add https://mcp.apify.com to Claude / Cursor / any MCP client and call the yadroo/nobel-prize-laureates tool with the same JSON input. The two modes are best used as two separate calls: mode: "laureates" for "who won and who were they", mode: "prizes" for "what was awarded in a year". Keep maxItems small (10–25) for a question an agent answers in one turn.
Pricing
Pay per event: $0.001 per run start + $0.002 per row written to the dataset. Every run is charged the start event, including a run that finds nothing.
| Run | Rows | Cost |
|---|---|---|
A question an agent asks (maxItems: 10) | 10 | $0.001 + 10 × $0.002 = $0.021 |
The default run (maxItems: 50) | 50 | $0.001 + 50 × $0.002 = $0.101 |
| One row per prize, 2000–2026 | 159 | $0.001 + 159 × $0.002 = $0.319 |
| The largest run the input allows | 1000 | $0.001 + 1000 × $0.002 = $2.001 |
Every row written to the dataset is charged, and that is the only row event. This actor writes no placeholder rows: a filter that matches nothing, or a category of the running year that has not been announced yet, produces no row at all — such a run costs the start event only and says in its status message why it is empty.
The run stops as soon as it reaches your Maximum cost per run and keeps every row you already paid for; its status then reads "Stopped at your spending limit: N rows delivered." maxItems is the same brake set in advance: paging stops when the cap is reached.
Limits & FAQ
How fast is it, and what fits into one run? Measured in the Apify cloud on 2026-10-07. A filtered laureates run (one category, 2015–2026) is one request and 33 rows in 4 seconds; one row per prize for 2000–2026 is one request and 40 rows in 4 seconds. The widest input the schema allows — ten birth countries over the whole history, 1 000 rows — is about fifty paced requests: in a 60-second test run it read 712 records and wrote 218 rows in 42 seconds at one request per second, then stopped cleanly at the timeout margin with every row kept and said so ("Stopped before the run timeout: 218 rows saved"). With the actor's own 900-second timeout that input finishes comfortably, so no realistic run is cut short.
Request pace. The source publishes no numeric rate limit; its terms ask applications to keep the load on the API small and to prefer a local cache over many calls. This actor therefore sends at most one request per second through a single token bucket (retries included), and reads whole pages of 100–200 records rather than one call per year: a complete history run is under ten requests. No 429 and no temporary block appeared in any of our runs. A run is capped at 80 source requests as a safety net — more than twice what the widest input the schema allows needs; if that cap is ever reached, the status message says so.
Freshness during prize week. The API is updated together with the nobelprize.org website, including at the moment each prize is announced — the 2026 chemistry laureates were in the API on the day of the announcement. Announcements run over the first half of October, one category a day, so a run on 7 October finds chemistry, physics and medicine for the current year and nothing yet for literature, peace and economics. In prizes mode the source already carries a record for the categories still to come, with the planned announcement date but no laureates; such an empty placeholder is not written as a row (you would be paying for an empty line) and the status message counts them. Set yearTo to the current year and onlyNew on to collect each announcement as it lands.
The historical country trap. birthCountry holds the country as it was named when the laureate was born — Prussia, Austria-Hungary, Russian Empire, USSR — and birthCountryNow today's name. Counting by birthCountry is the most common way to get a wrong "laureates per country" figure. The birthCountries filter matches either column and tells you which value matched; see Birth countries.
Years with no prize. During the world wars several prizes were not awarded. In prizes mode those years keep a row with prizeStatus: "notAwarded", laureateCount: 0 and the source's own explanation in topMotivation. In laureates mode there is simply no row, because there was no laureate.
What the source does not have. No nomination data — nominations stay sealed for 50 years and the nomination archive is a different dataset. No nationality or citizenship field: only the birth and death place as recorded then and now, plus the affiliation at the time of the award. Two laureates declined their prize and one was prevented from accepting it; they are in the data with prizeStatus declined or restricted. The lectures, biographies and medal texts on the website are not part of the API and not in these rows.
Empty results. An empty run is never silent: the status message names the reason — a name that matched nothing, a country with no laureate in that window, a category with no award in those years. An invalid input (a year range that cannot match, an unknown country spelling, more than ten countries) fails before any request with a message saying exactly what to change.
Licence and source. The API's data is published under CC0, so commercial use is free and no attribution is required; we name the Nobel Prize API as the source anyway. This actor reads only api.nobelprize.org — no scraping of the website, no login, no proxy, no browser.
Questions or problems: open an issue on the Issues tab of this actor.
Made by Yadroo. Sibling actors: openalex-works, arxiv-papers, wikipedia-search, openlibrary-books, world-bank-indicators.