DR1 APIs

There are a couple of APIs which can be used to access eROSITA information from your own programs.

On this page

1 Simple cone search API

The eROSITA source catalogues can be access via a Simple Cone Search API, supported by many programs or libraries. The URL for doing this is


      https://erosita.mpe.mpg.de/dr1/erodat/catalogue/SCS?CAT={CATALOGUE}&RA={RA}&DEC={DEC}&SR={RADIUS}&VERB={VERBOSITY}
  

In this URL change {CATALOGUE} to be one of DR1_Main, DR1_Hard, DR1_Supp and DR1_Clusters. {RA} and {DEC} give the position to search around (decimal degrees). {RADIUS} is the search radius in degrees (maximum 5). {VERBOSITY} selects which columns to return (1 gives the fewest, 3 all columns). Please find an example URL here.

For TOPCAT, the URL https://erosita.mpe.mpg.de/dr1/erodat/catalogue/SCS?CAT=DR1_Main can be used to search the main catalogue.

2 Upper limit API

There is an API for accessing the upper limits (see also here). See the paper Tubín-Arenas et al. (2023) for further details of how these are calculated. The URL for accessing the service follows


      https://sciserver.mpe.mpg.de/erosita-ul/ULbyHP/{BAND}/{HEALPIXIDX}
  

Where {BAND} is an eROSITA band (e.g. 024) and {HEALPIXIDX} is the HEALPix index (ICRS, nside=2**16) of the coordinate of interest. An example URL is here. Example code in Python for calculating the index and obtaining the upper limits is:


      import requests
      from astropy_healpix import HEALPix
      from astropy.coordinates import SkyCoord

      hpix = HEALPix(nside=2**16, order='nested', frame='icrs')
      coord = SkyCoord(200., 3., unit='deg')
      hpidx = hpix.skycoord_to_healpix(coord)
      
      band = '024'
      url = f'https://sciserver.mpe.mpg.de/erosita-ul/ULbyHP/{band}/{hpidx}'
      req = requests.get(url)
      assert req.status_code == 200
      print(req.json())
  

Please note that more than one entry can be returned by the service for coordinates with overlapping sky tiles. The user should choose the entry which matches the canonical sky tile for the coordinate, as can be found using the FITS table provided. The results from the query are JSON format data.

If you would like the upper limits for a large number of coordinates, there exists a second interface where a list of HEALPix indices can be POSTed to the upper limit service:


    import requests

    HPidxList = [4438400831, 49976614773]
    url = "https://sciserver.mpe.mpg.de/erosita-ul/ULbyHPlist/024/"
    req = requests.post(url, json=HPidxList)
    assert req.status_code == 200
    print(req.json())
  

Again, the user must choose the result for the canonical sky tile, in the case of positions where there are results for multiple sky tiles.

There exists an alternative API which does not require a HEALPix index and only returns the result for the main sky tile for the position. The URL scheme for this API (example here) follows


      https://erosita.mpe.mpg.de/dr1/erodat/upperlimit/service?ra={RA}&dec={DEC}&band={BAND}
  

3 Skytile search API

To convert sky positions to a list of skytiles, use this API:


      https://erosita.mpe.mpg.de/dr1/erodat/skyview/skytile_search_api/?RA={RA}&DEC={DEC}&RAD={RAD}
  

{RA} and {DEC} give the position to search around (decimal degrees). {RAD} is the optional maximum radius in decimal degrees (default 0 for a point). The returned data is in a JSON format (use json.loads in Python). An example is this sky position. The tiles attribute returns a list of tiles. Each tile has the number (srvmap), distance to the position (srvmap), whether it is the eROSITA-DE sky (de_sky) and the RA and Dec range (ra_min, ra_max, de_min, de_max) and distance to the position in degrees (dist_deg). The result can be loaded in Python using the requests module, e.g. requests.get(URL).json().