Discover/imo-official.org API
live

imo-official.org APIimo-official.org

Access IMO competition problems, shortlist PDFs, Hall of Fame names, and participant results by year via the imo-official.org API.

Endpoints
4
Updated
4mo ago
Try it

No input parameters required.

api.parse.bot/scraper/d1cf9b10-7d90-4628-8a37-8ddc5a4b57c0/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Use it in your codegrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/d1cf9b10-7d90-4628-8a37-8ddc5a4b57c0/get_shortlists_and_problems' \
  -H 'X-API-Key: $PARSE_API_KEY'
All endpoints · 4 totalclick to expand

Extract all links to shortlists and problems from the IMO official problems page, organized by year. Returns a list of years with their respective shortlist PDF URLs and a list of language-specific problem PDF URLs.

Input

No input parameters required.

Response
{
  "type": "object",
  "fields": {
    "data": "array of year objects with year (integer), shortlist_url (string or null), and problem_links (array of objects with language and url)",
    "status": "string, always 'success'"
  },
  "sample": {
    "data": [
      {
        "year": 2024,
        "problem_links": [
          {
            "url": "https://www.imo-official.org/problems/2024/afr.pdf",
            "language": "Afrikaans"
          },
          {
            "url": "https://www.imo-official.org/problems/2024/alb.pdf",
            "language": "Albanian"
          }
        ],
        "shortlist_url": "https://www.imo-official.org/problems/IMO2024SL.pdf"
      }
    ],
    "status": "success"
  }
}

About the imo-official.org API

The imo-official.org API exposes 4 endpoints covering International Mathematical Olympiad data: problem and shortlist PDF links organized by year, participant names from results pages, Hall of Fame listings with pagination, and name extraction from any page on the IMO website. The get_shortlists_and_problems endpoint, for example, returns per-year shortlist PDF URLs alongside language-specific problem PDF links in a single structured response.

Problems and Shortlists

The get_shortlists_and_problems endpoint returns an array of year objects, each containing a year integer, a shortlist_url (string or null when no shortlist is published), and a problem_links array. Each entry in problem_links includes a language field and a url pointing to the corresponding PDF. This gives you a machine-readable index of every publicly available IMO problem set and shortlist across all recorded years without manual crawling.

Participant and Hall of Fame Names

get_results_by_year accepts a year integer and returns an object with the resolved url and a names array of alphabetically sorted participant name strings for that competition year. get_hall_of_fame targets the Hall of Fame page and supports pagination via a start integer parameter (0, 100, 200, and so on), returning up to 100 names per request alongside the source url.

Flexible Page Name Extraction

extract_names_from_page accepts any relative path or absolute URL from the IMO site — such as advisory.aspx, year_individual_r.aspx?year=2024, or hall.aspx — and returns all names found on that page as a sorted names array. This makes it usable against results pages, board member listings, advisory committee pages, or any other page that lists people, without needing a dedicated endpoint for each.

Common use cases
  • Build a searchable archive of IMO problem PDFs indexed by year and language using get_shortlists_and_problems.
  • Track which countries' participants appear in year-by-year results using get_results_by_year across multiple years.
  • Compile a full Hall of Fame roster by paginating through get_hall_of_fame with incremental start values.
  • Cross-reference advisory committee or board member names against academic databases using extract_names_from_page.
  • Detect year-over-year participation changes by comparing name arrays from consecutive calls to get_results_by_year.
  • Download and catalog all published shortlist PDFs by filtering shortlist_url fields where the value is non-null.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000250 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 imo-official.org provide an official developer API?+
No. imo-official.org does not publish a documented public API or data export service. This Parse API provides structured programmatic access to the data available on the site.
What does `get_shortlists_and_problems` return for years where no shortlist is published?+
For years without a published shortlist, the shortlist_url field is returned as null. The problem_links array may still contain entries if language-specific problem PDFs exist for that year.
How does pagination work in `get_hall_of_fame`?+
Each call returns up to 100 names. Pass start=0 for the first page, start=100 for the second, and so on. The response always includes the resolved url and an alphabetically sorted names array for the requested slice.
Does the API return individual scores, medals, or country affiliations alongside participant names?+
Not currently. All name-returning endpoints — get_results_by_year, get_hall_of_fame, and extract_names_from_page — return names as plain strings with no attached score, medal, or country data. You can fork this API on Parse and revise it to extract those additional fields from the results pages.
Can the API retrieve problem statement text rather than just PDF links?+
Not currently. get_shortlists_and_problems returns PDF URLs for problems and shortlists, not the extracted text content of those documents. You can fork this API on Parse and revise it to add a problem-text extraction endpoint.
Page content last updated . Spec covers 4 endpoints from imo-official.org.
Related APIs in EducationSee all →
codechef.com API
Access competitive programming data from CodeChef by retrieving problem lists, contest information with details, user profiles, and recent submission history. Explore coding challenges across multiple contests and browse problems by difficulty rating.
olympics.com API
Access Olympic Games results, medal tables, and athlete profiles to track performances across disciplines and events. Search featured athletes, view competition outcomes, and stay updated on medal standings from the official Olympics source.
planetmath.org API
Search and browse mathematical definitions, theorems, and concepts across PlanetMath's encyclopedia by subject classification or keyword, then explore how topics relate to and depend on each other. Access detailed entry information organized through the Mathematical Subject Classification hierarchy to understand foundational concepts and build your mathematical knowledge.
leetcode.com API
Search and filter LeetCode coding problems by difficulty, category, and tags, browse upcoming programming contests, and view public user profiles including their problem statistics and submission history. Perfect for finding practice problems, tracking competition schedules, and researching other coders' progress.
openstax.org API
Access learning outcomes, table of contents, and metadata from 60+ free OpenStax textbooks spanning Business, Science, Math, Social Sciences, Humanities, Computer Science, and Nursing. Search and retrieve structured content from any of these textbooks.
cses.fi API
Explore the CSES Problem Set by browsing problems across different categories, viewing detailed problem information, and discovering available courses and contests. Access comprehensive problem lists organized by topic to find coding challenges tailored to your learning goals.
oeis.org API
Search OEIS for integer sequences by keyword, A-number, or known terms, then retrieve full sequence entries and b-file term data.
boslive.icai.org API
Access the ICAI Board of Studies Knowledge Portal, including announcements, examination updates, Live Virtual Class (LVC) and Live Virtual Revisionary Class (LVRC) schedules, and study materials. Browse available courses, languages, and papers, and retrieve direct PDF links for any portal page.