Discover/Nic API
live

Nic APIjosaa.nic.in

Access JoSAA seat matrix, opening/closing ranks, and institute details for IITs, NITs, IIITs, and GFTIs via a structured API. Historical data from 2016.

Endpoint health
verified 7d ago
get_opening_closing_ranks
get_previous_years_ranks
get_institute_list
get_seat_matrix
4/4 passing latest checkself-healing
Endpoints
4
Updated
21d ago

What is the Nic API?

The JoSAA API provides 4 endpoints covering Joint Seat Allocation Authority admission data across IITs, NITs, IIITs, and GFTIs. Use get_opening_closing_ranks to retrieve rank cutoffs for the current counselling session filtered by round, category, and institute, or pull historical rank data back to 2016 with get_previous_years_ranks. Responses include seat type breakdowns, program-level detail, and full institute metadata.

Try it
Branch/program code or 'ALL'.
Round number.
Institute type.
Institute code (numeric, from get_institute_list) or 'ALL'.
Seat type or 'ALL'.
api.parse.bot/scraper/bbe8589c-10ba-4826-b58e-3d7153b00cdd/<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/bbe8589c-10ba-4826-b58e-3d7153b00cdd/get_opening_closing_ranks?branch=ALL&round_no=1&inst_type=IIT&institute=ALL&seat_type=ALL' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace josaa-nic-in-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""JoSAA Admission Data: institutes, seat matrix, and historical rank trends."""
from parse_apis.josaa_admission_data_api import (
    JoSAA, InstituteType, Round, Year, SeatType, DataNotAvailable
)

client = JoSAA()

# List all participating institutes — quick overview of the JoSAA ecosystem.
for inst in client.institutes.list(limit=3):
    print(inst.code_and_name, inst.address)

# Seat matrix for IITs: category-wise seat counts per program.
entry = client.seatmatrixentries.list(inst_type=InstituteType.IIT, limit=1).first()
if entry:
    print(entry.institute_name, entry.program_name, entry.open, entry.sc, entry.total)

# Historical ranks (2024, Round 1) for IITs — the primary research use case.
for rank in client.rankentries.list_historical(
    year=Year.Y2024, round_no=Round.ROUND_1, inst_type=InstituteType.IIT,
    seat_type=SeatType.OPEN, limit=5
):
    print(rank.institute, rank.program_name, rank.opening_rank, rank.closing_rank)

# Typed error handling: catch when data isn't available for a combination.
try:
    for rank in client.rankentries.list_current(
        round_no=Round.ROUND_1, inst_type=InstituteType.IIT, limit=3
    ):
        print(rank.program_name, rank.gender, rank.closing_rank)
except DataNotAvailable as exc:
    print(f"No current session data: {exc}")

print("exercised: institutes.list / seatmatrixentries.list / rankentries.list_historical / rankentries.list_current")
All endpoints · 4 totalmissing one? ·

Fetch opening and closing rank data for the current admission session based on round, institute type, and category. Returns an array of rank entries. Data availability depends on the current counselling session progress; some institute types may not have data populated yet. Empty results are normal when the session has not started.

Input
ParamTypeDescription
branchstringBranch/program code or 'ALL'.
round_norequiredstringRound number.
inst_typerequiredstringInstitute type.
institutestringInstitute code (numeric, from get_institute_list) or 'ALL'.
seat_typestringSeat type or 'ALL'.
Response
{
  "type": "object",
  "fields": {
    "data": "array of rank entry objects with institute, program, quota, seat type, gender, opening and closing ranks"
  }
}

About the Nic API

Endpoints and What They Return

The API exposes four endpoints. get_opening_closing_ranks returns rank entries for the active counselling session. Required parameters are round_no (1–6) and inst_type (IIT, NIT, IIIT, or GFTI). Optional filters include institute (numeric code from get_institute_list), branch (program code), and seat_type (e.g. OPEN, EWS, OBC-NCL, SC, ST). Each entry in the returned data array carries the opening and closing ranks for that combination. Data availability reflects the real-time progress of the counselling session — rounds not yet completed will not have populated entries.

get_previous_years_ranks accepts the same filter parameters plus a required year field (2016–2024). This makes it possible to compare cutoffs across institute types and categories over multiple years. Note that not all year/inst_type/seat_type combinations are guaranteed to have data; the endpoint returns an empty data array rather than an error for missing combinations.

Institute and Seat Matrix Data

get_institute_list requires no parameters and returns the full catalogue of participating institutes, including codes, names, addresses, and contact information. These numeric institute codes are the values expected by the institute parameter in the other endpoints.

get_seat_matrix returns seat availability broken down by institute, program, and category for the current session. It accepts inst_type (required), institute, and branch as filters. Querying with inst_type set to ALL is not supported — the server will time out. Always specify a concrete institute type when calling this endpoint.

Reliability & maintenanceVerified

The Nic API is a managed, monitored endpoint for josaa.nic.in — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when josaa.nic.in 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 josaa.nic.in 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
7d ago
Latest check
4/4 endpoints 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 rank predictor tool that maps a student's JEE rank to candidate institutes and programs using opening/closing rank data.
  • Track year-over-year cutoff trends for a specific IIT branch and seat type using get_previous_years_ranks from 2016 to 2024.
  • Display seat availability per category and program for a chosen NIT using the get_seat_matrix endpoint.
  • Populate an institute directory with names, addresses, and contact details from get_institute_list.
  • Compare OBC-NCL and EWS closing ranks across NITs for a given round to advise counselling choices.
  • Generate round-wise rank movement charts for a specific IIIT using successive round_no values in get_opening_closing_ranks.
  • Build a data dashboard that aggregates GFTI seat matrices alongside historical rank data for less-competed programs.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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 JoSAA have an official developer API?+
JoSAA (josaa.nic.in) does not publish an official developer API or documented public data service. The data is otherwise only accessible through the JoSAA portal's admission interface.
What does get_previous_years_ranks return, and how far back does the data go?+
It returns an array of rank entry objects covering opening and closing ranks for past counselling sessions. The year parameter accepts values from 2016 through 2024. Some combinations of year, inst_type, and seat_type may return an empty data array if records were not available for that period — this is a data coverage gap in the source, not an API error.
Why can't I pass inst_type=ALL to get_seat_matrix?+
Requesting all institute types at once in a single seat matrix call causes a server-side timeout. You must specify a concrete inst_type value — IIT, NIT, IIIT, or GFTI — per request and aggregate results client-side if you need the full picture.
Does the API expose individual candidate allotment records or seat acceptance status?+
No. The API covers aggregate data: opening/closing ranks by round and category, seat matrix totals, and institute metadata. Individual candidate allotments, seat acceptance, or withdrawal status are not exposed. You can fork this API on Parse and revise it to add an endpoint targeting that data if it becomes part of your use case.
Does the API include data for CSAB (Central Seat Allocation Board) special rounds?+
The current endpoints cover the standard JoSAA counselling rounds (1–6) for IITs, NITs, IIITs, and GFTIs. CSAB special rounds and spot round data are not currently included. You can fork the API on Parse and revise it to add an endpoint for CSAB-specific rounds.
Page content last updated . Spec covers 4 endpoints from josaa.nic.in.
Related APIs in EducationSee all →
nirfindia.org API
Access India's NIRF rankings across multiple years and categories to compare higher education institution scores, find participating colleges, and search for specific institutions by name. Get detailed ranking parameters and stay updated with the latest notifications about institutional performance and rankings.
shiksha.com API
Search and browse Shiksha colleges by stream/course, then fetch detailed institute profiles and course offerings, plus upcoming exam schedules by stream.
naac.gov.in API
Search for India's accredited educational institutions and access their NAAC accreditation history, assessment reports, and detailed evaluation data by state. Find comprehensive information about institution quality metrics, self-study reports, and peer team evaluations all in one place.
gate2026.iitg.ac.in API
Plan your GATE 2026 exam with instant access to notifications, important dates, eligibility criteria, application fees, exam schedules, test papers, syllabus, question patterns, mock tests, exam cities, and required documents. Get answers to FAQs, view photograph/signature guidelines, explore career opportunities, and connect with support via contact information.
ibass.jamb.gov.ng API
Search Nigerian educational institutions and discover their specific course requirements, including UTME subjects and O'level prerequisites, to make informed decisions about your tertiary education options. Find institutions by type and browse the detailed admission criteria for your desired programs all in one place.
opendays.com API
Search and discover open day events at educational institutions, view detailed event information and institution profiles, and browse the complete calendar of upcoming visits. Find the perfect school or university open day by searching institutions or exploring all available options with their program details and dates.
kys.udiseplus.gov.in API
Search for schools across India by geographic region and management type, then access detailed information about any school including academic performance, facilities, and enrollment data. Navigate through states, districts, and blocks to find schools that match your criteria and compare their profiles.
egyankosh.ac.in API
Search and browse educational materials from IGNOU's digital repository, retrieve course unit details, and access PDFs directly. Navigate through communities and collections to find study resources organized by subject and course structure.