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

Planet Retrograde Transit

Analyze planetary retrograde transits using the Western Astrology Transit API, returning retrograde movement details for a selected planet based on month, location, and timezone.


Allowed Transit Planets

ValueMeaning
MercuryFor Mercury transit
VenusFor Venus transit
MarsFor Mars transit
JupiterFor Jupiter transit
SaturnFor Saturn transit
UranusFor Uranus transit
NeptuneFor Neptune transit

Use Translator for Other Languages

CodeLanguage
enEnglish
hiHindi
ptPortuguese
frFrench
deGerman
jaJapanese
trTurkish
ruRussian
itItalian
esSpanish
nlDutch
plPolish

Guide: These languages are supported by this API. You can use them by passing "lan" in the body with the value of the language (if applicable).


API Endpoint

POST  https://astroapi-8.divineapi.com/western-api/v1/planet-retrograde-transit

Returns: Planet retrograde transit details for the specified planet and month.


Headers

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

Request Body

KeyTypeExample ValueDescription
api_key*Textyour API KeyYour API access key.
planet*TextmarsPlanet name (e.g., Sun, Moon, Mars).
month*Text11Numeric month (1–12).
year*Text20254-digit year.
place*TextNew Delhi, IndiaCity and country name.
lat*Text28.7041Latitude in decimal format.
lon*Text77.1025Longitude in decimal format.
tzone*Text5.5Timezone in decimal format (e.g., 5.5 for IST).
lanTextenLanguage code

200: OK Planet Retrograde Transit details fetched successfully

# With Transit Data
{
    "status": "success",
    "code": 200,
    "message": "Request successful",
    "data": {
        "transit": [
            {
                "retrograde": "false",
                "progressive": "true",
                "datetime": "2025-02-24 07:30:00"
            }
        ]
    }
}
# Without Transit Data
{
    "status": "success",
    "code": 200,
    "message": "Request successful",
    "data": {
        "transit": []
    }
}

Example Code Implementations

Below are example implementations in various programming environments.


cURL

curl --location 'https://astroapi-8.divineapi.com/western-api/v1/planet-retrograde-transit' \
--header 'Authorization: Bearer your API Access Token' \
--form 'api_key="your API Key"' \
--form 'planet="moon"' \
--form 'month="11"' \
--form 'year="2025"' \
--form 'place="New Delhi, India"' \
--form 'lat="28.7041"' \
--form 'lon="77.1025"' \
--form 'tzone="5.5"'

NodeJS

var request = require('request');
var options = {
  'method': 'POST',
  'url': 'https://astroapi-8.divineapi.com/western-api/v1/planet-retrograde-transit',
  'headers': {
    'Authorization': 'Bearer your API Access Token'
  },
  formData: {
    'api_key': 'your API Key',
    'planet': 'moon',
    'month': '11',
    'year': '2025',
    'place': 'New Delhi, India',
    'lat': '28.7041',
    'lon': '77.1025',
    '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("planet", "moon");
form.append("month", "11");
form.append("year", "2025");
form.append("place", "New Delhi, India");
form.append("lat", "28.7041");
form.append("lon", "77.1025");
form.append("tzone", "5.5");

var settings = {
  "url": "https://astroapi-8.divineapi.com/western-api/v1/planet-retrograde-transit",
  "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-8.divineapi.com/western-api/v1/planet-retrograde-transit"

payload = {'api_key': 'your API Key',
'planet': 'moon',
'month': '11',
'year': '2025',
'place': 'New Delhi, India',
'lat': '28.7041',
'lon': '77.1025',
'tzone': '5.5'}
files=[

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

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

print(response.text)


Implementation Notes

Use Authorization: Bearer {Your Auth Token} and {Your API Key} securely; never expose them in client-side code.

Provide date, time, and coordinates in correct numeric formats; use decimal timezone values (e.g., 5.5).

Check HTTP status codes, log responses, and handle 4xx/5xx errors gracefully.

Example Code
curl -X POST "https://astroapi-8.divineapi.com/western-api/v1/planet-retrograde-transit" \
  -H "Authorization: Bearer your API Access Token" \
  --form 'api_key="your API Key"' \
  --form 'planet="moon"' \
  --form 'month="11"' \
  --form 'year="2025"' \
  --form 'place="New Delhi, India"' \
  --form 'lat="28.7041"' \
  --form 'lon="77.1025"' \
  --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('planet', 'moon');
form.append('month', '11');
form.append('year', '2025');
form.append('place', 'New Delhi, India');
form.append('lat', '28.7041');
form.append('lon', '77.1025');
form.append('tzone', '5.5');

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

console.log(response.data);
import requests

url = "https://astroapi-8.divineapi.com/western-api/v1/planet-retrograde-transit"
headers = {
    "Authorization": "Bearer your API Access Token",
}
payload = {
    "api_key": "your API Key",
    "planet": "moon",
    "month": "11",
    "year": "2025",
    "place": "New Delhi, India",
    "lat": "28.7041",
    "lon": "77.1025",
    "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('planet', 'moon');
formData.append('month', '11');
formData.append('year', '2025');
formData.append('place', 'New Delhi, India');
formData.append('lat', '28.7041');
formData.append('lon', '77.1025');
formData.append('tzone', '5.5');

const response = await fetch('https://astroapi-8.divineapi.com/western-api/v1/planet-retrograde-transit', {
  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-8.divineapi.com/western-api/v1/planet-retrograde-transit', [
    'headers' => [
        'Authorization' => 'Bearer your API Access Token',
    ],
    'multipart' => [
        ['name' => 'api_key', 'contents' => 'your API Key'],
        ['name' => 'planet', 'contents' => 'moon'],
        ['name' => 'month', 'contents' => '11'],
        ['name' => 'year', 'contents' => '2025'],
        ['name' => 'place', 'contents' => 'New Delhi, India'],
        ['name' => 'lat', 'contents' => '28.7041'],
        ['name' => 'lon', 'contents' => '77.1025'],
        ['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("planet", "moon")
    writer.WriteField("month", "11")
    writer.WriteField("year", "2025")
    writer.WriteField("place", "New Delhi, India")
    writer.WriteField("lat", "28.7041")
    writer.WriteField("lon", "77.1025")
    writer.WriteField("tzone", "5.5")
    writer.Close()

    req, _ := http.NewRequest("POST", "https://astroapi-8.divineapi.com/western-api/v1/planet-retrograde-transit", 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("planet", "moon")
            .addFormDataPart("month", "11")
            .addFormDataPart("year", "2025")
            .addFormDataPart("place", "New Delhi, India")
            .addFormDataPart("lat", "28.7041")
            .addFormDataPart("lon", "77.1025")
            .addFormDataPart("tzone", "5.5")
            .build();

        Request request = new Request.Builder()
            .url("https://astroapi-8.divineapi.com/western-api/v1/planet-retrograde-transit")
            .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-8.divineapi.com/western-api/v1/planet-retrograde-transit")!
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=\"planet\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("moon\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("11\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, India\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.7041\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.1025\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("planet", "moon")
        .addFormDataPart("month", "11")
        .addFormDataPart("year", "2025")
        .addFormDataPart("place", "New Delhi, India")
        .addFormDataPart("lat", "28.7041")
        .addFormDataPart("lon", "77.1025")
        .addFormDataPart("tzone", "5.5")
        .build()

    val request = Request.Builder()
        .url("https://astroapi-8.divineapi.com/western-api/v1/planet-retrograde-transit")
        .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("moon"), "planet");
        content.Add(new StringContent("11"), "month");
        content.Add(new StringContent("2025"), "year");
        content.Add(new StringContent("New Delhi, India"), "place");
        content.Add(new StringContent("28.7041"), "lat");
        content.Add(new StringContent("77.1025"), "lon");
        content.Add(new StringContent("5.5"), "tzone");

        var response = await client.PostAsync("https://astroapi-8.divineapi.com/western-api/v1/planet-retrograde-transit", content);
        var result = await response.Content.ReadAsStringAsync();
        Console.WriteLine(result);
    }
}