Developer API: Get Wuku, Pasaran & Neptu from a Date

You’re building an app, a website, or a research tool connected to Javanese culture, and you need precise calendar data. The Javanese Calendar API simplifies this process. With the Javanese Calendar API, you can access accurate Weton information easily. This official documentation guides you to use the Javanese Calendar API for clean, reliable JSON data.

The Javanese calendar is a beautiful, intricate system combining the 7-day week, 5-day Pasaran, 30 Wuku weeks, and Neptu values. Calculating all of this manually can be complex, but the Javanese Calendar API simplifies the process. Using the Javanese Calendar API, developers can access accurate Weton and Wuku data effortlessly. The Javanese Calendar API saves time and avoids errors, making it an essential tool for anyone working with Javanese calendrical systems.

That’s why we created a simple, free, and public Javanese Calendar API. The Javanese Calendar API handles all the complex calculations, so you can focus on building your projects. Whether you are making a Weton calculator, a journaling app, or a historical research tool, the Javanese Calendar API provides reliable data. This guide covers everything you need to use the Javanese Calendar API and shows how to get accurate JSON responses.

Why an API? The Developer’s Advantage

An API (Application Programming Interface) is a standardized way for computer programs to talk to each other. Instead of coding the complex calendrical logic into your own project, you simply “ask” our server for the information you need. This has several advantages:

  • Simplicity: You can get complex data with a single, simple web request.
  • Accuracy: Our server handles the calculations, ensuring that the data is always based on the correct formulas and epoch dates.
  • Maintainability: If any aspect of the calendrical system needs updating or correcting, we do it on our end. You don’t need to change your code.
  • Language Agnostic: You can call this API from any programming language that can make an HTTP request, including JavaScript, Python, PHP, Java, Swift, and more.

An infographic illustrating the Javanese Calendar API process a developer's code makes a request, and the server returns a clean JSON response with Weton API data
An infographic illustrating the Javanese Calendar API process a developer’s code makes a request, and the server returns a clean JSON response with Weton API data
Our API simplifies a complex calculation into a single, easy-to-use request.

API Documentation

Our API is designed to be simple and RESTful. It is completely free to use and does not require an API key for basic access.

Base URL

All requests to the API should be made to the following base URL:

https://api.en.kaweruhjawa.com/v1/calendar/

Endpoints

We offer two primary endpoints to get the data you need.

1. Get Today’s Javanese Calendar Data

This endpoint returns the full Javanese calendar information for the current date, based on the server’s time (set to Asia/Jakarta).

  • Endpoint: /today
  • Method: GET
  • Full URL: https://api.en.kaweruhjawa.com/v1/calendar/today

2. Get Javanese Calendar Data for a Specific Date

This endpoint allows you to query any date and get its corresponding Javanese calendar data.

  • Endpoint: /date/{YYYY-MM-DD}
  • Method: GET
  • Example URL: https://api.en.kaweruhjawa.com/v1/calendar/date/1945-08-17

The JSON Response Object

A successful request to either endpoint will return a 200 OK status code and a JSON object with the following structure. We’ve enriched the data with both the names and their numerical values for maximum flexibility.

{
  "status": "success",
  "query_date": "2025-09-30",
  "weton": {
    "day": {
      "name": "Selasa",
      "neptu": 3
    },
    "pasaran": {
      "name": "Kliwon",
      "neptu": 8
    },
    "neptu_total": 11,
    "weton_name": "Selasa Kliwon"
  },
  "wuku": {
    "name": "Kuningan",
    "number": 12,
    "start_date": "2025-09-28",
    "end_date": "2025-10-04"
  }
}

A visual breakdown of the Javanese Calendar API's JSON response, with annotations for the weton, neptu, and wuku objects.
A visual breakdown of the Javanese Calendar API’s JSON response, with annotations for the weton, neptu, and wuku objects.
The API returns a clean, well-structured JSON object with all the data you need.

Response Object Fields Explained:

Field Type Description
status String “success” or “error”.
query_date String The Gregorian date for which the data was calculated (YYYY-MM-DD).
weton Object Contains all data related to the Weton.
weton.day.name String The name of the day in the 7-day week (e.g., “Senin”).
weton.day.neptu Integer The numerical value (*neptu*) of the 7-day week (e.g., Senin = 4).
weton.pasaran.name String The name of the day in the 5-day Pasaran week (e.g., “Legi”).
weton.pasaran.neptu Integer The numerical value (*neptu*) of the Pasaran day (e.g., Legi = 5).
weton.neptu_total Integer The sum of the day and pasaran neptu, a key value in Javanese divination.
weton.weton_name String The full Weton name (e.g., “Senin Legi”).
wuku Object Contains data related to the 210-day Wuku cycle.
wuku.name String The name of the Wuku for the given date (e.g., “Sinta”).
wuku.number Integer The number of the Wuku in the cycle (1-30).
wuku.start_date String The start date of the current Wuku week (YYYY-MM-DD).
wuku.end_date String The end date of the current Wuku week (YYYY-MM-DD).

Practical Examples: Using the API

Here are some simple, copy-pasteable examples of how to call the API in popular languages.

JavaScript (Browser Fetch API)

This is perfect for displaying the Weton of the day on a website.

async function displayTodaysWeton() {
    const apiUrl = 'https://api.en.kaweruhjawa.com/v1/calendar/today';
    try {
        const response = await fetch(apiUrl);
        if (!response.ok) {
            throw new Error(`HTTP error! status: ${response.status}`);
        }
        const data = await response.json();
        
        if (data.status === 'success') {
            const wetonElement = document.getElementById('weton-display');
            wetonElement.innerHTML = `Today is: <strong>${data.weton.weton_name}</strong>`;
        }
    } catch (error) {
        console.error("Could not fetch Weton data:", error);
    }
}

// Call the function when the page loads
displayTodaysWeton();

Python (Requests Library)

Ideal for backend applications, data analysis, or scripting.

import requests

def get_weton_for_date(date_str):
    api_url = f"https://api.en.kaweruhjawa.com/v1/calendar/date/{date_str}"
    try:
        response = requests.get(api_url)
        response.raise_for_status()  # Raises an exception for bad status codes
        data = response.json()
        
        if data.get("status") == "success":
            print(f"The Weton for {date_str} is: {data['weton']['weton_name']}")
            print(f"Total Neptu: {data['weton']['neptu_total']}")
            print(f"Wuku: {data['wuku']['name']}")
        else:
            print("API returned an error.")

    except requests.exceptions.RequestException as e:
        print(f"An error occurred: {e}")

# Example usage:
get_weton_for_date("1945-08-17")

Use Cases and Ideas for Your Project

What can you build with this API? The possibilities are endless.

  • “Weton of the Day” Website Widget: Use the JavaScript example to create a small widget for your blog or website’s sidebar.
  • Weton Journaling App: Build a mobile or web app that uses our Weton journaling prompts, automatically showing the correct prompt for the day’s Pasaran.
  • Historical Research Tool: Use the date-specific endpoint to analyze the Weton or Wuku of significant historical events in Indonesia.
  • Wedding Date Planner: Build a tool that allows users to check the Weton and Neptu values of potential wedding dates, a common practice in Javanese culture.
  • Personalized Astrology App: Allow users to input their birthday to get their birth Weton and a description of their character based on Javanese primbon, using our guides as a knowledge base.

Conclusion: Start Building Today

The Javanese Calendar API makes the rich and complex Javanese calendar easy to access for developers and creators. Using the Javanese Calendar API, you can get accurate Weton, Wuku, and Neptu data for websites, apps, or research projects. This Javanese Calendar API ensures reliability so you can focus on building your vision without worrying about calculations. By integrating the Javanese Calendar API, you can bring a meaningful piece of Javanese heritage into the digital world and explore new possibilities.