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 Uday Lagna API

Unveil the ascendant (Lagna) windows throughout the day with the Find Uday Lagna API. This API returns a time-sliced list of rising signs (Capricorn, Aquarius, Pisces, etc.) with exact start and end timestamps for the given date, place, and timezone. This helps you align beginnings, rituals, and actions with a suitable Lagna as per Indian Astrology.


Step-by-Step Find Uday Lagna API Postman Testing Integration

Refer to the official guide to learn how to test this API using Postman:

Step by Step Find Uday Lagna API Postman Testing Integration
https://support.divineapi.com/indian-astrology-apis/testing-panchang-api-find-uday-lagna-api-using-postman


Supported Language Codes

You can request the response in multiple languages by passing the lan parameter in the body.

Reference article:
https://support.divineapi.com/general-api-support/translating-an-indian-vedic-apis-into-a-different-language

CodeLanguage
enEnglish
hiHindi
bnBengali
maMarathi
tmTamil
tlTelugu
mlMalayalam
knKannada

Guide: If lan is not provided, the response defaults to en.


API Endpoint

POST https://astroapi-3.divineapi.com/indian-api/v2/uday-lagna

This endpoint returns all Uday Lagna slots (rising signs) for the specified date and location.


Headers

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

Request Body

NameTypeRequiredDescription
api_keyStringYesYour API key from Divine.
dayIntegerYesPanchang day, e.g. 24.
monthIntegerYesPanchang month, e.g. 05.
yearIntegerYesPanchang year, e.g. 2023.
placeStringNoPlace name, e.g. New Delhi.
latFloatYesLatitude of the place, e.g. 28.6139.
lonFloatYesLongitude of the place, e.g. 77.2090.
tzoneFloatYesTimezone offset, e.g. 5.5. See: https://developers.divineapi.com/divine-api/understanding-time-zones-a-comprehensive-guide
lanStringNoResponse language code. Default is en.
sign_lanIntegerNo0 for English 1 for Sanskrit, Default is '0'

200: OK Uday Lagna fetched successfully

{
    "success": 1,
    "data": {
        "date": "2025-2-05",
        "sunrise": "2025-02-05 07:07:27",
        "sunset": "2025-02-05 18:04:00",
        "uday_lagna": [
            {
                "sign": "Capricorn",
                "start_time": "2025-02-05 07:07:27",
                "end_time": "2025-02-05 07:35:27"
            },
            {
                "sign": "Aquarius",
                "start_time": "2025-02-05 07:36:27",
                "end_time": "2025-02-05 09:02:27"
            },
            {
                "sign": "Pisces",
                "start_time": "2025-02-05 09:03:27",
                "end_time": "2025-02-05 10:27:27"
            },
            {
                "sign": "Aries",
                "start_time": "2025-02-05 10:28:27",
                "end_time": "2025-02-05 12:02:27"
            },
            {
                "sign": "Taurus",
                "start_time": "2025-02-05 12:03:27",
                "end_time": "2025-02-05 13:58:27"
            },
            {
                "sign": "Gemini",
                "start_time": "2025-02-05 13:59:27",
                "end_time": "2025-02-05 16:12:27"
            },
            {
                "sign": "Cancer",
                "start_time": "2025-02-05 16:13:27",
                "end_time": "2025-02-05 18:33:27"
            },
            {
                "sign": "Leo",
                "start_time": "2025-02-05 18:34:27",
                "end_time": "2025-02-05 20:50:27"
            },
            {
                "sign": "Virgo",
                "start_time": "2025-02-05 20:51:27",
                "end_time": "2025-02-05 23:07:27"
            },
            {
                "sign": "Libra",
                "start_time": "2025-02-05 23:08:27",
                "end_time": "2025-02-06 01:26:27"
            },
            {
                "sign": "Scorpio",
                "start_time": "2025-02-06 01:27:27",
                "end_time": "2025-02-06 03:45:27"
            },
            {
                "sign": "Sagittarius",
                "start_time": "2025-02-06 03:46:27",
                "end_time": "2025-02-06 05:49:27"
            },
            {
                "sign": "Capricorn",
                "start_time": "2025-02-06 05:50:27",
                "end_time": "2025-02-06 07:06:47"
            }
        ]
    }
}

Response Fields Explained

success
1 indicates the request was processed successfully.

data.date
The date for which Uday Lagna has been calculated.

data.sunrise / data.sunset
Location-specific sunrise and sunset times that mark the base for Lagna calculations.

data.uday_lagna
An array of Lagna windows for that date. Each object contains:

sign: Ascendant (rising) sign during that interval.

start_time: Beginning of the Lagna.

end_time: End of the Lagna.

This makes it straightforward to pick the next available Lagna suitable for starting an activity.


Usage Notes

You must supply both Authorization: Bearer {Your Auth Token} and a valid api_key in the body.

Since Lagna depends on local sunrise, always provide accurate lat, lon, and tzone.

You can filter the returned list on the client side to show only the upcoming Lagna from current time.

Combine this API with Auspicious/ Inauspicious Timings and Tithi/Nakshatra APIs to build a complete muhurta selection flow.


Example Code
curl -X POST "https://astroapi-3.divineapi.com/indian-api/v2/uday-lagna" \
  -H "Authorization: Bearer {Your Auth Token}" \
  --form 'api_key="{Your API Key}"' \
  --form 'day="24"' \
  --form 'month="05"' \
  --form 'year="2023"' \
  --form 'place="New Delhi"' \
  --form 'lat="28.6139"' \
  --form 'lon="77.2090"' \
  --form 'tzone="5.5"' \
  --form 'lan="en"'
const FormData = require('form-data');
const axios = require('axios');

const form = new FormData();
form.append('api_key', '{Your API Key}');
form.append('day', '24');
form.append('month', '05');
form.append('year', '2023');
form.append('place', 'New Delhi');
form.append('lat', '28.6139');
form.append('lon', '77.2090');
form.append('tzone', '5.5');
form.append('lan', 'en');

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

console.log(response.data);
import requests

url = "https://astroapi-3.divineapi.com/indian-api/v2/uday-lagna"
headers = {
    "Authorization": "Bearer {Your Auth Token}",
}
payload = {
    "api_key": "{Your API Key}",
    "day": "24",
    "month": "05",
    "year": "2023",
    "place": "New Delhi",
    "lat": "28.6139",
    "lon": "77.2090",
    "tzone": "5.5",
    "lan": "en",
}

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

print(response.json())
const formData = new FormData();
formData.append('api_key', '{Your API Key}');
formData.append('day', '24');
formData.append('month', '05');
formData.append('year', '2023');
formData.append('place', 'New Delhi');
formData.append('lat', '28.6139');
formData.append('lon', '77.2090');
formData.append('tzone', '5.5');
formData.append('lan', 'en');

const response = await fetch('https://astroapi-3.divineapi.com/indian-api/v2/uday-lagna', {
  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/uday-lagna', [
    'headers' => [
        'Authorization' => 'Bearer {Your Auth Token}',
    ],
    'multipart' => [
        ['name' => 'api_key', 'contents' => '{Your API Key}'],
        ['name' => 'day', 'contents' => '24'],
        ['name' => 'month', 'contents' => '05'],
        ['name' => 'year', 'contents' => '2023'],
        ['name' => 'place', 'contents' => 'New Delhi'],
        ['name' => 'lat', 'contents' => '28.6139'],
        ['name' => 'lon', 'contents' => '77.2090'],
        ['name' => 'tzone', 'contents' => '5.5'],
        ['name' => 'lan', 'contents' => 'en'],
    ],
]);

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("day", "24")
    writer.WriteField("month", "05")
    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.WriteField("lan", "en")
    writer.Close()

    req, _ := http.NewRequest("POST", "https://astroapi-3.divineapi.com/indian-api/v2/uday-lagna", 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("day", "24")
            .addFormDataPart("month", "05")
            .addFormDataPart("year", "2023")
            .addFormDataPart("place", "New Delhi")
            .addFormDataPart("lat", "28.6139")
            .addFormDataPart("lon", "77.2090")
            .addFormDataPart("tzone", "5.5")
            .addFormDataPart("lan", "en")
            .build();

        Request request = new Request.Builder()
            .url("https://astroapi-3.divineapi.com/indian-api/v2/uday-lagna")
            .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/uday-lagna")!
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=\"day\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("24\r\n".data(using: .utf8)!)
bodyData.append("--\(boundary)\r\n".data(using: .utf8)!)
bodyData.append("Content-Disposition: form-data; name=\"month\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("05\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)!)
bodyData.append("Content-Disposition: form-data; name=\"lan\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("en\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("day", "24")
        .addFormDataPart("month", "05")
        .addFormDataPart("year", "2023")
        .addFormDataPart("place", "New Delhi")
        .addFormDataPart("lat", "28.6139")
        .addFormDataPart("lon", "77.2090")
        .addFormDataPart("tzone", "5.5")
        .addFormDataPart("lan", "en")
        .build()

    val request = Request.Builder()
        .url("https://astroapi-3.divineapi.com/indian-api/v2/uday-lagna")
        .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("24"), "day");
        content.Add(new StringContent("05"), "month");
        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");
        content.Add(new StringContent("en"), "lan");

        var response = await client.PostAsync("https://astroapi-3.divineapi.com/indian-api/v2/uday-lagna", content);
        var result = await response.Content.ReadAsStringAsync();
        Console.WriteLine(result);
    }
}