Space Telescope Observations Near a Position (MAST)
mast/observations-near
Public space-telescope observations in the MAST archive (CAOM: HST, JWST, TESS, GALEX, Swift, SDSS, Pan-STARRS and more) within a radius of a sky position (right ascension and declination in degrees, ICRS; radius in degrees, 0.001 to 1), paged: the collection, instrument, target name, observation id, position, data product type, calibration level, start and end time (Modified Julian Date), exposure seconds, wavelength region, filters, proposal id and principal investigator, title, public release date (MJD), and the data and preview URLs when MAST gives them. totalRows is the number of public matches before paging (not capped); it counts every row the archive matched, including any the tool then withholds as DSS or Guide Star rows (withheldRows says how many were dropped from the page). The archive has no stable sort order and lists some observations twice, so consecutive pages can repeat or miss rows: use a small radius and a large pageSize instead of walking many pages. Only public data is returned: exclusive-access observations and the copyrighted DSS and Guide Star collections are left out. Source: Mikulski Archive for Space Telescopes (MAST), STScI. Modified by Eden Engine (fields renamed and reduced). Served by Eden Engine; not an official STScI service.
Price
$0.0026 per call
You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $0.50.
Data source
Mikulski Archive for Space Telescopes (MAST)
Source: Mikulski Archive for Space Telescopes (MAST), Space Telescope Science Institute (STScI), https://mast.stsci.edu. Most MAST data are public domain; please acknowledge the originating mission and STScI (https://archive.stsci.edu/publishing/data-attributions). Modified by Eden Engine (fields renamed and reduced). Served by Eden Engine; not an official STScI service.
Use it
Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.
Connect once and your AI can find and run this tool, and any other it needs.
// 1. search: find the tool
omnial_search({ query: "what you need" })
// 2. inspect: price and input schema
omnial_inspect({ tool: "mast/observations-near" })
// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "mast/observations-near" })
// 4. run: price the exact call first, then run it
omnial_execute({ tool: "mast/observations-near", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "mast/observations-near", input: { /* ... */ } })
// 5. settle: the call is charged when it finishes, nothing to doNot connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.
Pricing
Every charge this tool can incur.
| Charge | Price |
|---|---|
Per call | $0.0026 |
- Updated
- Oct 26, 2026
Input and output schemas
Input schema
{
"type": "object",
"required": [
"ra",
"dec",
"radius"
],
"properties": {
"ra": {
"type": "number",
"maximum": 360,
"minimum": 0,
"description": "Right ascension in degrees (ICRS), 0 to 360."
},
"dec": {
"type": "number",
"maximum": 90,
"minimum": -90,
"description": "Declination in degrees (ICRS), -90 to 90."
},
"page": {
"type": "integer",
"default": 1,
"maximum": 200,
"minimum": 1,
"description": "Page number, from 1. At most 200."
},
"radius": {
"type": "number",
"maximum": 1,
"minimum": 0.001,
"description": "Search radius in degrees, 0.001 to 1."
},
"pageSize": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Rows per page, 1 to 100. Default 25."
}
},
"additionalProperties": false
}Output schema
{
"type": "object",
"required": [
"rows"
],
"properties": {
"page": {
"type": [
"integer",
"null"
],
"description": "Page returned."
},
"rows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"raDeg": {
"type": [
"number",
"null"
],
"description": "Right ascension of the observation centre in degrees (ICRS)."
},
"title": {
"type": [
"string",
"null"
],
"description": "Observation title, when given."
},
"decDeg": {
"type": [
"number",
"null"
],
"description": "Declination of the observation centre in degrees (ICRS)."
},
"endMjd": {
"type": [
"number",
"null"
],
"description": "Observation end, Modified Julian Date (days)."
},
"dataUrl": {
"type": [
"string",
"null"
],
"description": "Link to the data, when MAST gives one."
},
"filters": {
"type": [
"string",
"null"
],
"description": "Filter or grating names."
},
"startMjd": {
"type": [
"number",
"null"
],
"description": "Observation start, Modified Julian Date (days)."
},
"collection": {
"type": [
"string",
"null"
],
"description": "Archive collection, for example HST, JWST, TESS."
},
"instrument": {
"type": [
"string",
"null"
],
"description": "Instrument name."
},
"previewUrl": {
"type": [
"string",
"null"
],
"description": "Link to a preview image, when MAST gives one."
},
"proposalId": {
"type": [
"string",
"null"
],
"description": "Observing proposal id."
},
"releaseMjd": {
"type": [
"number",
"null"
],
"description": "Date the data became public, Modified Julian Date (days)."
},
"targetName": {
"type": [
"string",
"null"
],
"description": "Target name as the observer gave it."
},
"observationId": {
"type": [
"string",
"null"
],
"description": "Observation id within the collection."
},
"dataProductType": {
"type": [
"string",
"null"
],
"description": "image, spectrum, timeseries, cube and so on."
},
"exposureSeconds": {
"type": [
"number",
"null"
],
"description": "Exposure time in seconds."
},
"calibrationLevel": {
"type": [
"integer",
"null"
],
"description": "CAOM calibration level, an integer; higher means more processed (3 is a calibrated science product)."
},
"wavelengthRegion": {
"type": [
"string",
"null"
],
"description": "Wavelength region, for example Optical, Infrared."
},
"principalInvestigator": {
"type": [
"string",
"null"
],
"description": "Principal investigator, as published."
}
},
"additionalProperties": false
},
"description": "Observations on this page."
},
"pageSize": {
"type": [
"integer",
"null"
],
"description": "Rows per page."
},
"totalRows": {
"type": [
"integer",
"null"
],
"description": "Public matches before paging, as counted by the archive (not capped). Includes rows the tool withholds as DSS or Guide Star; paging order is not stable, so pages can repeat or miss rows."
},
"withheldRows": {
"type": "integer",
"description": "Rows dropped from this page as non-public or copyrighted."
}
},
"additionalProperties": false
}