Copy page

Copy page as Markdown for LLMs

View as Markdown

View this page as plain text


Open in ChatGPT

Ask ChatGPT about this page

Open in Claude

Ask Claude about this page

Find Malayalam Festivals API

Get the major Kerala (Malayalam) festivals for any year with the Find Malayalam Festivals API. For a given year and location, this API returns each festival's Gregorian date, the relevant auspicious muhurta or parana timings where applicable, and associated festival images, covering Onam, Vishu, Thrissur Pooram, Attukal Pongala, Guruvayur Ekadashi and more.


API Endpoint

POST https://astroapi-3.divineapi.com/indian-api/v1/malayalam-festivals

This endpoint provides Malayalam (Kerala) festival data for the given year and location, including each festival's date, any solar-transition moment or auspicious muhurta and parana timings that apply, and festival images.


Headers

NameTypeDescription
Authorization*StringYour API Access Token. Example: Bearer {token}

Request Body

NameTypeRequiredDescription
api_keyStringYesYour API key.
yearIntegerYesThe year for which you want to fetch Malayalam festival data. Example: 2027.
placeStringNoThe name of the place. Example: New Delhi.
latFloatYesLatitude of the location. Example: 28.6139.
lonFloatYesLongitude of the location. Example: 77.2090.
tzoneFloatYesTimezone offset for the location. Example: 5.5. See: Timezone Guide

200: OK Fetched Malayalam festivals successfully

{
    "success": 1,
    "data": {
        "year": 2026,
        "vishu_kani": {
            "date": "2026-04-15",
            "sankranti_moment": "2026-04-14 09:33:00",
            "image": "https://astroapi-6.divineapi.com/public/assets/vedic/festivals/images/main/Vishu%20Kani.png"
        },
        "thrissur_pooram": {
            "date": "2026-04-27",
            "image": "https://astroapi-6.divineapi.com/public/assets/vedic/festivals/images/main/Thrissur%20Pooram.png"
        },
        "attukal_pongala": {
            "date": "2026-03-03",
            "image": "https://astroapi-6.divineapi.com/public/assets/vedic/festivals/images/main/Attukal%20Pongala.png"
        },
        "makara_vilakku": {
            "date": "2026-01-14",
            "sankranti_moment": "2026-01-14 15:08:00",
            "image": "https://astroapi-6.divineapi.com/public/assets/vedic/festivals/images/main/Makara%20Vilakku.png"
        },
        "malayalam_new_year": {
            "date": "2026-08-18",
            "sankranti_moment": "2026-08-17 07:59:00",
            "malayalam_kollavarsham": 1202,
            "image": "https://astroapi-6.divineapi.com/public/assets/vedic/festivals/images/main/Malayalam%20New%20Year.png"
        },
        "ashtami_rohini": {
            "date": "2026-09-04",
            "nishita_muhurta": {
                "start_time": "2026-09-04 23:57:42",
                "end_time": "2026-09-05 00:43:10"
            },
            "image": "https://astroapi-6.divineapi.com/public/assets/vedic/festivals/images/main/Ashtami%20Rohini.png"
        },
        "onam": {
            "date": "2026-08-26",
            "image": "https://astroapi-6.divineapi.com/public/assets/vedic/festivals/images/main/Onam.png"
        },
        "ganesha_chaturthi": {
            "date": "2026-09-14",
            "puja_muhurat": {
                "start_time": "2026-09-14 11:01:33",
                "end_time": "2026-09-14 13:31:33"
            },
            "image": "https://astroapi-6.divineapi.com/public/assets/vedic/festivals/images/main/Ganesha%20Chaturthi.png"
        },
        "vidyarambham": {
            "date": "2026-10-21",
            "vijay_muhurta": {
                "start_time": "2026-10-21 13:58:52",
                "end_time": "2026-10-21 14:44:12"
            },
            "aparahna_puja_time": {
                "start_time": "2026-10-21 13:13:32",
                "end_time": "2026-10-21 15:29:32"
            },
            "image": "https://astroapi-6.divineapi.com/public/assets/vedic/festivals/images/main/Vidyarambham.png"
        },
        "mandalakala_begins": {
            "date": "2026-11-17",
            "sankranti_moment": "2026-11-16 19:44:00",
            "image": "https://astroapi-6.divineapi.com/public/assets/vedic/festivals/images/main/Mandalakala%20Begins.png"
        },
        "guruvayur_ekadashi": [
            {
                "smartas": {
                    "date": "2026-11-21",
                    "parana": {
                        "start_time": "2026-11-22 06:49:07",
                        "end_time": "2026-11-22 08:55:07"
                    },
                    "image": "https://astroapi-6.divineapi.com/public/assets/vedic/festivals/images/main/Guruvayur%20Ekadashi.png"
                },
                "vaishnavas": {
                    "date": "2026-11-21",
                    "parana": {
                        "start_time": "2026-11-22 06:49:07",
                        "end_time": "2026-11-22 08:55:07"
                    },
                    "image": "https://astroapi-6.divineapi.com/public/assets/vedic/festivals/images/main/Guruvayur%20Ekadashi.png"
                }
            }
        ],
        "mandala_pooja": {
            "date": "2026-12-27",
            "image": "https://astroapi-6.divineapi.com/public/assets/vedic/festivals/images/main/Mandala%20Pooja.png"
        }
    }
}

Response Explanation

success
Indicates if the request was successful. Value 1 represents success.

data
Contains the year along with every Malayalam (Kerala) festival for that year.

year: The year for which the festivals are calculated.

date: The Gregorian date of the festival.

sankranti_moment: For solar-transition based festivals, the exact date and time the Sun enters the new sign.

image: URL of the corresponding festival image (useful for UI display).

Depending on the festival, additional timing fields are included:

nishita_muhurta: The midnight worship window (start and end), returned for Ashtami Rohini.

puja_muhurat: The worship window (start and end), for example Ganesha Chaturthi.

vijay_muhurta and aparahna_puja_time: The auspicious study-start and afternoon worship windows for Vidyarambham.

parana: For Guruvayur Ekadashi, the fast-breaking window, returned under both smartas and vaishnavas traditions.

malayalam_kollavarsham: The Malayalam era (Kollavarsham) year, included with the Malayalam New Year.

Festivals included in the response

Vishu (Vishu Kani), Thrissur Pooram, Attukal Pongala, Makara Vilakku, Malayalam New Year, Ashtami Rohini, Onam, Ganesha Chaturthi, Vidyarambham, Mandalakala Begins, Guruvayur Ekadashi and Mandala Pooja.


Example Code Implementations

Below are example implementations in various programming environments.


cURL 

curl --location 'https://astroapi-3.divineapi.com/indian-api/v1/malayalam-festivals' \
--header 'Authorization: Bearer {Your Auth Token}' \
--form 'api_key="{Your API Key}"' \
--form 'year="2027"' \
--form 'place="New Delhi"' \
--form 'lat="28.6139"' \
--form 'lon="77.2090"' \
--form 'tzone="5.5"'

NodeJS 

var request = require('request');
var options = {
  'method': 'POST',
  'url': 'https://astroapi-3.divineapi.com/indian-api/v1/malayalam-festivals',
  'headers': {
    'Authorization': 'Bearer {Your Auth Token}'
  },
  formData: {
    'api_key': '{Your API Key}',
    'year': '2027',
    'Place': 'New Delhi',
    'lat': '28.6139',
    'lon': '77.2090',
    'tzone': '5.5'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

JavaScript jQuery AJAX 

var form = new FormData();
form.append("api_key", "{Your API Key}");
form.append("year", "2027");
form.append("Place", "New Delhi");
form.append("lat", "28.6139");
form.append("lon", "77.2090");
form.append("tzone", "5.5");

var settings = {
  "url": "https://astroapi-3.divineapi.com/indian-api/v1/malayalam-festivals",
  "method": "POST",
  "timeout": 0,
  "headers": {
    "Authorization": "Bearer {Your Auth Token}"
  },
  "processData": false,
  "mimeType": "multipart/form-data",
  "contentType": false,
  "data": form
};

$.ajax(settings).done(function (response) {
  console.log(response);
});import requests

url = "https://astroapi-3.divineapi.com/indian-api/v1/malayalam-festivals"

payload = {'api_key': '{Your API Key}',
'year': '2027',
'Place': 'New Delhi',
'lat': '28.6139',
'lon': '77.2090',
'tzone': '5.5'}
files=[

]
headers = {
  'Authorization': 'Bearer Bearer {Your Auth Token}'
}

response = requests.request("POST", url, headers=headers, data=payload, files=files)

print(response.text)


Python 

import requests

url = "https://astroapi-3.divineapi.com/indian-api/v1/malayalam-festivals"

payload = {'api_key': '{Your API Key}',
'year': '2027',
'Place': 'New Delhi',
'lat': '28.6139',
'lon': '77.2090',
'tzone': '5.5'}

headers = {
  'Authorization': 'Bearer {Your Auth Token}'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)


Implementation Notes

Always include both api_key and Authorization headers.

These are the principal festivals of the Malayalam (Kerala) calendar. Coverage includes Onam, Vishu, Thrissur Pooram, Attukal Pongala, the Sabarimala season (Makara Vilakku, Mandalakala Begins and Mandala Pooja), Guruvayur Ekadashi and the Malayalam New Year.

Not every festival returns the same fields: some include a sankranti_moment, some include muhurta windows (nishita, puja, vijay, aparahna), Guruvayur Ekadashi includes parana timings under the smartas and vaishnavas traditions, and the Malayalam New Year includes the Kollavarsham era year.

Use the provided image URLs to visually represent festivals in your application interface.

Recommended for Panchang-based apps, event calendars, and festival scheduling dashboards.

curl -X POST "https://astroapi-3.divineapi.com/indian-api/v1/malayalam-festivals" \
  -H "Authorization: Bearer {Your Auth Token}" \
  --form 'api_key="{Your API Key}"' \
  --form 'year="2027"' \
  --form 'place="New Delhi"' \
  --form 'lat="28.6139"' \
  --form 'lon="77.2090"' \
  --form 'tzone="5.5"'
const FormData = require('form-data');
const axios = require('axios');

const form = new FormData();
form.append('api_key', '{Your API Key}');
form.append('year', '2027');
form.append('place', 'New Delhi');
form.append('lat', '28.6139');
form.append('lon', '77.2090');
form.append('tzone', '5.5');

const response = await axios.post('https://astroapi-3.divineapi.com/indian-api/v1/malayalam-festivals', form, {
  headers: {
    ...form.getHeaders(),
    'Authorization': 'Bearer {Your Auth Token}',
  }
});

console.log(response.data);
import requests

url = "https://astroapi-3.divineapi.com/indian-api/v1/malayalam-festivals"
headers = {
    "Authorization": "Bearer {Your Auth Token}",
}
payload = {
    "api_key": "{Your API Key}",
    "year": "2027",
    "place": "New Delhi",
    "lat": "28.6139",
    "lon": "77.2090",
    "tzone": "5.5",
}

response = requests.post(url, headers=headers, data=payload)

print(response.json())
const formData = new FormData();
formData.append('api_key', '{Your API Key}');
formData.append('year', '2027');
formData.append('place', 'New Delhi');
formData.append('lat', '28.6139');
formData.append('lon', '77.2090');
formData.append('tzone', '5.5');

const response = await fetch('https://astroapi-3.divineapi.com/indian-api/v1/malayalam-festivals', {
  method: 'POST',
  headers: {
      'Authorization': "Bearer {Your Auth Token}",
    },
  body: formData,
});

const data = await response.json();
console.log(data);
<?php

use GuzzleHttp\Client;

$client = new Client();

$response = $client->request('POST', 'https://astroapi-3.divineapi.com/indian-api/v1/malayalam-festivals', [
    'headers' => [
        'Authorization' => 'Bearer {Your Auth Token}',
    ],
    'multipart' => [
        ['name' => 'api_key', 'contents' => '{Your API Key}'],
        ['name' => 'year', 'contents' => '2027'],
        ['name' => 'place', 'contents' => 'New Delhi'],
        ['name' => 'lat', 'contents' => '28.6139'],
        ['name' => 'lon', 'contents' => '77.2090'],
        ['name' => 'tzone', 'contents' => '5.5'],
    ],
]);

echo $response->getBody();
package main

import (
    "bytes"
    "fmt"
    "mime/multipart"
    "net/http"
    "io"
)

func main() {
    body := &bytes.Buffer{}
    writer := multipart.NewWriter(body)
    writer.WriteField("api_key", "{Your API Key}")
    writer.WriteField("year", "2027")
    writer.WriteField("place", "New Delhi")
    writer.WriteField("lat", "28.6139")
    writer.WriteField("lon", "77.2090")
    writer.WriteField("tzone", "5.5")
    writer.Close()

    req, _ := http.NewRequest("POST", "https://astroapi-3.divineapi.com/indian-api/v1/malayalam-festivals", body)
    req.Header.Set("Content-Type", writer.FormDataContentType())
    req.Header.Set("Authorization", "Bearer {Your Auth Token}")

    client := &http.Client{}
    resp, _ := client.Do(req)
    defer resp.Body.Close()

    body2, _ := io.ReadAll(resp.Body)
    fmt.Println(string(body2))
}
import okhttp3.*;
import java.io.IOException;

public class Main {
    public static void main(String[] args) throws IOException {
        OkHttpClient client = new OkHttpClient();

        RequestBody body = new MultipartBody.Builder()
            .setType(MultipartBody.FORM)
            .addFormDataPart("api_key", "{Your API Key}")
            .addFormDataPart("year", "2027")
            .addFormDataPart("place", "New Delhi")
            .addFormDataPart("lat", "28.6139")
            .addFormDataPart("lon", "77.2090")
            .addFormDataPart("tzone", "5.5")
            .build();

        Request request = new Request.Builder()
            .url("https://astroapi-3.divineapi.com/indian-api/v1/malayalam-festivals")
            .post(body)
            .addHeader("Authorization", "Bearer {Your Auth Token}")
            .build();

        Response response = client.newCall(request).execute();
        System.out.println(response.body().string());
    }
}
import Foundation

let url = URL(string: "https://astroapi-3.divineapi.com/indian-api/v1/malayalam-festivals")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer {Your Auth Token}", forHTTPHeaderField: "Authorization")

let boundary = "Boundary-\(UUID().uuidString)"
request.setValue("multipart/form-data; boundary=\(boundary)", forHTTPHeaderField: "Content-Type")

var bodyData = Data()
bodyData.append("--\(boundary)\r\n".data(using: .utf8)!)
bodyData.append("Content-Disposition: form-data; name=\"api_key\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("{Your API Key}\r\n".data(using: .utf8)!)
bodyData.append("--\(boundary)\r\n".data(using: .utf8)!)
bodyData.append("Content-Disposition: form-data; name=\"year\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("2027\r\n".data(using: .utf8)!)
bodyData.append("--\(boundary)\r\n".data(using: .utf8)!)
bodyData.append("Content-Disposition: form-data; name=\"place\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("New Delhi\r\n".data(using: .utf8)!)
bodyData.append("--\(boundary)\r\n".data(using: .utf8)!)
bodyData.append("Content-Disposition: form-data; name=\"lat\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("28.6139\r\n".data(using: .utf8)!)
bodyData.append("--\(boundary)\r\n".data(using: .utf8)!)
bodyData.append("Content-Disposition: form-data; name=\"lon\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("77.2090\r\n".data(using: .utf8)!)
bodyData.append("--\(boundary)\r\n".data(using: .utf8)!)
bodyData.append("Content-Disposition: form-data; name=\"tzone\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("5.5\r\n".data(using: .utf8)!)
bodyData.append("--\(boundary)--\r\n".data(using: .utf8)!)
request.httpBody = bodyData

let task = URLSession.shared.dataTask(with: request) { data, response, error in
    if let data = data {
        print(String(data: data, encoding: .utf8) ?? "")
    }
}
task.resume()
import okhttp3.*

fun main() {
    val client = OkHttpClient()

    val body = MultipartBody.Builder()
        .setType(MultipartBody.FORM)
        .addFormDataPart("api_key", "{Your API Key}")
        .addFormDataPart("year", "2027")
        .addFormDataPart("place", "New Delhi")
        .addFormDataPart("lat", "28.6139")
        .addFormDataPart("lon", "77.2090")
        .addFormDataPart("tzone", "5.5")
        .build()

    val request = Request.Builder()
        .url("https://astroapi-3.divineapi.com/indian-api/v1/malayalam-festivals")
        .post(body!!)
        .addHeader("Authorization", "Bearer {Your Auth Token}")
        .build()

    client.newCall(request).execute().use { response ->
        println(response.body?.string())
    }
}
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 Auth Token}");

        var content = new MultipartFormDataContent();
        content.Add(new StringContent("{Your API Key}"), "api_key");
        content.Add(new StringContent("2027"), "year");
        content.Add(new StringContent("New Delhi"), "place");
        content.Add(new StringContent("28.6139"), "lat");
        content.Add(new StringContent("77.2090"), "lon");
        content.Add(new StringContent("5.5"), "tzone");

        var response = await client.PostAsync("https://astroapi-3.divineapi.com/indian-api/v1/malayalam-festivals", content);
        var result = await response.Content.ReadAsStringAsync();
        Console.WriteLine(result);
    }
}
Response 200
{
    "success": 1,
    "data": {
        "year": 2027,
        "vishu_kani": {
            "date": "2027-04-15",
            "sankranti_moment": "2027-04-14 15:29:00",
            "image": "https://astroapi-6.divineapi.com/public/assets/vedic/festivals/images/main/Vishu%20Kani.png"
        },
        "thrissur_pooram": {
            "date": "2027-04-17",
            "image": "https://astroapi-6.divineapi.com/public/assets/vedic/festivals/images/main/Thrissur%20Pooram.png"
        },
        "attukal_pongala": {
            "date": "2027-02-22",
            "image": "https://astroapi-6.divineapi.com/public/assets/vedic/festivals/images/main/Attukal%20Pongala.png"
        },
        "makara_vilakku": {
            "date": "2027-01-15",
            "sankranti_moment": "2027-01-14 21:11:00",
            "image": "https://astroapi-6.divineapi.com/public/assets/vedic/festivals/images/main/Makara%20Vilakku.png"
        },
        "malayalam_new_year": {
            "date": "2027-08-18",
            "sankranti_moment": "2027-08-17 14:14:00",
            "malayalam_kollavarsham": 1203,
            "image": "https://astroapi-6.divineapi.com/public/assets/vedic/festivals/images/main/Malayalam%20New%20Year.png"
        },
        "ashtami_rohini": {
            "date": "2027-08-24",
            "nishita_muhurta": {
                "start_time": "2027-08-25 00:01:45",
                "end_time": "2027-08-25 00:46:01"
            },
            "image": "https://astroapi-6.divineapi.com/public/assets/vedic/festivals/images/main/Ashtami%20Rohini.png"
        },
        "onam": {
            "date": "2027-09-12",
            "image": "https://astroapi-6.divineapi.com/public/assets/vedic/festivals/images/main/Onam.png"
        },
        "ganesha_chaturthi": {
            "date": "2027-09-04",
            "puja_muhurat": {
                "start_time": "2027-09-04 11:05:02",
                "end_time": "2027-09-04 12:26:00"
            },
            "image": "https://astroapi-6.divineapi.com/public/assets/vedic/festivals/images/main/Ganesha%20Chaturthi.png"
        },
        "vidyarambham": {
            "date": "2027-10-10",
            "vijay_muhurta": {
                "start_time": "2027-10-10 14:04:47",
                "end_time": "2027-10-10 14:51:23"
            },
            "aparahna_puja_time": {
                "start_time": "2027-10-10 13:17:47",
                "end_time": "2027-10-10 15:37:47"
            },
            "image": "https://astroapi-6.divineapi.com/public/assets/vedic/festivals/images/main/Vidyarambham.png"
        },
        "mandalakala_begins": {
            "date": "2027-11-17",
            "sankranti_moment": "2027-11-17 01:59:00",
            "image": "https://astroapi-6.divineapi.com/public/assets/vedic/festivals/images/main/Mandalakala%20Begins.png"
        },
        "guruvayur_ekadashi": [
            {
                "smartas": {
                    "date": "2027-12-09",
                    "parana": {
                        "start_time": "2027-12-10 13:15:38",
                        "end_time": "2027-12-10 15:18:38"
                    },
                    "image": "https://astroapi-6.divineapi.com/public/assets/vedic/festivals/images/main/Guruvayur%20Ekadashi.png"
                },
                "vaishnavas": {
                    "date": "2027-12-09",
                    "parana": {
                        "start_time": "2027-12-10 13:15:38",
                        "end_time": "2027-12-10 15:18:38"
                    },
                    "image": "https://astroapi-6.divineapi.com/public/assets/vedic/festivals/images/main/Guruvayur%20Ekadashi.png"
                }
            }
        ],
        "mandala_pooja": {
            "date": "2027-12-27",
            "image": "https://astroapi-6.divineapi.com/public/assets/vedic/festivals/images/main/Mandala%20Pooja.png"
        }
    }
}