curl -X GET 'https://api.parse.bot/scraper/0a6e0303-d9d5-463b-80a8-f5da648605f5/get_paper_questions?year=2025&paper=paper-i&subject=agriculture' \ -H 'X-API-Key: $PARSE_API_KEY'
Returns every question of one UPSC optional-subject paper (one year, Paper I or Paper II) as the site publishes it, in one request. Each question carries its stable slug id, question number (e.g. Q1), topic title, access badge as shown on the site (FREE or PAID), optional preamble instruction, computed total marks, topic tags, and its sub-questions: label (a, b, c…), full verbatim text (multi-line where the paper lists sub-points such as (i)…(v)), marks (taken from the trailing mark in the sub-part, or inherited from a preamble of the form "(10x5=50)"; null when the paper states neither), and any data tables attached to that sub-part as headers plus rows of cell strings. total_marks is the sum of sub-part marks and is null when any sub-part mark is unknown. Model answers are never returned. A year/subject/paper combination the site does not have yields a stale_input (input_not_found) error.
| Param | Type | Description |
|---|---|---|
| yearrequired | string | 4-digit exam year, e.g. 2025. The site lists papers for 2013 through 2025 for agriculture. |
| paper | string | Which paper of the optional subject to fetch. |
| subject | string | Optional-subject slug as used in the site's URL path, lowercase hyphenated (confirmed: agriculture). |
{
"type": "object",
"fields": {
"year": "echo of the year requested",
"paper": "echo of the paper code requested",
"subject": "echo of the subject slug requested",
"questions": "array of question objects: id (site slug), number (Q1..Q8), title, access (FREE|PAID badge), preamble (instruction line or null), total_marks (integer or null), sub_questions (array of {label, text, marks, tables[{headers, rows}]}), tags (array of topic slugs)",
"paper_title": "heading of the paper page as shown on the site",
"question_count": "integer number of questions returned"
},
"sample": {
"data": {
"year": "2025",
"paper": "paper-i",
"subject": "agriculture",
"questions": [
{
"id": "nrm-cropping-agroforestry-wce",
"tags": [
"agro-ecology",
"cropping-systems",
"agroforestry",
"weed-management",
"conservation-agriculture"
],
"title": "Agronomy & Agroforestry Concepts",
"access": "FREE",
"number": "Q1",
"preamble": "Answer the following questions in about 150 words each : (10x5=50)",
"total_marks": 50,
"sub_questions": [
{
"text": "Classify natural resources. Discuss the natural resource management with reference to ecological conservation.",
"label": "a",
"marks": 10,
"tables": []
},
{
"text": "Explain weed control efficiency (WCE). Work out WCE from the given data and offer your critical comment :",
"label": "e",
"marks": 10,
"tables": [
{
"rows": [
[
"1",
"T1—Unweeded check",
"90"
],
[
"2",
"T2—Hand weeding",
"55"
]
],
"headers": [
"Sl. No.",
"Treatment",
"Weed Population/m²"
]
}
]
}
]
},
{
"id": "farm-budgeting-extension-bennetts",
"tags": [
"farm-management",
"agricultural-extension"
],
"title": "Farm Budgeting & Bennett's Model",
"access": "FREE",
"number": "Q8",
"preamble": null,
"total_marks": 50,
"sub_questions": [
{
"text": "Differentiate between partial and complete farm budget. Highlight the steps adopted while preparing farm planning and budgeting.",
"label": "a",
"marks": 20,
"tables": []
},
{
"text": "Explain in detail about Bennett's hierarchy extension programme evaluation model.",
"label": "c",
"marks": 10,
"tables": []
}
]
}
],
"paper_title": "2025 Paper",
"question_count": 8
},
"status": "success"
}
}About the Redpapr API
The Redpapr API on Parse exposes 1 endpoint for the publicly available data on redpapr.com. Calls return JSON over HTTPS and are billed per successful response.
Pin a release with the API-Snapshot-Version header so canonical updates don't silently change your contract.