API Demo
Explore WorldTimeApp API interfaces and learn how to integrate timezone data into your applications
Cities Data API
Get All Cities
GET /api/citiesGet City Details
GET /api/cities/[id]Search Cities by Name
GET /api/cities/name/[name]Response Example
{
"id": "tokyo",
"city": "东京",
"cityEn": "Tokyo",
"country": "日本",
"countryEn": "Japan",
"flag": "🇯🇵",
"timezone": "Asia/Tokyo",
"utcOffset": "UTC+9",
"continent": "亚洲",
"continentEn": "Asia",
"latitude": 35.6762,
"longitude": 139.6503,
"population": 13960000,
"currency": "JPY",
"language": "Japanese"
}JavaScript Example
// Fetch city data
async function getCityTime(cityId) {
try {
const response = await fetch(`/api/cities/${cityId}`);
const city = await response.json();
// Get current time
const now = new Date();
const formatter = new Intl.DateTimeFormat('en-US', {
timeZone: city.timezone,
hour12: false,
hour: '2-digit',
minute: '2-digit',
second: '2-digit'
});
const time = formatter.format(now);
console.log(`${city.cityEn}: ${time}`);
return { city, time };
} catch (error) {
console.error('Error fetching city data:', error);
}
}
// Usage example
getCityTime('tokyo');
getCityTime('new-york');
getCityTime('london');Python Example
import requests
from datetime import datetime
import pytz
def get_city_time(city_id):
"""Get city time information"""
try:
# Fetch city data
response = requests.get(f'https://worldtimeapp.online/api/cities/{city_id}')
city = response.json()
# Get timezone info
timezone = pytz.timezone(city['timezone'])
current_time = datetime.now(timezone)
print(f"{city['cityEn']}: {current_time.strftime('%H:%M:%S')}")
return {
'city': city,
'time': current_time.strftime('%H:%M:%S'),
'date': current_time.strftime('%Y-%m-%d')
}
except Exception as e:
print(f"Error: {e}")
return None
# Usage example
get_city_time('tokyo')
get_city_time('new-york')
get_city_time('london')React Component Example
import React, { useState, useEffect } from 'react';
function WorldClock({ cityId }) {
const [cityData, setCityData] = useState(null);
const [currentTime, setCurrentTime] = useState('');
useEffect(() => {
// Fetch city data
fetch(`/api/cities/${cityId}`)
.then(response => response.json())
.then(data => setCityData(data))
.catch(error => console.error('Error:', error));
}, [cityId]);
useEffect(() => {
if (!cityData) return;
// Update time
const updateTime = () => {
const now = new Date();
const formatter = new Intl.DateTimeFormat('en-US', {
timeZone: cityData.timezone,
hour12: false,
hour: '2-digit',
minute: '2-digit',
second: '2-digit'
});
setCurrentTime(formatter.format(now));
};
updateTime();
const interval = setInterval(updateTime, 1000);
return () => clearInterval(interval);
}, [cityData]);
if (!cityData) return <div>Loading...</div>;
return (
<div className="city-clock">
<h3>{cityData.cityEn}</h3>
<div className="time">{currentTime}</div>
<div className="timezone">{cityData.timezone}</div>
<div className="country">{cityData.countryEn}</div>
</div>
);
}
export default WorldClock;API Documentation
Base URL
https://worldtimeapp.online/apiSupported Formats
JSON
Rate Limits
Maximum 60 requests per minute
Error Handling
API returns standard HTTP status codes. 404 for city not found, 500 for server errors.
Get Started
Start using our API today to add global timezone functionality to your applications
View Live Demo