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

Moon Phases

Uncover lunar insights with our Moon Phases API, detailing each phase's astrological significance and influence on personal growth within Western Astrology.


Step by Step Moon Phases API Postman Testing Integration

View Full Guide


Supported Language Codes

Support Article URL: https://support.divineapi.com/general-api-support/translating-a-natal-apis-into-a-different-language

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 request body with the desired language code.


House System Codes

House System Codes Support Article URL: https://support.divineapi.com/western-astrology-apis/how-to-change-the-house-system-code-in-natal-astrology

CodeSystem
PPlacidus
KKoch
RRegiomontanus
CCampanus
AEqual
WEqual, whole sign
NWhole sign, Aries = 1st house
XAxial rotation system / Meridian houses
TPolich/Page ("topocentric")
MMorinus
OPorphyry
BAlcabitius
DEqual / MC
EEqual = A
FCarter poli-equatorial
G36 Gauquelin sectors
HHorizon / azimuth
ISunshine
iSunshine alternative
LPullen
QPullen
SSripati
S-deltaSupported
S-ratioSupported
UKrusinski-Pisa-Goelzer
VEqual Vehlow
YAPC houses

Note: The default house system used is P - Placidus.


API Endpoint

POST  https://astroapi-4.divineapi.com/western-api/v2/moon-phases

Returns Moon Phases in the response.


Headers

NameTypeDescription
Authorization*StringYour API Access TokenExample: Bearer {token}

Request Body

NameTypeDescription
api_key*StringYour API key
full_name*StringFull name, e.g., Rahul Kumar
day*IntegerDate of birth, e.g., 24
month*IntegerMonth of birth, e.g., 05
year*IntegerYear of birth, e.g., 2023
hour*IntegerHour, e.g., 14
min*IntegerMinute, e.g., 40
sec*IntegerSecond, e.g., 43
gender*StringGender, e.g., male
place*StringPlace, e.g., New Delhi
lat*FloatLatitude, e.g., 28.7041
lon*FloatLongitude, e.g., 77.1025
tzone*FloatTimezone, e.g., 5.5Timezone List
lanStringLanguage code as per the table above. Default is en.
house_systemStringHouse system code. Default: P (Placidus).

200: OK Moon Phases Fetched Successfully

{
    "success": 1,
    "data": {
        "phase_no": 2,
        "phase_name": "Waxing Crescent Moon",
        "phase_degree": "54.3334627",
        "natal_moon": {
            "full_degree": "117.3009018",
            "longitude": "27:18:3",
            "sign": "Cancer",
            "house": 10
        },
        "content": {
            "feature": "Growth, Expansion, Building momentum",
            "details": [
                "The Waxing Crescent phase is associated with growth, expansion, and building momentum. Astrologically, this phase reflects the early stages of development, both personally and professionally. Those born during the Waxing Crescent may be perceived as proactive individuals, keen on pursuing growth opportunities and building a foundation for future endeavors.",
                "Individuals in this phase of the lunar cycle may possess a natural inclination to explore new ideas, meet challenges head-on, and cultivate a sense of adventure. They are seen as builders, laying the groundwork for their aspirations, and demonstrating resilience in the face of challenges."
            ]
        }
    }
}

Example Integrations

Below are examples of how you might call this method via cURL, NodeJS, JavaScript (jQuery AJAX), and Python.


cURL

curl --location 'https://astroapi-4.divineapi.com/western-api/v2/moon-phases' \
--header 'Authorization: Bearer {Your Auth Token}' \
--form 'api_key="{Your API Key}"' \
--form 'full_name="Rahul Kumar"' \
--form 'day="24"' \
--form 'month="05"' \
--form 'year="2023"' \
--form 'hour="14"' \
--form 'min="40"' \
--form 'sec="43"' \
--form 'gender="male"' \
--form 'place="New Delhi, India"' \
--form 'lat="28.7041"' \
--form 'lon="77.1025"' \
--form 'tzone="5.5"' \
--form 'lan="en"' \
--form 'house_system="P"'

NodeJS

var request = require('request');
var options = {
  method: 'POST',
  url: 'https://astroapi-4.divineapi.com/western-api/v2/moon-phases',
  headers: {
    'Authorization': 'Bearer {Your Auth Token}'
  },
  formData: {
    'api_key': '{Your API Key}',
    'full_name': 'Rahul Kumar',
    'day': '24',
    'month': '05',
    'year': '2023',
    'hour': '14',
    'min': '40',
    'sec': '43',
    'gender': 'male',
    'place': 'New Delhi, India',
    'lat': '28.7041',
    'lon': '77.1025',
    'tzone': '5.5',
    'lan': 'en',
    'house_system': 'P'
  }
};
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("full_name", "Rahul Kumar");
form.append("day", "24");
form.append("month", "05");
form.append("year", "2023");
form.append("hour", "14");
form.append("min", "40");
form.append("sec", "43");
form.append("gender", "male");
form.append("place", "New Delhi, India");
form.append("lat", "28.7041");
form.append("lon", "77.1025");
form.append("tzone", "5.5");
form.append("lan", "en");
form.append("house_system", "P");

var settings = {
  url: "https://astroapi-4.divineapi.com/western-api/v2/moon-phases",
  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);
});

Python

import requests

url = "https://astroapi-4.divineapi.com/western-api/v2/moon-phases"

payload = {
    'api_key': '{Your API Key}',
    'full_name': 'Rahul Kumar',
    'day': '24',
    'month': '05',
    'year': '2023',
    'hour': '14',
    'min': '40',
    'sec': '43',
    'gender': 'male',
    'place': 'New Delhi, India',
    'lat': '28.7041',
    'lon': '77.1025',
    'tzone': '5.5',
    'lan': 'en',
    'house_system': 'P'
}

headers = {
    'Authorization': 'Bearer {Your Auth Token}'
}

response = requests.post(url, headers=headers, data=payload)
print(response.text)
Example Code
curl -X POST "https://astroapi-4.divineapi.com/western-api/v2/moon-phases" \
  -H "Authorization: Bearer {Your Auth Token}" \
  --form 'api_key="{Your API Key}"' \
  --form 'full_name="Rahul Kumar"' \
  --form 'day="24"' \
  --form 'month="05"' \
  --form 'year="2023"' \
  --form 'hour="14"' \
  --form 'min="40"' \
  --form 'sec="43"' \
  --form 'gender="male"' \
  --form 'place="New Delhi, India"' \
  --form 'lat="28.7041"' \
  --form 'lon="77.1025"' \
  --form 'tzone="5.5"' \
  --form 'lan="en"' \
  --form 'house_system="P"'
const FormData = require('form-data');
const axios = require('axios');

const form = new FormData();
form.append('api_key', '{Your API Key}');
form.append('full_name', 'Rahul Kumar');
form.append('day', '24');
form.append('month', '05');
form.append('year', '2023');
form.append('hour', '14');
form.append('min', '40');
form.append('sec', '43');
form.append('gender', 'male');
form.append('place', 'New Delhi, India');
form.append('lat', '28.7041');
form.append('lon', '77.1025');
form.append('tzone', '5.5');
form.append('lan', 'en');
form.append('house_system', 'P');

const response = await axios.post('https://astroapi-4.divineapi.com/western-api/v2/moon-phases', form, {
  headers: {
    ...form.getHeaders(),
    'Authorization': 'Bearer {Your Auth Token}',
  }
});

console.log(response.data);
import requests

url = "https://astroapi-4.divineapi.com/western-api/v2/moon-phases"
headers = {
    "Authorization": "Bearer {Your Auth Token}",
}
payload = {
    "api_key": "{Your API Key}",
    "full_name": "Rahul Kumar",
    "day": "24",
    "month": "05",
    "year": "2023",
    "hour": "14",
    "min": "40",
    "sec": "43",
    "gender": "male",
    "place": "New Delhi, India",
    "lat": "28.7041",
    "lon": "77.1025",
    "tzone": "5.5",
    "lan": "en",
    "house_system": "P",
}

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

print(response.json())
const formData = new FormData();
formData.append('api_key', '{Your API Key}');
formData.append('full_name', 'Rahul Kumar');
formData.append('day', '24');
formData.append('month', '05');
formData.append('year', '2023');
formData.append('hour', '14');
formData.append('min', '40');
formData.append('sec', '43');
formData.append('gender', 'male');
formData.append('place', 'New Delhi, India');
formData.append('lat', '28.7041');
formData.append('lon', '77.1025');
formData.append('tzone', '5.5');
formData.append('lan', 'en');
formData.append('house_system', 'P');

const response = await fetch('https://astroapi-4.divineapi.com/western-api/v2/moon-phases', {
  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-4.divineapi.com/western-api/v2/moon-phases', [
    'headers' => [
        'Authorization' => 'Bearer {Your Auth Token}',
    ],
    'multipart' => [
        ['name' => 'api_key', 'contents' => '{Your API Key}'],
        ['name' => 'full_name', 'contents' => 'Rahul Kumar'],
        ['name' => 'day', 'contents' => '24'],
        ['name' => 'month', 'contents' => '05'],
        ['name' => 'year', 'contents' => '2023'],
        ['name' => 'hour', 'contents' => '14'],
        ['name' => 'min', 'contents' => '40'],
        ['name' => 'sec', 'contents' => '43'],
        ['name' => 'gender', 'contents' => 'male'],
        ['name' => 'place', 'contents' => 'New Delhi, India'],
        ['name' => 'lat', 'contents' => '28.7041'],
        ['name' => 'lon', 'contents' => '77.1025'],
        ['name' => 'tzone', 'contents' => '5.5'],
        ['name' => 'lan', 'contents' => 'en'],
        ['name' => 'house_system', 'contents' => 'P'],
    ],
]);

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("full_name", "Rahul Kumar")
    writer.WriteField("day", "24")
    writer.WriteField("month", "05")
    writer.WriteField("year", "2023")
    writer.WriteField("hour", "14")
    writer.WriteField("min", "40")
    writer.WriteField("sec", "43")
    writer.WriteField("gender", "male")
    writer.WriteField("place", "New Delhi, India")
    writer.WriteField("lat", "28.7041")
    writer.WriteField("lon", "77.1025")
    writer.WriteField("tzone", "5.5")
    writer.WriteField("lan", "en")
    writer.WriteField("house_system", "P")
    writer.Close()

    req, _ := http.NewRequest("POST", "https://astroapi-4.divineapi.com/western-api/v2/moon-phases", 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("full_name", "Rahul Kumar")
            .addFormDataPart("day", "24")
            .addFormDataPart("month", "05")
            .addFormDataPart("year", "2023")
            .addFormDataPart("hour", "14")
            .addFormDataPart("min", "40")
            .addFormDataPart("sec", "43")
            .addFormDataPart("gender", "male")
            .addFormDataPart("place", "New Delhi, India")
            .addFormDataPart("lat", "28.7041")
            .addFormDataPart("lon", "77.1025")
            .addFormDataPart("tzone", "5.5")
            .addFormDataPart("lan", "en")
            .addFormDataPart("house_system", "P")
            .build();

        Request request = new Request.Builder()
            .url("https://astroapi-4.divineapi.com/western-api/v2/moon-phases")
            .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-4.divineapi.com/western-api/v2/moon-phases")!
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=\"full_name\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("Rahul Kumar\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=\"hour\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("14\r\n".data(using: .utf8)!)
bodyData.append("--\(boundary)\r\n".data(using: .utf8)!)
bodyData.append("Content-Disposition: form-data; name=\"min\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("40\r\n".data(using: .utf8)!)
bodyData.append("--\(boundary)\r\n".data(using: .utf8)!)
bodyData.append("Content-Disposition: form-data; name=\"sec\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("43\r\n".data(using: .utf8)!)
bodyData.append("--\(boundary)\r\n".data(using: .utf8)!)
bodyData.append("Content-Disposition: form-data; name=\"gender\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("male\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)!)
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=\"house_system\"\r\n\r\n".data(using: .utf8)!)
bodyData.append("P\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("full_name", "Rahul Kumar")
        .addFormDataPart("day", "24")
        .addFormDataPart("month", "05")
        .addFormDataPart("year", "2023")
        .addFormDataPart("hour", "14")
        .addFormDataPart("min", "40")
        .addFormDataPart("sec", "43")
        .addFormDataPart("gender", "male")
        .addFormDataPart("place", "New Delhi, India")
        .addFormDataPart("lat", "28.7041")
        .addFormDataPart("lon", "77.1025")
        .addFormDataPart("tzone", "5.5")
        .addFormDataPart("lan", "en")
        .addFormDataPart("house_system", "P")
        .build()

    val request = Request.Builder()
        .url("https://astroapi-4.divineapi.com/western-api/v2/moon-phases")
        .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("Rahul Kumar"), "full_name");
        content.Add(new StringContent("24"), "day");
        content.Add(new StringContent("05"), "month");
        content.Add(new StringContent("2023"), "year");
        content.Add(new StringContent("14"), "hour");
        content.Add(new StringContent("40"), "min");
        content.Add(new StringContent("43"), "sec");
        content.Add(new StringContent("male"), "gender");
        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");
        content.Add(new StringContent("en"), "lan");
        content.Add(new StringContent("P"), "house_system");

        var response = await client.PostAsync("https://astroapi-4.divineapi.com/western-api/v2/moon-phases", content);
        var result = await response.Content.ReadAsStringAsync();
        Console.WriteLine(result);
    }
}