India API

Docs › Language and text

Thirukkural API

All 1,330 kurals in Tamil with English translations.

Thiruvalluvar's Thirukkural with a transliteration, G.U. Pope's verse translation (1886) and the prose translation by W.H. Drew and John Lazarus (1840, 1885), organised into 3 paals, 13 iyals and 133 chapters. Only text that is free to share is served; modern commentaries are added once their release into the public domain is confirmed.

Base URL https://api.dharun.devNo API key600 requests a minuteThis page as Markdown

A kural by number

GET/v1/thirukkural/{number}

ParameterDescription
numberpath, required1 to 1330.

curl

curl "https://api.dharun.dev/v1/thirukkural/1"

JavaScript

const response = await fetch("https://api.dharun.dev/v1/thirukkural/1");
const body = await response.json();
if (!response.ok) throw new Error(body.error.message);
console.log(body.data);

Python

import requests

response = requests.get("https://api.dharun.dev/v1/thirukkural/1", timeout=10)
body = response.json()
if not response.ok:
    raise RuntimeError(body["error"]["message"])
print(body["data"])

Response, with lists and long text shortened

{
  "data": {
    "number": 1,
    "lines": [
      "அகர முதல எழுத்தெல்லாம் ஆதி",
      "பகவன் முதற்றே உலகு."
    ],
    "transliteration": [
      "Akara Mudhala Ezhuththellaam Aadhi",
      "Pakavan Mudhatre Ulaku"
    ],
    "translations": {
      "drewLazarus": "As the letter A is the first of all letters, so the eternal God is first in the world",
      "pope": "A, as its first of letters, every speech maintains; The \"Primal Deity\" is first through all the world's domains"
    },
    "chapter": {
      "number": 1,
      "name": "கடவுள் வாழ்த்து",
      "translation": "The Praise of God",
      "transliteration": "Katavul Vaazhththu"
    },
    "iyal": {
      "number": 1,
      "name": "பாயிரவியல்",
      "translation": "Prologue",
      "transliteration": "Paayiraviyal"
    },
    "paal": {
      "number": 1,
      "name": "அறத்துப்பால்",
      "translation": "Virtue",
      "transliteration": "Araththuppaal"
    }
  },
  "meta": {
    "source": {
      "name": "Thirukkural",
      "url": "https://github.com/tk120404/thirukkural/tree/cf3ff6c5a73c23b4092913156830457caab65fd4",
      "licence": "Public domain text and translations; the compilation is Apache-2.0",
      "version": "commit cf3ff6c5a73c",
      "retrieved": "2026-10-13",
      "attribution": "Thirukkural text with English translations by G.U. Pope (1886) and by W.H. Drew and John Lazarus (1840, 1885), from the tk120404/thirukkural compilation (Apache…"
    },
    "note": "translations.pope is G.U. Pope's verse translation (1886); translations.drewLazarus is the prose translation by W.H. Drew and John Lazarus (1840, 1885)."
  }
}

Search kurals

GET/v1/thirukkural

Finds kurals containing the text, in Tamil, the transliteration or either translation; or lists a chapter or a paal.

ParameterDescription
qqueryText to find, 2 or more characters, Tamil or English.
chapterqueryChapter (அதிகாரம்), 1 to 133.
paalquery1 virtue (அறத்துப்பால்), 2 wealth (பொருட்பால்), 3 love (காமத்துப்பால்).
limitqueryResults per page, 1 to 100.
offsetqueryResults to skip.

curl

curl "https://api.dharun.dev/v1/thirukkural?q=rain"

JavaScript

const response = await fetch("https://api.dharun.dev/v1/thirukkural?q=rain");
const body = await response.json();
if (!response.ok) throw new Error(body.error.message);
console.log(body.data);

Python

import requests

response = requests.get("https://api.dharun.dev/v1/thirukkural?q=rain", timeout=10)
body = response.json()
if not response.ok:
    raise RuntimeError(body["error"]["message"])
print(body["data"])

Response, with lists and long text shortened

{
  "data": [
    {
      "number": 11,
      "lines": [
        "வான்நின்று உலகம் வழங்கி வருதலால்",
        "தான்அமிழ்தம் என்றுணரற் பாற்று."
      ],
      "transliteration": [
        "Vaannindru Ulakam Vazhangi Varudhalaal",
        "Thaanamizhdham Endrunarar Paatru"
      ],
      "translations": {
        "drewLazarus": "By the continuance of rain the world is preserved in existence; it is therefore worthy to be called ambrosia",
        "pope": "The world its course maintains through life that rain unfailing gives; Thus rain is known the true ambrosial food of all that lives"
      },
      "chapter": {
        "number": 2,
        "name": "வான்சிறப்பு",
        "translation": "The Blessing of Rain",
        "transliteration": "Vaansirappu"
      },
      "iyal": {
        "number": 1,
        "name": "பாயிரவியல்",
        "translation": "Prologue",
        "transliteration": "Paayiraviyal"
      },
      "paal": {
        "number": 1,
        "name": "அறத்துப்பால்",
        "translation": "Virtue",
        "transliteration": "Araththuppaal"
      }
    },
    {
      "number": 12,
      "lines": [
        "துப்பார்க்குத் துப்பாய துப்பாக்கித் துப்பார்க்குத்",
        "துப்பாய தூஉம் மழை."
      ],
      "transliteration": [
        "Thuppaarkkuth Thuppaaya Thuppaakkith Thuppaarkkuth",
        "Thuppaaya Thooum Mazhai"
      ],
      "translations": {
        "drewLazarus": "Rain produces good food, and is itself food",
        "pope": "The rain makes pleasant food for eaters rise; As food itself, thirst-quenching draught supplies"
      },
      "chapter": {
        "number": 2,
        "name": "வான்சிறப்பு",
        "translation": "The Blessing of Rain",
        "transliteration": "Vaansirappu"
      },
      "iyal": {
        "number": 1,
        "name": "பாயிரவியல்",
        "translation": "Prologue",
        "transliteration": "Paayiraviyal"
      },
      "paal": {
        "number": 1,
        "name": "அறத்துப்பால்",
        "translation": "Virtue",
        "transliteration": "Araththuppaal"
      }
    },
    {
      "number": 13,
      "lines": [
        "விண்இன்று பொய்ப்பின் விரிநீர் வியனுலகத்து",
        "உள்நின்று உடற்றும் பசி."
      ],
      "transliteration": [
        "Vinindru Poippin Virineer Viyanulakaththu",
        "Ulnindru Utatrum Pasi"
      ],
      "translations": {
        "drewLazarus": "If the cloud, withholding rain, deceive (our hopes) hunger will long distress the sea-girt spacious world",
        "pope": "If clouds, that promised rain, deceive, and in the sky remain, Famine, sore torment, stalks o'er earth's vast ocean-girdled plain"
      },
      "chapter": {
        "number": 2,
        "name": "வான்சிறப்பு",
        "translation": "The Blessing of Rain",
        "transliteration": "Vaansirappu"
      },
      "iyal": {
        "number": 1,
        "name": "பாயிரவியல்",
        "translation": "Prologue",
        "transliteration": "Paayiraviyal"
      },
      "paal": {
        "number": 1,
        "name": "அறத்துப்பால்",
        "translation": "Virtue",
        "transliteration": "Araththuppaal"
      }
    }
  ],
  "meta": {
    "total": 78,
    "limit": 10,
    "offset": 0,
    "source": {
      "name": "Thirukkural",
      "url": "https://github.com/tk120404/thirukkural/tree/cf3ff6c5a73c23b4092913156830457caab65fd4",
      "licence": "Public domain text and translations; the compilation is Apache-2.0",
      "version": "commit cf3ff6c5a73c",
      "retrieved": "2026-10-13",
      "attribution": "Thirukkural text with English translations by G.U. Pope (1886) and by W.H. Drew and John Lazarus (1840, 1885), from the tk120404/thirukkural compilation (Apache…"
    },
    "note": "translations.pope is G.U. Pope's verse translation (1886); translations.drewLazarus is the prose translation by W.H. Drew and John Lazarus (1840, 1885)."
  }
}

Kural of the day

GET/v1/thirukkural/today

The same kural for everyone on a day in India, a different one the next day.

ParameterDescription
datequeryA date, YYYY-MM-DD. Default today in India.

curl

curl "https://api.dharun.dev/v1/thirukkural/today?date=2026-10-13"

JavaScript

const response = await fetch("https://api.dharun.dev/v1/thirukkural/today?date=2026-10-13");
const body = await response.json();
if (!response.ok) throw new Error(body.error.message);
console.log(body.data);

Python

import requests

response = requests.get("https://api.dharun.dev/v1/thirukkural/today?date=2026-10-13", timeout=10)
body = response.json()
if not response.ok:
    raise RuntimeError(body["error"]["message"])
print(body["data"])

Response, with lists and long text shortened

{
  "data": {
    "number": 702,
    "lines": [
      "ஐயப் படாஅது அகத்தது உணர்வானைத்",
      "தெய்வத்தோ டொப்பக் கொளல்."
    ],
    "transliteration": [
      "Aiyap Pataaadhu Akaththadhu Unarvaanaith",
      "Theyvaththo Toppak Kolal"
    ],
    "translations": {
      "drewLazarus": "He is to be esteemed a god who is able to ascertain without a doubt what is within (one's mind)",
      "pope": "Undoubting, who the minds of men can scan, As deity regard that gifted man"
    },
    "chapter": {
      "number": 71,
      "name": "குறிப்பறிதல்",
      "translation": "The Knowledge of Indications",
      "transliteration": "Kuripparidhal"
    },
    "iyal": {
      "number": 6,
      "name": "அமைச்சியல்",
      "translation": "Minister of State",
      "transliteration": "Amaichiyal"
    },
    "paal": {
      "number": 2,
      "name": "பொருட்பால்",
      "translation": "Wealth",
      "transliteration": "Porutpaal"
    }
  },
  "meta": {
    "source": {
      "name": "Thirukkural",
      "url": "https://github.com/tk120404/thirukkural/tree/cf3ff6c5a73c23b4092913156830457caab65fd4",
      "licence": "Public domain text and translations; the compilation is Apache-2.0",
      "version": "commit cf3ff6c5a73c",
      "retrieved": "2026-10-13",
      "attribution": "Thirukkural text with English translations by G.U. Pope (1886) and by W.H. Drew and John Lazarus (1840, 1885), from the tk120404/thirukkural compilation (Apache…"
    },
    "note": "translations.pope is G.U. Pope's verse translation (1886); translations.drewLazarus is the prose translation by W.H. Drew and John Lazarus (1840, 1885)."
  }
}

A random kural

GET/v1/thirukkural/random

curl

curl "https://api.dharun.dev/v1/thirukkural/random"

JavaScript

const response = await fetch("https://api.dharun.dev/v1/thirukkural/random");
const body = await response.json();
if (!response.ok) throw new Error(body.error.message);
console.log(body.data);

Python

import requests

response = requests.get("https://api.dharun.dev/v1/thirukkural/random", timeout=10)
body = response.json()
if not response.ok:
    raise RuntimeError(body["error"]["message"])
print(body["data"])

Response, with lists and long text shortened

{
  "data": {
    "number": 793,
    "lines": [
      "குணமும் குடிமையும் குற்றமும் குன்றா",
      "இனனும் அறிந்தியாக்க நட்பு."
    ],
    "transliteration": [
      "Kunamum Kutimaiyum Kutramum Kundraa",
      "Inanum Arindhiyaakka Natpu"
    ],
    "translations": {
      "drewLazarus": "Make friendship (with one) after ascertaining (his) character, birth, defects and the whole of one's relations",
      "pope": "Temper, descent, defects, associations freeFrom blame: know these, then let the man be friend to thee"
    },
    "chapter": {
      "number": 80,
      "name": "நட்பாராய்தல்",
      "translation": "Investigation in forming Friendships",
      "transliteration": "Natpaaraaidhal"
    },
    "iyal": {
      "number": 10,
      "name": "நட்பியல்",
      "translation": "Friendship",
      "transliteration": "Natpiyal"
    },
    "paal": {
      "number": 2,
      "name": "பொருட்பால்",
      "translation": "Wealth",
      "transliteration": "Porutpaal"
    }
  },
  "meta": {
    "source": {
      "name": "Thirukkural",
      "url": "https://github.com/tk120404/thirukkural/tree/cf3ff6c5a73c23b4092913156830457caab65fd4",
      "licence": "Public domain text and translations; the compilation is Apache-2.0",
      "version": "commit cf3ff6c5a73c",
      "retrieved": "2026-10-13",
      "attribution": "Thirukkural text with English translations by G.U. Pope (1886) and by W.H. Drew and John Lazarus (1840, 1885), from the tk120404/thirukkural compilation (Apache…"
    },
    "note": "translations.pope is G.U. Pope's verse translation (1886); translations.drewLazarus is the prose translation by W.H. Drew and John Lazarus (1840, 1885)."
  }
}

All 133 chapters

GET/v1/thirukkural/chapters

curl

curl "https://api.dharun.dev/v1/thirukkural/chapters"

JavaScript

const response = await fetch("https://api.dharun.dev/v1/thirukkural/chapters");
const body = await response.json();
if (!response.ok) throw new Error(body.error.message);
console.log(body.data);

Python

import requests

response = requests.get("https://api.dharun.dev/v1/thirukkural/chapters", timeout=10)
body = response.json()
if not response.ok:
    raise RuntimeError(body["error"]["message"])
print(body["data"])

Response, with lists and long text shortened

{
  "data": [
    {
      "number": 1,
      "name": "கடவுள் வாழ்த்து",
      "translation": "The Praise of God",
      "transliteration": "Katavul Vaazhththu",
      "iyal": {
        "number": 1,
        "name": "பாயிரவியல்",
        "translation": "Prologue",
        "transliteration": "Paayiraviyal"
      },
      "paal": {
        "number": 1,
        "name": "அறத்துப்பால்",
        "translation": "Virtue",
        "transliteration": "Araththuppaal"
      },
      "first": 1,
      "last": 10,
      "links": {
        "kurals": "https://api.dharun.dev/v1/thirukkural?chapter=1"
      }
    },
    {
      "number": 2,
      "name": "வான்சிறப்பு",
      "translation": "The Blessing of Rain",
      "transliteration": "Vaansirappu",
      "iyal": {
        "number": 1,
        "name": "பாயிரவியல்",
        "translation": "Prologue",
        "transliteration": "Paayiraviyal"
      },
      "paal": {
        "number": 1,
        "name": "அறத்துப்பால்",
        "translation": "Virtue",
        "transliteration": "Araththuppaal"
      },
      "first": 11,
      "last": 20,
      "links": {
        "kurals": "https://api.dharun.dev/v1/thirukkural?chapter=2"
      }
    },
    {
      "number": 3,
      "name": "நீத்தார் பெருமை",
      "translation": "The Greatness of Ascetics",
      "transliteration": "Neeththaar Perumai",
      "iyal": {
        "number": 1,
        "name": "பாயிரவியல்",
        "translation": "Prologue",
        "transliteration": "Paayiraviyal"
      },
      "paal": {
        "number": 1,
        "name": "அறத்துப்பால்",
        "translation": "Virtue",
        "transliteration": "Araththuppaal"
      },
      "first": 21,
      "last": 30,
      "links": {
        "kurals": "https://api.dharun.dev/v1/thirukkural?chapter=3"
      }
    }
  ],
  "meta": {
    "total": 133,
    "source": {
      "name": "Thirukkural",
      "url": "https://github.com/tk120404/thirukkural/tree/cf3ff6c5a73c23b4092913156830457caab65fd4",
      "licence": "Public domain text and translations; the compilation is Apache-2.0",
      "version": "commit cf3ff6c5a73c",
      "retrieved": "2026-10-13",
      "attribution": "Thirukkural text with English translations by G.U. Pope (1886) and by W.H. Drew and John Lazarus (1840, 1885), from the tk120404/thirukkural compilation (Apache…"
    }
  }
}

One chapter

GET/v1/thirukkural/chapters/{number}

ParameterDescription
numberpath, required1 to 133.

curl

curl "https://api.dharun.dev/v1/thirukkural/chapters/2"

JavaScript

const response = await fetch("https://api.dharun.dev/v1/thirukkural/chapters/2");
const body = await response.json();
if (!response.ok) throw new Error(body.error.message);
console.log(body.data);

Python

import requests

response = requests.get("https://api.dharun.dev/v1/thirukkural/chapters/2", timeout=10)
body = response.json()
if not response.ok:
    raise RuntimeError(body["error"]["message"])
print(body["data"])

Response, with lists and long text shortened

{
  "data": {
    "number": 2,
    "name": "வான்சிறப்பு",
    "translation": "The Blessing of Rain",
    "transliteration": "Vaansirappu",
    "iyal": {
      "number": 1,
      "name": "பாயிரவியல்",
      "translation": "Prologue",
      "transliteration": "Paayiraviyal"
    },
    "paal": {
      "number": 1,
      "name": "அறத்துப்பால்",
      "translation": "Virtue",
      "transliteration": "Araththuppaal"
    },
    "first": 11,
    "last": 20,
    "links": {
      "kurals": "https://api.dharun.dev/v1/thirukkural?chapter=2"
    }
  },
  "meta": {
    "source": {
      "name": "Thirukkural",
      "url": "https://github.com/tk120404/thirukkural/tree/cf3ff6c5a73c23b4092913156830457caab65fd4",
      "licence": "Public domain text and translations; the compilation is Apache-2.0",
      "version": "commit cf3ff6c5a73c",
      "retrieved": "2026-10-13",
      "attribution": "Thirukkural text with English translations by G.U. Pope (1886) and by W.H. Drew and John Lazarus (1840, 1885), from the tk120404/thirukkural compilation (Apache…"
    }
  }
}

Data source

Thirukkural, commit cf3ff6c5a73c. Retrieved 2026-10-13. Licence: Public domain text and translations; the compilation is Apache-2.0. Thirukkural text with English translations by G.U. Pope (1886) and by W.H. Drew and John Lazarus (1840, 1885), from the tk120404/thirukkural compilation (Apache-2.0).

Using an AI assistant? Connect the MCP server and it can call this API by itself.