India's Education Data API
Access India-focused education data for exams, colleges, universities, scholarships, and coaching centres. Built for developers creating the next generation of education apps.
const response = await fetch(
'https://bodhdisha.com/api/v1/colleges',
{
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
}
);
const data = await response.json();
console.log(data);
Why Choose BodhDisha API?
Everything you need to build amazing education applications
India-Focused Data
Access structured data for Indian exams, colleges, universities, scholarships, courses, and coaching centres.
Fast & Reliable
Built for speed with caching and optimized queries. Average response time under 200ms.
Secure Access
OAuth 2.0 authentication with Google and GitHub. API keys for secure access.
Scalable
From startups to enterprises, choose a plan that fits your needs with flexible rate limits.
Developer Friendly
Clean REST API with JSON responses, search, pagination, and comprehensive documentation.
Dedicated Support
Get help when you need it. Priority support for paid plans.
Works with Your Stack
Clean REST API with JSON responses works with any programming language or framework.
const response = await fetch(
'https://bodhdisha.com/api/v1/colleges?search=delhi',
{
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Accept': 'application/json'
}
}
);
if (!response.ok) {
throw new Error(`HTTP ${response.status}`);
}
const data = await response.json();
console.log(data);
import requests
response = requests.get(
'https://bodhdisha.com/api/v1/colleges',
params={'search': 'delhi'},
headers={'Authorization': 'Bearer YOUR_API_KEY'}
)
response.raise_for_status()
data = response.json()
for college in data['data']:
print(college['name'])
<?php
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => 'https://bodhdisha.com/api/v1/colleges?search=delhi',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer YOUR_API_KEY',
'Accept: application/json'
]
]);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($httpCode === 200) {
$data = json_decode($response, true);
print_r($data['data']);
} else {
echo "Error: HTTP $httpCode\n";
}
require 'net/http'
require 'uri'
require 'json'
uri = URI('https://bodhdisha.com/api/v1/colleges')
params = { search: 'delhi' }
uri.query = URI.encode_www_form(params)
req = Net::HTTP::Get.new(uri)
req['Authorization'] = 'Bearer YOUR_API_KEY'
req['Accept'] = 'application/json'
res = Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http|
http.request(req)
end
if res.is_a?(Net::HTTPSuccess)
data = JSON.parse(res.body)
puts data['data']
else
puts "Error: #{res.code} - #{res.message}"
end
package main
import (
"encoding/json"
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
baseURL, _ := url.Parse("https://bodhdisha.com/api/v1/colleges")
params := url.Values{}
params.Add("search", "delhi")
baseURL.RawQuery = params.Encode()
req, _ := http.NewRequest("GET", baseURL.String(), nil)
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Accept", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
if resp.StatusCode == 200 {
var result map[string]interface{}
json.Unmarshal(body, &result)
fmt.Printf("%v\n", result["data"])
}
}
import java.net.http.*;
import java.net.URI;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://bodhdisha.com/api/v1/colleges?search=delhi"))
.header("Authorization", "Bearer YOUR_API_KEY")
.header("Accept", "application/json")
.build();
HttpResponse response = client.send(
request,
HttpResponse.BodyHandlers.ofString()
);
if (response.statusCode() == 200) {
System.out.println(response.body());
} else {
System.out.println("Error: " + response.statusCode());
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
using var client = new HttpClient();
client.DefaultRequestHeaders.Add(
"Authorization",
"Bearer YOUR_API_KEY"
);
var response = await client.GetAsync(
"https://bodhdisha.com/api/v1/colleges?search=delhi"
);
if (response.IsSuccessStatusCode) {
var content = await response.Content.ReadAsStringAsync();
Console.WriteLine(content);
} else {
Console.WriteLine($"Error: {response.StatusCode}");
}
}
}
const axios = require('axios');
try {
const response = await axios.get(
'https://bodhdisha.com/api/v1/colleges',
{
params: { search: 'delhi' },
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
}
);
console.log(response.data);
} catch (error) {
console.error('Error:', error.response?.status);
}
import { useState, useEffect } from 'react';
function Colleges() {
const [colleges, setColleges] = useState([]);
useEffect(() => {
const fetchColleges = async () => {
const response = await fetch(
'https://bodhdisha.com/api/v1/colleges?search=delhi',
{
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
}
);
const data = await response.json();
setColleges(data.data);
};
fetchColleges();
}, []);
return (
<ul>
{colleges.map(c => (
<li key={c.id}>{c.name}</li>
))}
</ul>
);
}
<template>
<ul>
<li v-for="college in colleges" :key="college.id">
{{ college.name }}
</li>
</ul>
</template>
<script>
export default {
data() {
return {
colleges: []
};
},
async mounted() {
const response = await fetch(
'https://bodhdisha.com/api/v1/colleges?search=delhi',
{
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
}
);
const data = await response.json();
this.colleges = data.data;
}
};
</script>
import { Injectable } from '@angular/core';
import { HttpClient, HttpHeaders } from '@angular/common/http';
@Injectable({
providedIn: 'root'
})
export class CollegesService {
private apiUrl = 'https://bodhdisha.com/api/v1/colleges';
constructor(private http: HttpClient) {}
getColleges() {
const headers = new HttpHeaders({
'Authorization': 'Bearer YOUR_API_KEY'
});
return this.http.get(this.apiUrl, {
params: { search: 'delhi' },
headers
});
}
}
import 'package:http/http.dart' as http;
import 'dart:convert';
class CollegesApi {
static const String baseUrl =
'https://bodhdisha.com/api/v1/colleges';
static Future<List> getColleges() async {
final response = await http.get(
Uri.parse('$baseUrl?search=delhi'),
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Accept': 'application/json',
},
);
if (response.statusCode == 200) {
final data = json.decode(response.body);
return data['data'];
} else {
throw Exception('Failed to load colleges');
}
}
}
Ready to build something amazing?
Get started with the BodhDisha API today. Free trial included.