Stars API

The Stars API provides key statistics for thousands of stars discovered in the known universe.

/v1/stars

HTTP GET

Get a list of stars matching specified parameters. Returns at most 30 results. To access more than 30 results, use the offset parameter to offset results in multiple API calls.

Parameters

At least one of the following parameters is required.

name (optional) - the name of the star. Note that many of the star names contain greek characters.

constellation (optional) - the constellation that the star belongs to.

min_apparent_magnitude (optional) - minimum apparent magnitude brightness of the star.

max_apparent_magnitude (optional) - maximum apparent magnitude brightness of the star.

min_absolute_magnitude (optional) - minimum absolute magnitude brightness of the star.

max_absolute_magnitude (optional) - maximum absolute magnitude brightness of the star.

min_distance_light_year (optional) - minimum distance the star is from Earth in light years.

max_distance_light_year (optional) - maximum distance the star is from Earth in light years.

offset (optional) - number of results to offset for pagination.

Headers

X-Api-Key (required) - API Key associated with your account.

Sample Request URL

Live Demo!

https://api.api-ninjas.com/v1/stars?name=

Sample Response

[
  {
    "name": "Vega",
    "constellation": "Lyra",
    "right_ascension": "18h 36m 56.19s",
    "declination": "+38° 46′ 58.8″",
    "apparent_magnitude": "0.03",
    "absolute_magnitude": "0.58",
    "distance_light_year": "25",
    "spectral_class": "A0Vvar"
  }
]

import requests
name = 'vega'
api_url = 'https://api.api-ninjas.com/v1/stars?name={}'.format(name)
response = requests.get(api_url, headers={'X-Api-Key': 'YOUR_API_KEY'})
if response.status_code == requests.codes.ok:
    print(response.text)
else:
    print("Error:", response.status_code, response.text)
var name = 'vega'
$.ajax({
    method: 'GET',
    url: 'https://api.api-ninjas.com/v1/stars?name=' + name,
    headers: { 'X-Api-Key': 'YOUR_API_KEY'},
    contentType: 'application/json',
    success: function(result) {
        console.log(result);
    },
    error: function ajaxError(jqXHR) {
        console.error('Error: ', jqXHR.responseText);
    }
});
const request = require('request');
var name = 'vega';
request.get({
  url: 'https://api.api-ninjas.com/v1/stars?name=' + name,
  headers: {
    'X-Api-Key': 'YOUR_API_KEY'
  },
}, function(error, response, body) {
  if(error) return console.error('Request failed:', error);
  else if(response.statusCode != 200) return console.error('Error:', response.statusCode, body.toString('utf8'));
  else console.log(body)
});
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;

import com.fasterxml.jackson.databind.ObjectMapper;

URL url = new URL("https://api.api-ninjas.com/v1/stars?name=vega");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestProperty("accept", "application/json");
InputStream responseStream = connection.getInputStream();
ObjectMapper mapper = new ObjectMapper();
JsonNode root = mapper.readTree(responseStream);
System.out.println(root.path("fact").asText());
let name = "vega".addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)
let url = URL(string: "https://api.api-ninjas.com/v1/stars?name="+name!)!
var request = URLRequest(url: url)
request.setValue("YOUR_API_KEY", forHTTPHeaderField: "X-Api-Key")
let task = URLSession.shared.dataTask(with: request) {(data, response, error) in
    guard let data = data else { return }
    print(String(data: data, encoding: .utf8)!)
}
task.resume()
If your programming language is not listed in the Code Example above, you can still make API calls by using a HTTP request library written in your programming language and following the above documentation.