Base URL
https://www.impactmojo.in/api/v1
GET that returns JSON with Cache-Control: public, max-age=300 and permissive CORS (Access-Control-Allow-Origin: *). Please respect the cache headers and keep request rates modest (roughly ≤60 requests/minute). Contact hello@impactmojo.in for higher-volume access.
Endpoints
API index — name, version, the list of available endpoints, the license/attribution note, and the rate-limit note.
{
"name": "ImpactMojo Partner API",
"version": "1.0",
"base_url": "https://www.impactmojo.in/api/v1",
"endpoints": [
{ "method": "GET", "path": "/api/v1", "description": "This index." },
{ "method": "GET", "path": "/api/v1/catalog", "description": "Full content catalog..." },
{ "method": "GET", "path": "/api/v1/courses", "description": "Courses only..." },
{ "method": "GET", "path": "/api/v1/courses/{slug}", "description": "Single course detail..." },
{ "method": "GET", "path": "/api/v1/stats", "description": "Content counts by type." }
],
"license": "CC BY-NC-ND 4.0 — attribution to ImpactMojo (impactmojo.in) required; ...",
"rate_limit": "No API key required. Read-only. Please cache responses ...",
"contact": "hello@impactmojo.in"
}
The full content catalog — courses, games, labs, and book companions — derived from the site's search index.
| Query param | Description |
|---|---|
type | Filter by content type. One of course, game, lab, book, handout. Omit for all types. |
q | Case-insensitive substring match against title and description. |
limit | Maximum items to return. Default 100, maximum 500. |
GET https://www.impactmojo.in/api/v1/catalog?type=game&q=auction&limit=50
{
"count": 1,
"total": 1,
"limit": 50,
"filters": { "type": "game", "q": "auction" },
"items": [
{
"id": "GAME001",
"title": "Bidding Wars",
"description": "Strategic auction and bidding simulation exploring market competition",
"type": "game",
"category": "Economics",
"url": "https://www.impactmojo.in/Games/bidding-wars-game.html",
"tags": ["auction", "market", "competition", "bidding"]
}
],
"license": "CC BY-NC-ND 4.0 — attribution to ImpactMojo (impactmojo.in) required; ...",
"attribution": "Content © ImpactMojo, CC BY-NC-ND 4.0 — https://impactmojo.in"
}
Courses only — both 101 foundational decks and flagship courses — enriched with slide counts, level, format, license, sections, and feature flags where available.
{
"count": 106,
"courses": [
{
"slug": "dev-economics",
"id": "101-dev-economics",
"title": "Development Economics 101",
"description": "100-slide foundational deck covering poverty, growth, ...",
"url": "https://www.impactmojo.in/101-courses/dev-economics.html",
"track": "101 Foundational Courses",
"level": "Foundational",
"format": "Native HTML",
"tier": "101",
"slides": 100,
"license": "CC BY-NC-ND 4.0",
"features": { "quiz": false, "glossary": false, "selfPaced": true, "free": true },
"sections": ["What Development Economics Is", "Poverty & Growth", "..."],
"tags": ["development economics", "poverty", "growth", "101"]
}
],
"license": "CC BY-NC-ND 4.0 — attribution to ImpactMojo (impactmojo.in) required; ..."
}
A single course's detail, looked up by its slug (the value returned in the courses list, e.g. mel, gandhi, dev-economics). Returns 404 with a JSON error body if no course matches.
GET https://www.impactmojo.in/api/v1/courses/gandhi
{
"course": {
"slug": "gandhi",
"id": "gandhi",
"title": "Gandhi's Political Thought: Philosophy for Praxis",
"description": "Comprehensive exploration of Gandhian political philosophy ...",
"url": "https://www.impactmojo.in/courses/gandhi/",
"track": "Philosophy, Law & Governance",
"level": "Advanced",
"format": "Flagship course",
"tier": "flagship",
"slides": null,
"license": "CC BY-NC-ND 4.0",
"tags": ["philosophy", "politics", "gandhi", "swaraj"]
},
"license": "CC BY-NC-ND 4.0 — attribution to ImpactMojo (impactmojo.in) required; ..."
}
{ "error": "No course found with slug \"does-not-exist\"." }
Aggregate content counts by type, plus a flagship / 101-foundational course breakdown.
{
"total_items": 709,
"by_type": {
"course": 106,
"game": 17,
"lab": 13,
"book-summary": 51,
"bct": 203,
"dataverse": 215
},
"courses": { "total": 106, "flagship": 13, "foundational_101": 93 },
"license": "CC BY-NC-ND 4.0 — attribution to ImpactMojo (impactmojo.in) required; ..."
}
Errors
Errors return a JSON body of the form { "error": "message" } with an appropriate HTTP status: 400 (invalid query parameter), 404 (unknown endpoint or course slug), 405 (non-GET method), and 502 (upstream catalog data temporarily unavailable). An OPTIONS preflight returns 204 with CORS headers.
Need more?
This API is intentionally simple and read-only. If your organization needs higher request volumes, bulk exports, or a deeper integration, write to hello@impactmojo.in and we'll help.