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 Margashirsha Festivals API

Discover auspicious events and cultural observances during the sacred month of Margashirsha with the Find Margashirsha Festivals API. This API returns details of all major festivals that occur in the Margashirsha month according to the Hindu Panchang, including event dates, parana timings, and associated festival images.


Step-by-Step Find Margashirsha Festivals API Postman Testing Integration

Refer to the official guide for instructions on how to test this API using Postman:

https://support.divineapi.com/indian-astrology-apis/testing-festival-api-find-margashirsha-festivals-api-using-postman


API Endpoint

POST https://astroapi-3.divineapi.com/indian-api/v2/margashirsh-festivals

This endpoint provides festival data for the Margashirsha month, including dates, images, and parana timings (if applicable).


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 Margashirsha festival data. Example: 2023.
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 Maghashirsha festivals successfully

{
    "success": 1,
    "data": {
        "year": "2023",
        "kalabhairav_jayanti": {
            "date": "2023-12-05",
            "image": "https://astroapi-6.divineapi.com/public/assets/vedic/festivals/images/main/Kaal%20Bhairava%20Jayanti.png"
        },
        "utpanna_ekadashi": {
            "smartas": {
                "date": "2023-12-08",
                "parana": {
                    "start_time": "2023-12-09 13:15:32",
                    "end_time": "2023-12-09 15:18:32"
                },
                "image": "https://astroapi-6.divineapi.com/public/assets/vedic/festivals/images/main/Utpanna%20Ekadashi.png"
            },
            "vaishnavas": {
                "date": "2023-12-08",
                "parana": {
                    "start_time": "2023-12-09 13:15:32",
                    "end_time": "2023-12-09 15:18:32"
                },
                "image": "https://astroapi-6.divineapi.com/public/assets/vedic/festivals/images/main/Utpanna%20Ekadashi.png"
            }
        },
        "vivah_panchanmi": {
            "date": "2023-12-17",
            "image": "https://astroapi-6.divineapi.com/public/assets/vedic/festivals/images/main/Vivah%20Panchanmi.png"
        },
        "mokhada_ekadashi": {
            "smartas": {
                "date": "2023-12-22",
                "parana": {
                    "start_time": "2023-12-23 13:22:29",
                    "end_time": "2023-12-23 15:25:29"
                },
                "image": "https://astroapi-6.divineapi.com/public/assets/vedic/festivals/images/main/Mokhada%20Ekadashi.png"
            },
            "vaishnavas": {
                "date": "2023-12-23",
                "parana": {
                    "start_time": "2023-12-24 07:11:27",
                    "end_time": "2023-12-24 09:14:27"
                },
                "image": "https://astroapi-6.divineapi.com/public/assets/vedic/festivals/images/main/Mokhada%20Ekadashi.png"
            }
        },
        "gita_jayanti": {
            "date": "2023-12-22",
            "image": "https://astroapi-6.divineapi.com/public/assets/vedic/festivals/images/main/Gita%20Jayanti.png"
        },
        "dattatreya_jayanti": {
            "date": "2023-12-26",
            "image": "https://astroapi-6.divineapi.com/public/assets/vedic/festivals/images/main/Dattatreya%20Jayanti.png"
        },
        "maa_annapurna_jayanti": {
            "date": "2023-12-26",
            "image": "https://astroapi-6.divineapi.com/public/assets/vedic/festivals/images/main/Maa%20Annapurna%20Jayanti.png"
        }
    }
}

Response Explanation

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

data
Contains all major Margashirsha festivals and their details.

Festival Name: Each key corresponds to a festival name (e.g., kalabhairav_jayanti, gita_jayanti).

date: The Gregorian date of the festival.

parana: For Ekadashis, includes start and end times of the breaking period (parana).

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

smartas / vaishnavas: Some festivals have variations based on sects. Each includes its respective date, parana, and image.


Example Code Implementations

Below are example implementations in various programming environments.


cURL 

curl --location 'https://astroapi-3.divineapi.com/indian-api/v2/margashirsh-festivals' \
--header 'Authorization: Bearer {Your Auth Token}' \
--form 'api_key="{Your API Key}"' \
--form 'year="2023"' \
--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/v2/margashirsh-festivals',
  'headers': {
    'Authorization': 'Bearer {Your Auth Token}'
  },
  formData: {
    'api_key': '{Your API Key}',
    'year': '2023',
    '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", "2023");
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/v2/margashirsh-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/margashirsh-festivals"

payload = {'api_key': '{Your API Key}',
'year': '2023',
'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/v2/margashirsh-festivals"

payload = {'api_key': '{Your API Key}',
'year': '2023',
'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.

Margashirsha is the ninth lunar month in the Hindu calendar, typically falling between November and December.

The API includes both Smarta and Vaishnava versions of Ekadashi observances where applicable.

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

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

Example Code
curl -X POST "https://astroapi-3.divineapi.com/indian-api/v2/margashirsh-festivals" \
  -H "Authorization: Bearer {Your Auth Token}" \
  --form 'api_key="{Your API Key}"' \
  --form 'year="2023"' \
  --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', '2023');
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/v2/margashirsh-festivals', form, {
  headers: {
    ...form.getHeaders(),
    'Authorization': 'Bearer {Your Auth Token}',
  }
});

console.log(response.data);
import requests

url = "https://astroapi-3.divineapi.com/indian-api/v2/margashirsh-festivals"
headers = {
    "Authorization": "Bearer {Your Auth Token}",
}
payload = {
    "api_key": "{Your API Key}",
    "year": "2023",
    "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', '2023');
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/v2/margashirsh-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/v2/margashirsh-festivals', [
    'headers' => [
        'Authorization' => 'Bearer {Your Auth Token}',
    ],
    'multipart' => [
        ['name' => 'api_key', 'contents' => '{Your API Key}'],
        ['name' => 'year', 'contents' => '2023'],
        ['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", "2023")
    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/v2/margashirsh-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", "2023")
            .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/v2/margashirsh-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/v2/margashirsh-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("2023\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", "2023")
        .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/v2/margashirsh-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("2023"), "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/v2/margashirsh-festivals", content);
        var result = await response.Content.ReadAsStringAsync();
        Console.WriteLine(result);
    }
}