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

Date Specific Festivals API

The Date Specific Festivals API allows you to fetch all festivals occurring on a specific Gregorian date, providing their corresponding Panchang and cultural details, including festival names, images, and associated time periods.


Endpoint

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

Returns all festival details for the given date in the response.


Headers

NameTypeDescription
Authorization *StringYour API Access Token e.g. Bearer {token}

Request Body

NameTypeDescription
api_key *StringYour API key
year *IntegerGregorian year, e.g. 2025
month *IntegerGregorian month, e.g. 08
day *IntegerGregorian day, e.g. 09
placeStringPlace, e.g. New Delhi
lat *FloatLatitude, e.g. 28.6139
lon *FloatLongitude, e.g. 77.2090
tzone *FloatTimezone, e.g. 5.5 — see: Timezone List

Example Response — 200 OK

{
    "success": 1,
    "data": {
        "gayatri_jayanti": {
            "date": "2025-08-09",
            "image": "https://astroapi-6.divineapi.com/public/assets/vedic/festivals/images/main/Gayatri Jayanti.png"
        },
        "narali_purnima": {
            "date": "2025-08-09",
            "image": "https://astroapi-6.divineapi.com/public/assets/vedic/festivals/images/main/Narali Purnima.png"
        },
        "sanskrit_divas": {
            "date": "2025-08-09",
            "image": "https://astroapi-6.divineapi.com/public/assets/vedic/festivals/images/main/Sanskrit Divas.png"
        },
        "shraavana_maas": {
            "start_date": "2025-07-11",
            "end_date": "2025-08-09",
            "start_image": "https://astroapi-6.divineapi.com/public/assets/vedic/festivals/images/main/Shraavana Maas Start.png",
            "end_image": "https://astroapi-6.divineapi.com/public/assets/vedic/festivals/images/main/Shraavana Maas End.png"
        }
    }
}

Code Integration Examples

Below are sample implementations for calling the API in different programming environments.


cURL Example

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

NodeJS Example

var request = require('request');
var options = {
  'method': 'POST',
  'url': 'https://astroapi-3.divineapi.com/indian-api/v1/date-specific-festivals',
  'headers': {
    'Authorization': 'Bearer {Your Auth Token}'
  },
  formData: {
    'api_key': '{Your API Key}',
    'year': '2025',
    '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) Example

var form = new FormData();
form.append("api_key", "{Your API Key}");
form.append("year", "2025");
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/date-specific-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': '2025',
'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 Example

import requests

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

payload = {'api_key': '{Your API Key}',
'year': '2025',
'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)
Example Code
curl -X POST "https://astroapi-3.divineapi.com/indian-api/v1/date-specific-festivals" \
  -H "Authorization: Bearer {Your Auth Token}" \
  --form 'api_key="{Your API Key}"' \
  --form 'year="2025"' \
  --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', '2025');
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/date-specific-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/date-specific-festivals"
headers = {
    "Authorization": "Bearer {Your Auth Token}",
}
payload = {
    "api_key": "{Your API Key}",
    "year": "2025",
    "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', '2025');
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/date-specific-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/date-specific-festivals', [
    'headers' => [
        'Authorization' => 'Bearer {Your Auth Token}',
    ],
    'multipart' => [
        ['name' => 'api_key', 'contents' => '{Your API Key}'],
        ['name' => 'year', 'contents' => '2025'],
        ['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", "2025")
    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/date-specific-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", "2025")
            .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/date-specific-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/date-specific-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("2025\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", "2025")
        .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/date-specific-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("2025"), "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/date-specific-festivals", content);
        var result = await response.Content.ReadAsStringAsync();
        Console.WriteLine(result);
    }
}