Discover/Examrace API
live

Examrace APIexamrace.com ↗

Retrieve Indian Forest Services previous-years question paper links from Examrace, grouped by exam year and subject, via a single structured endpoint.

Endpoint health
verified 1h ago
list_question_papers
1/1 passing latest checkself-healing
Endpoints
1
Updated
2h ago

What is the Examrace API?

The Examrace IFS API exposes 1 endpoint — list_question_papers — that returns an array of previous-years question paper links for a given IFS subject, grouped by exam year. Each response includes up to 5 fields: the papers array, the subject slug, a list of all available years on the site, and a list of any requested years that have no coverage. Subjects such as Agriculture or Botany can be queried with optional year filtering.

This call costs1 credit / call— charged only on success
Try it
Comma-separated list of 4-digit exam years to keep, e.g. 2011,2012,2020. The scraper splits on commas — do NOT pass an array. Omitted = all years the site publishes.
IFS subject slug as it appears in the Examrace subject path, e.g. Agriculture or Botany (letters, digits and hyphens).
→ api.parse.bot/scraper/ffcea1ef-bf73-4bf5-82b3-97eeed1231aa/<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/ffcea1ef-bf73-4bf5-82b3-97eeed1231aa/list_question_papers?years=2011%2C2012%2C2013%2C2014%2C2015%2C2016%2C2017%2C2018%2C2020%2C2022%2C2023%2C2024&subject=Agriculture' \
  -H 'X-API-Key: $PARSE_API_KEY'
All endpoints · 1 totalmissing one? ·

Returns the IFS previous-years question paper links published on Examrace for one subject, grouped by exam year. One page fetch per call; no pagination. Each row in papers is one paper link (a year may have several papers, e.g. Paper 1 and Paper 2, or a single 'Part 1 to 2' link). available_years lists every year the site publishes for the subject (newest first). When years is supplied, papers contains only those years and years_not_available names the requested years the site has no papers for; an empty papers array with all requested years in years_not_available is a valid result. A subject the site does not have returns a not-found input error.

Input
ParamTypeDescription
yearsstringComma-separated list of 4-digit exam years to keep, e.g. 2011,2012,2020. The scraper splits on commas — do NOT pass an array. Omitted = all years the site publishes.
subjectstringIFS subject slug as it appears in the Examrace subject path, e.g. Agriculture or Botany (letters, digits and hyphens).
Response
{
  "type": "object",
  "fields": {
    "papers": "array of paper links, each with year (4-digit string), title (link text) and url (absolute paper page URL)",
    "subject": "subject slug the papers belong to",
    "available_years": "array of 4-digit year strings the site publishes for this subject, newest first",
    "years_not_available": "array of requested years (from years) with no papers on the site; empty when years is omitted"
  },
  "sample": {
    "data": {
      "papers": [
        {
          "url": "https://www.examrace.com/IFS/IFS-Previous-Years-Papers/Agriculture/IFS-Agriculture-2006.html",
          "year": "2006",
          "title": "IFS Agriculture 2006"
        },
        {
          "url": "https://www.examrace.com/IFS/IFS-Previous-Years-Papers/Agriculture/IFS-Agriculture-Paper-1-2020.html",
          "year": "2020",
          "title": "IFS Agriculture Paper 1.2020"
        },
        {
          "url": "https://www.examrace.com/IFS/IFS-Previous-Years-Papers/Agriculture/IFS-Agriculture-Paper-2-2024.html",
          "year": "2024",
          "title": "IFS Agriculture Paper 2.2024"
        }
      ],
      "subject": "Agriculture",
      "available_years": [
        "2024",
        "2023",
        "2022",
        "2021",
        "2020",
        "2018",
        "2017",
        "2016",
        "2015",
        "2014",
        "2013",
        "2012",
        "2011",
        "2010",
        "2009",
        "2006",
        "2005",
        "2004",
        "2002",
        "2001",
        "2000"
      ],
      "years_not_available": [
        "2003",
        "2007",
        "2008"
      ]
    },
    "status": "success"
  }
}

About the Examrace API

What the API returns

The list_question_papers endpoint returns structured data about Indian Forest Services (IFS) previous-years exam papers published on Examrace. The core papers array contains one object per paper link, each with a year (4-digit string), title (the link text as it appears on the page, e.g. "Agriculture Paper 1" or "Agriculture Part 1 to 2"), and url (the absolute URL to the paper page on Examrace). A single year may have multiple entries if the exam split into Paper 1 and Paper 2.

Filtering by subject and year

The subject parameter accepts an IFS subject slug matching the path segment used on Examrace, such as Agriculture, Botany, or Forestry. The years parameter accepts a comma-separated list of 4-digit years (e.g. 2011,2015,2020) to narrow the result set. The response always includes available_years — the full list of years the site publishes for that subject, ordered newest first — so you can discover valid year values before filtering. The years_not_available field lists any years you requested that had no matching papers; it is an empty array when years is omitted.

Coverage and pagination

One API call covers the full subject listing page without pagination — all available years for a subject are returned in a single response. Coverage depends on what Examrace has published for each subject; some subjects have papers from the late 2000s through recent years, while others may have a narrower range. The available_years field is the authoritative indicator of what is actually on the site for a given subject.

Reliability & maintenanceVerified

The Examrace API is a managed, monitored endpoint for examrace.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when examrace.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 examrace.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
1h ago
Latest check
1/1 endpoint 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 study resource index that maps IFS exam years to their Agriculture or Botany paper URLs
  • Check which years are available for a subject before constructing a filtered query using the available_years field
  • Detect gaps in a study archive by comparing years_not_available against a target year list
  • Aggregate paper links across multiple subjects by calling list_question_papers once per subject slug
  • Surface the latest IFS paper URLs for a subject by reading the first entry in available_years and filtering accordingly
  • Generate a year-by-year paper directory linking out to individual Examrace paper pages via the url field
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Examrace have an official developer API?+
Examrace does not publish an official public developer API or documented REST interface for accessing its exam paper content.
What does the `papers` array actually contain, and how are multi-paper years handled?+
Each element in papers corresponds to one link on the Examrace subject page, with year, title, and url fields. When an exam year had two separate papers (e.g. Paper 1 and Paper 2), they appear as two distinct objects with the same year value. When the site bundles them as a single link (e.g. "Part 1 to 2"), only one object appears for that year.
Does the API return the full question paper text or PDF content?+
The API returns paper metadata — title, url, and year — for each listing. It does not fetch or return the content of the linked paper pages. You can fork this API on Parse and revise it to add an endpoint that fetches individual paper page content.
Is there a way to list all available IFS subjects, not just query one at a time?+
The current API covers querying papers for a specific subject slug via the subject parameter and exposes available_years for that subject. There is no endpoint that enumerates all valid subject slugs. You can fork it on Parse and revise to add a subject-discovery endpoint.
How should I handle a year I requested that returns no papers?+
The response includes a years_not_available array listing any years from your years parameter that had no matching papers on the site. Cross-referencing this with available_years tells you exactly which years exist for the subject and which do not.
Page content last updated . Spec covers 1 endpoint from examrace.com.
Related APIs in EducationSee all →