IPGeolocation.io · Schema
AstronomyLookupResponse
Response returned by the single-date Astronomy Lookup API. Contains a `location` object with geolocation details for the resolved location, and an `astronomy` object with astronomical event times and positional data for the requested date. The `location` object structure varies based on the lookup method: - Coordinate or location-based lookups return basic geographic fields. - IP-based lookups return extended geolocation fields including continent, country codes, district, and zipcode.
GeocodingIP GeolocationIP IntelligenceIP SecurityASN LookupAbuse ContactTimezoneAstronomyUser AgentThreat IntelligencePublic APIs
Properties
| Name | Type | Description |
|---|---|---|
| ip | string | The IP address used for the astronomy lookup. Returned only when the lookup is performed using the `ip` parameter or when the API resolves the caller's IP automatically (no parameters provided). |
| location | object | Geolocation information associated with the resolved location. For coordinate-based or location-string lookups, only basic geographic fields are returned (latitude, longitude, country, state, city, lo |
| astronomy | object | Astronomical data for the resolved location and requested date. Includes event times for sunrise, sunset, moonrise, moonset, twilight phases, golden hour, blue hour, solar noon, and astronomical midni |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/ipgeolocation/refs/heads/main/json-schema/astronomy-astronomy-lookup-response-schema.json",
"title": "AstronomyLookupResponse",
"description": "Response returned by the single-date Astronomy Lookup API.\n\nContains a `location` object with geolocation details for the\nresolved location, and an `astronomy` object with astronomical\nevent times and positional data for the requested date.\n\nThe `location` object structure varies based on the lookup method:\n- Coordinate or location-based lookups return basic geographic fields.\n- IP-based lookups return extended geolocation fields including\n continent, country codes, district, and zipcode.\n",
"type": "object",
"properties": {
"ip": {
"type": "string",
"description": "The IP address used for the astronomy lookup. Returned only when\nthe lookup is performed using the `ip` parameter or when the API\nresolves the caller's IP automatically (no parameters provided).\n",
"example": "8.8.8.8"
},
"location": {
"type": "object",
"description": "Geolocation information associated with the resolved location.\n\nFor coordinate-based or location-string lookups, only basic geographic\nfields are returned (latitude, longitude, country, state, city, locality,\nelevation).\n\nFor IP-based lookups, extended fields are also returned including\ncontinent codes, country codes, district, zipcode, and other metadata.\n",
"properties": {
"location_string": {
"type": "string",
"description": "The location string provided in the request. Only present when the\n`location` query parameter was used.\n",
"example": "New York, USA"
},
"continent_code": {
"type": "string",
"description": "Two-letter continent code. Returned for IP-based lookups only.",
"example": "NA"
},
"continent_name": {
"type": "string",
"description": "Full name of the continent. Returned for IP-based lookups only.",
"example": "North America"
},
"country_code2": {
"type": "string",
"description": "ISO 3166-1 alpha-2 country code. Returned for IP-based lookups only.\n",
"example": "US"
},
"country_code3": {
"type": "string",
"description": "ISO 3166-1 alpha-3 country code. Returned for IP-based lookups only.\n",
"example": "USA"
},
"country_name": {
"type": "string",
"description": "Common name of the country.",
"example": "United States"
},
"country_name_official": {
"type": "string",
"description": "Official name of the country. Returned for IP-based lookups only.\n",
"example": "United States of America"
},
"is_eu": {
"type": "boolean",
"description": "Indicates whether the country is a member of the European Union.\nReturned for IP-based lookups only.\n"
},
"state_prov": {
"type": "string",
"description": "State, province, or region name.",
"example": "New York"
},
"state_code": {
"type": "string",
"description": "Standardized state or region code. Returned for IP-based lookups only.\n",
"example": "US-NY"
},
"district": {
"type": "string",
"description": "District or administrative subdivision. Returned for IP-based\nlookups only.\n",
"example": "Manhattan"
},
"city": {
"type": "string",
"description": "City name of the location.",
"example": "New York"
},
"locality": {
"type": "string",
"description": "Smaller locality or neighborhood within the city.",
"example": "Midtown West"
},
"zipcode": {
"type": "string",
"description": "ZIP or postal code of the location. Returned for IP-based\nlookups only.\n",
"example": "10001"
},
"latitude": {
"type": "string",
"format": "float",
"description": "Latitude coordinate of the resolved location.",
"example": "40.76473"
},
"longitude": {
"type": "string",
"format": "float",
"description": "Longitude coordinate of the resolved location.",
"example": "-74.00084"
},
"elevation": {
"type": "string",
"description": "Elevation above sea level at the location, in meters.",
"example": "9"
}
}
},
"astronomy": {
"type": "object",
"description": "Astronomical data for the resolved location and requested date.\n\nIncludes event times for sunrise, sunset, moonrise, moonset,\ntwilight phases, golden hour, blue hour, solar noon, and\nastronomical midnight, as well as real-time positional data\nfor the Sun and Moon at the current time of day.\n\nAll timestamp fields (except `current_time` and `day_length`) are\nin `HH:mm` format by default. When the `time_zone` parameter is\nprovided, they are returned as full date-time values in\n`yyyy-MM-dd HH:mm` format.\n",
"properties": {
"time_zone": {
"type": "string",
"description": "The IANA timezone identifier used for timestamp conversion.\nThis field appears only when the `time_zone` query parameter\nwas provided in the request.\n",
"example": "Europe/London"
},
"date": {
"type": "string",
"description": "The date for which astronomical data is returned, in `yyyy-MM-dd` format.",
"example": "2026-03-18"
},
"current_time": {
"type": "string",
"description": "Current local time at the resolved location in `HH:mm:ss.SSS` format.\nUsed as the reference time for real-time positional calculations\n(altitude, azimuth, distance).\n",
"example": "10:15:00.000"
},
"mid_night": {
"type": "string",
"description": "Astronomical midnight (nadir) for the given date, in `HH:mm` format.\n",
"example": "00:06"
},
"night_end": {
"type": "string",
"description": "End of night / start of astronomical twilight in the morning,\nin `HH:mm` format.\n",
"example": "04:49"
},
"morning": {
"type": "object",
"description": "Twilight phase times for either the morning (pre-sunrise) or evening\n(post-sunset) period.\n\nIncludes astronomical, nautical, and civil twilight windows, as well\nas blue hour and golden hour windows commonly used in photography.\n\nAll times are in `HH:mm` format by default. When the `time_zone`\nparameter is provided, times are returned as full date-time values\nin `yyyy-MM-dd HH:mm` format.\n",
"properties": {
"astronomical_twilight_begin": {
"type": "string",
"description": "Start of astronomical twilight. In the morning, this marks the\nend of night; in the evening, this marks the start of night sky.\n",
"example": "04:49"
},
"astronomical_twilight_end": {
"type": "string",
"description": "End of astronomical twilight.",
"example": "05:21"
},
"nautical_twilight_begin": {
"type": "string",
"description": "Start of nautical twilight, when the horizon first becomes visible.\n",
"example": "05:21"
},
"nautical_twilight_end": {
"type": "string",
"description": "End of nautical twilight.",
"example": "05:53"
},
"civil_twilight_begin": {
"type": "string",
"description": "Start of civil twilight, when there is enough light for outdoor\nactivities without artificial lighting.\n",
"example": "05:53"
},
"civil_twilight_end": {
"type": "string",
"description": "End of civil twilight.",
"example": "06:20"
},
"blue_hour_begin": {
"type": "string",
"description": "Start of the blue hour, a period of soft diffused light with a\nblue color tone.\n",
"example": "05:42"
},
"blue_hour_end": {
"type": "string",
"description": "End of the blue hour.",
"example": "06:03"
},
"golden_hour_begin": {
"type": "string",
"description": "Start of the golden hour, a period of warm low-angle light\nfavored by photographers.\n",
"example": "06:03"
},
"golden_hour_end": {
"type": "string",
"description": "End of the golden hour.",
"example": "06:57"
}
}
},
"sunrise": {
"type": "string",
"description": "Time at which the sun rises at the resolved location, in `HH:mm` format.\n",
"example": "06:20"
},
"sunset": {
"type": "string",
"description": "Time at which the sun sets at the resolved location, in `HH:mm` format.\n",
"example": "19:00"
},
"evening": {
"type": "object",
"description": "Twilight phase times for either the morning (pre-sunrise) or evening\n(post-sunset) period.\n\nIncludes astronomical, nautical, and civil twilight windows, as well\nas blue hour and golden hour windows commonly used in photography.\n\nAll times are in `HH:mm` format by default. When the `time_zone`\nparameter is provided, times are returned as full date-time values\nin `yyyy-MM-dd HH:mm` format.\n",
"properties": {
"astronomical_twilight_begin": {
"type": "string",
"description": "Start of astronomical twilight. In the morning, this marks the\nend of night; in the evening, this marks the start of night sky.\n",
"example": "04:49"
},
"astronomical_twilight_end": {
"type": "string",
"description": "End of astronomical twilight.",
"example": "05:21"
},
"nautical_twilight_begin": {
"type": "string",
"description": "Start of nautical twilight, when the horizon first becomes visible.\n",
"example": "05:21"
},
"nautical_twilight_end": {
"type": "string",
"description": "End of nautical twilight.",
"example": "05:53"
},
"civil_twilight_begin": {
"type": "string",
"description": "Start of civil twilight, when there is enough light for outdoor\nactivities without artificial lighting.\n",
"example": "05:53"
},
"civil_twilight_end": {
"type": "string",
"description": "End of civil twilight.",
"example": "06:20"
},
"blue_hour_begin": {
"type": "string",
"description": "Start of the blue hour, a period of soft diffused light with a\nblue color tone.\n",
"example": "05:42"
},
"blue_hour_end": {
"type": "string",
"description": "End of the blue hour.",
"example": "06:03"
},
"golden_hour_begin": {
"type": "string",
"description": "Start of the golden hour, a period of warm low-angle light\nfavored by photographers.\n",
"example": "06:03"
},
"golden_hour_end": {
"type": "string",
"description": "End of the golden hour.",
"example": "06:57"
}
}
},
"night_begin": {
"type": "string",
"description": "Start of night / end of astronomical twilight in the evening,\nin `HH:mm` format.\n",
"example": "20:31"
},
"sun_status": {
"type": "string",
"description": "Represents the current state of the sun relative to the horizon:\n\n- `\"-\"` \u2014 Normal day with both sunrise and sunset occurring.\n- `\"Always above the twilight angle\"` \u2014 The sun does not set\n (perpetual daylight, e.g. polar summer).\n- `\"Always below the twilight angle\"` \u2014 The sun does not rise\n within the current 24-hour period (e.g. polar night).\n",
"example": "-"
},
"solar_noon": {
"type": "string",
"description": "The time when the sun is at its highest point in the sky,\nin `HH:mm` format.\n",
"example": "12:40"
},
"day_length": {
"type": "string",
"description": "Total length of daylight for the date, from sunrise to sunset,\nin `HH:mm` format.\n",
"example": "12:40"
},
"sun_altitude": {
"type": "number",
"format": "float",
"description": "The sun's altitude angle above the horizon at `current_time`,\nmeasured in degrees. Negative values indicate the sun is below\nthe horizon.\n",
"example": 42.5
},
"sun_distance": {
"type": "number",
"format": "float",
"description": "Distance from Earth to the sun at `current_time`, in kilometers.\n",
"example": 148900000.0
},
"sun_azimuth": {
"type": "number",
"format": "float",
"description": "The azimuth angle of the sun at `current_time`, indicating its\ncompass direction in degrees (0\u00b0 = North, 90\u00b0 = East, etc.).\n",
"example": 150.3
},
"moon_phase": {
"type": "string",
"description": "The current phase of the moon, indicating its position in the\nlunar cycle.\n",
"enum": [
"NEW_MOON",
"WAXING_CRESCENT",
"FIRST_QUARTER",
"WAXING_GIBBOUS",
"FULL_MOON",
"WANING_GIBBOUS",
"LAST_QUARTER",
"WANING_CRESCENT"
],
"example": "WAXING_CRESCENT"
},
"moonrise": {
"type": "string",
"description": "Time at which the moon rises at the resolved location, in `HH:mm`\nformat. Returns `\"-:-\"` if the moon does not rise on this date.\n",
"example": "08:45"
},
"moonset": {
"type": "string",
"description": "Time at which the moon sets at the resolved location, in `HH:mm`\nformat. Returns `\"-:-\"` if the moon does not set on this date.\n",
"example": "22:10"
},
"moon_status": {
"type": "string",
"description": "Represents the current state of the moon relative to the horizon:\n\n- `\"-\"` \u2014 Normal day with both moonrise and moonset occurring.\n- `\"Always above the horizon\"` \u2014 The moon does not set within\n the current 24-hour period.\n- `\"Always below the horizon\"` \u2014 The moon does not rise within\n the current 24-hour period.\n",
"example": "-"
},
"moon_altitude": {
"type": "number",
"format": "float",
"description": "The moon's altitude angle above the horizon at `current_time`,\nmeasured in degrees. Negative values indicate the moon is below\nthe horizon.\n",
"example": 15.2
},
"moon_distance": {
"type": "number",
"format": "float",
"description": "Distance from Earth to the moon at `current_time`, in kilometers.\n",
"example": 384400.0
},
"moon_azimuth": {
"type": "number",
"format": "float",
"description": "The azimuth angle of the moon at `current_time`, indicating its\ncompass direction in degrees.\n",
"example": 220.5
},
"moon_parallactic_angle": {
"type": "number",
"format": "float",
"description": "The angle between the celestial pole and the moon's position\nrelative to the observer's location, measured in degrees.\n",
"example": 30.1
},
"moon_illumination_percentage": {
"type": "string",
"description": "The percentage of the moon's surface illuminated by sunlight\nas viewed from Earth. Returned as a string with two decimal\nplaces. Negative values indicate a waning phase.\n",
"example": "25.40"
},
"moon_angle": {
"type": "number",
"format": "float",
"description": "The angular diameter of the moon as observed from Earth,\nmeasured in degrees.\n",
"example": 0.52
}
}
}
}
}