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

Planets Nakshatra Transit API

The Planets Nakshatra Transit API provides detailed information on when a planet enters a specific Nakshatra or its individual Pada (quarter). This API helps astrologers, researchers, and developers track precise planetary movements across Nakshatras throughout the year, supporting both whole Nakshatra and Pada-based transit modes.


Step-by-Step Find Planets Nakshatra Transit API Postman Testing Integration

For a complete walkthrough on how to test this API using Postman, refer to the official documentation:
https://support.divineapi.com/indian-astrology-apis/testing-panchang-api-find-grah-gochar-api-using-postman


Supported Language Codes

You can retrieve the API response in multiple Indian languages by passing the lan parameter in the request 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 specified, the default response language will be English (en).


Planet Name Parameters

Use one of the following planet names as the path parameter :planet in the request URL.

sun
moon
mercury
venus
mars
jupiter
saturn
uranus
neptune
pluto

API Endpoint

POST https://astroapi-3.divineapi.com/indian-api/v2/planet-nakshatra-transit/:planet

This endpoint returns the planetary transit data across Nakshatras (and optionally Nakshatra Padas) for a given planet, month, and year.


Headers

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

Request Body

NameTypeRequiredDescription
api_keyStringYesYour API key.
monthIntegerYesMonth of transit calculation. Example: 05.
yearIntegerYesYear of transit calculation. Example: 2023.
placeStringYesPlace name, e.g. New Delhi.
latFloatYesLatitude of the location. Example: 28.6139.
lonFloatYesLongitude of the location. Example: 77.2090.
tzoneFloatYesTimezone offset. Example: 5.5. Refer to Timezone Guide.
pada_transitIntegerNoSet to 1 to enable Pada Transit Mode; default is 0.
lanStringNoLanguage code from the supported list. Default is en.

200: OK Nakshatra Transit fetched successfully

{
    "success": 1,
    "data": {
        "total_transit": 2,
        "transit": [
            {
                "date": "2023-05-12 00:54:00",
                "nakshatra": "Krittika",
                "nakshatra_number": 3
            },
            {
                "date": "2023-05-25 21:00:00",
                "nakshatra": "Rohini",
                "nakshatra_number": 4
            }
        ]
    }
}

Field Explanation

date
The exact timestamp when the planet enters the specified Nakshatra or Pada.

nakshatra
The name of the Nakshatra where the planet is currently transiting.

nakshatra_number
The ordinal number of the Nakshatra (1 for Ashwini, 27 for Revati, etc.).

nakshatra_pada
The quarter (Pada) of the Nakshatra, available when pada_transit = 1.

message
A summary text specifying the total number of Nakshatra or Pada transits during the specified month.


Example Code Implementations

Below are example implementations in various programming environments.


cURL

curl --location 'https://astroapi-3.divineapi.com/indian-api/v2/planet-nakshatra-transit/:planet' \
--header 'Authorization: Bearer your API Access Token' \
--form 'api_key="your API key"' \
--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"' \
--form 'pada_transit="0"'

Node.js

var request = require('request');
var options = {
  'method': 'POST',
  'url': 'https://astroapi-3.divineapi.com/indian-api/v2/planet-nakshatra-transit/:planet',
  'headers': {
    'Authorization': 'Bearer your API Access Token'
  },
  formData: {
    'api_key': 'your API key',
    'month': '05',
    'year': '2023',
    'place': 'New Delhi',
    'lat': '28.6139',
    'lon': '77.2090',
    'tzone': '5.5',
    'lan': 'en',
    'pada_transit': '0'
  }
};
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("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");
form.append("pada_transit", "0");

var settings = {
  "url": "https://astroapi-3.divineapi.com/indian-api/v2/planet-nakshatra-transit/:planet",
  "method": "POST",
  "timeout": 0,
  "headers": {
    "Authorization": "Bearer your API Access Token"
  },
  "processData": false,
  "mimeType": "multipart/form-data",
  "contentType": false,
  "data": form
};

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

Python

import requests

url = "https://astroapi-3.divineapi.com/indian-api/v2/planet-nakshatra-transit/:planet"

payload = {'api_key': 'your API key',
'month': '05',
'year': '2023',
'place': 'New Delhi',
'lat': '28.6139',
'lon': '77.2090',
'tzone': '5.5',
'lan': 'en',
'pada_transit': '0'}
files=[

]
headers = {
  'Authorization': 'Bearer your API Access Token'
}

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

print(response.text)

Implementation Notes

Always include both the Authorization header and api_key in your request.

Replace :planet with the correct planet name in the URL.

Use pada_transit = 1 for a more granular breakdown of planetary movement within each Nakshatra.

Accurate lat, lon, and tzone inputs ensure precise timing results.

Cache repetitive requests to improve performance and reduce API calls.

Integrate this API with Grah Gochar or Panchang APIs to offer a complete planetary movement dashboard.

Example Code
curl -X POST "https://astroapi-3.divineapi.com/indian-api/v2/planet-nakshatra-transit/:planet" \
  -H "Authorization: Bearer your API Access Token" \
  --form 'api_key="your API key"' \
  --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"' \
  --form 'pada_transit="0"'
const FormData = require('form-data');
const axios = require('axios');

const form = new FormData();
form.append('api_key', 'your API key');
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');
form.append('pada_transit', '0');

const response = await axios.post('https://astroapi-3.divineapi.com/indian-api/v2/planet-nakshatra-transit/:planet', form, {
  headers: {
    ...form.getHeaders(),
    'Authorization': 'Bearer your API Access Token',
  }
});

console.log(response.data);
import requests

url = "https://astroapi-3.divineapi.com/indian-api/v2/planet-nakshatra-transit/:planet"
headers = {
    "Authorization": "Bearer your API Access Token",
}
payload = {
    "api_key": "your API key",
    "month": "05",
    "year": "2023",
    "place": "New Delhi",
    "lat": "28.6139",
    "lon": "77.2090",
    "tzone": "5.5",
    "lan": "en",
    "pada_transit": "0",
}

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

print(response.json())
const formData = new FormData();
formData.append('api_key', 'your API key');
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');
formData.append('pada_transit', '0');

const response = await fetch('https://astroapi-3.divineapi.com/indian-api/v2/planet-nakshatra-transit/:planet', {
  method: 'POST',
  headers: {
      'Authorization': "Bearer your API Access 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/planet-nakshatra-transit/:planet', [
    'headers' => [
        'Authorization' => 'Bearer your API Access Token',
    ],
    'multipart' => [
        ['name' => 'api_key', 'contents' => 'your API key'],
        ['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'],
        ['name' => 'pada_transit', 'contents' => '0'],
    ],
]);

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("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.WriteField("pada_transit", "0")
    writer.Close()

    req, _ := http.NewRequest("POST", "https://astroapi-3.divineapi.com/indian-api/v2/planet-nakshatra-transit/:planet", body)
    req.Header.Set("Content-Type", writer.FormDataContentType())
    req.Header.Set("Authorization", "Bearer your API Access 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("month", "05")
            .addFormDataPart("year", "2023")
            .addFormDataPart("place", "New Delhi")
            .addFormDataPart("lat", "28.6139")
            .addFormDataPart("lon", "77.2090")
            .addFormDataPart("tzone", "5.5")
            .addFormDataPart("lan", "en")
            .addFormDataPart("pada_transit", "0")
            .build();

        Request request = new Request.Builder()
            .url("https://astroapi-3.divineapi.com/indian-api/v2/planet-nakshatra-transit/:planet")
            .post(body)
            .addHeader("Authorization", "Bearer your API Access 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/planet-nakshatra-transit/:planet")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer your API Access 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=\"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)!)
bodyData.append("Content-Disposition: form-data; name=\"pada_transit\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("0\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("month", "05")
        .addFormDataPart("year", "2023")
        .addFormDataPart("place", "New Delhi")
        .addFormDataPart("lat", "28.6139")
        .addFormDataPart("lon", "77.2090")
        .addFormDataPart("tzone", "5.5")
        .addFormDataPart("lan", "en")
        .addFormDataPart("pada_transit", "0")
        .build()

    val request = Request.Builder()
        .url("https://astroapi-3.divineapi.com/indian-api/v2/planet-nakshatra-transit/:planet")
        .post(body!!)
        .addHeader("Authorization", "Bearer your API Access 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 API Access Token");

        var content = new MultipartFormDataContent();
        content.Add(new StringContent("your API key"), "api_key");
        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");
        content.Add(new StringContent("0"), "pada_transit");

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