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.

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"
}
}

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.