IVOA Simple Image Access Extractor
Pricing
from $0.35 / 1,000 image records
IVOA Simple Image Access Extractor
Point at ANY IVOA Simple Image Access (SIA) service — IRSA, SkyView, GAVO, HEASARC, ESO, CADC and thousands of observatory image archives — and list every astronomical image over a sky region: give RA, Dec and a size, get one row per image with its access URL. One actor for the Virtual Observatory.
Pricing
from $0.35 / 1,000 image records
Rating
0.0
(0)
Developer
Datamule
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Point at ANY IVOA Simple Image Access (SIA) service and list every astronomical image over a patch of sky — one row per image, with its access URL. Give a sky position (RA, Dec) and a region size, and this actor returns the metadata for every image whose footprint overlaps that region, from any compliant Virtual Observatory image archive.
One actor speaks to the entire Virtual Observatory. There is no per-archive scraper and no host list to maintain: IRSA / IPAC, NASA SkyView, GAVO, HEASARC, ESO, CADC, NOIRLab, STScI and thousands of national and observatory image archives all expose the identical IVOA Simple Image Access query.
What it does
The Simple Image Access protocol is one HTTP GET:
GET <service>?POS=<ra>,<dec>&SIZE=<deg>
and the reply is a VOTable listing every image covering that region. This actor:
- runs that query against one or many SIA services at once;
- parses the VOTable — TABLEDATA, BINARY and BINARY2 serializations (GAVO / DaCHS services default to BINARY2, which many naive parsers silently drop) — into flat rows;
- surfaces the image access URL as a stable
_accessUrlfield on every row, no matter what the archive calls its own column (IRSA calls itdownload, SkyViewURL, GAVOaccref…), by locating it via the VOTable UCDVOX:Image_AccessReference; - keeps the archive's own native columns (WCS, bounding box, pixel scale, band, exposure, date …) alongside a lossless
_rawcopy.
This is a metadata runner. It returns one row per image with the URL to fetch it — it does not download the FITS / JPEG pixels. Point your own downloader at the _accessUrl values when you want the actual images.
An in-band QUERY_STATUS=ERROR in the VOTable is surfaced as a real error (never a fabricated empty result). A region that genuinely contains no images returns zero rows.
Input
| Field | Required | Description |
|---|---|---|
service | one of service/services | Base URL of a single SIA service. Keep any archive-selecting query parameter (e.g. SkyView's ?SURVEY=DSS) — the actor adds POS/SIZE itself. |
services | one of service/services | List of SIA service URLs to query with the same region at once. Each row is tagged with its _service. |
ra | yes | Right ascension of the region centre, decimal degrees J2000 (0–360). |
dec | yes | Declination of the region centre, decimal degrees J2000 (−90 to +90). |
size | yes | Region size in degrees. A single number is a square (0.1 = 6 arcmin square); width,height gives a rectangle. |
format | no | SIA FORMAT filter, e.g. image/fits, image/jpeg, GRAPHIC, ALL, METADATA. Default: the service's own. |
maxRecords | no | Global cap on rows emitted across all services (each row is one billable event). |
timeoutSecs | no | Per-request read timeout (default 120). |
userAgent | no | Override the request User-Agent. |
bearer | no | Bearer token for an auth-gated deployment (never logged). |
extraHeaders | no | Extra HTTP headers as a JSON object (values never logged). |
Example
{"services": ["https://skyview.gsfc.nasa.gov/cgi-bin/vo/sia.pl?SURVEY=DSS","https://irsa.ipac.caltech.edu/cgi-bin/2MASS/IM/nph-im_sia"],"ra": "10.6847","dec": "41.269","size": "0.1","maxRecords": 1000}
Output
One record per image. Each record contains the archive's own columns plus these stable fields:
| Field | Description |
|---|---|
_accessUrl | The image access URL (the FIELD with UCD VOX:Image_AccessReference). |
_format | The image MIME type (UCD VOX:Image_Format), e.g. image/fits. |
_service | The SIA service the row came from. |
_mode | Always sia. |
_ra, _dec, _size | The region you queried. |
_rowIndex | Global 0-based index across the run. |
_raw | A lossless copy of the archive's native columns for this image. |
{"_accessUrl": "https://irsa.ipac.caltech.edu/cgi-bin/2MASS/IM/nph-im_sia?...","_format": "image/fits","_service": "https://irsa.ipac.caltech.edu/cgi-bin/2MASS/IM/nph-im_sia","_mode": "sia","_ra": 10.6847,"_dec": 41.269,"_size": "0.1","_rowIndex": 12,"_raw": { "...": "archive's native columns" }}
Pricing
Pay-per-event: you are charged per image record returned. No subscription, no rental — you pay only for the rows you receive.
Notes
- The
size=0convention (images covering the exact point) and rectangle sizes (width,height) follow the SIA spec. - Services enforce their own maximum result size and server-side timeouts; a very large region may be truncated by the server (reported as
QUERY_STATUS=OVERFLOW). - Not every service honours the
FORMATfilter; leave it empty for the service default.