Endpoint
Or
Response
GET
/api/executor
Response
{
...
"arceusx": {
"androidversion": "2.x.x", "android": "... (link download)", "iosversion": "2.x.x", "ios": "... (link download)" } ... }
"androidversion": "2.x.x", "android": "... (link download)", "iosversion": "2.x.x", "ios": "... (link download)" } ... }
Code Example
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Saturn Executor</title>
</head>
<body>
<button onclick="getExecutor()">Get Executor Links</button>
<div id="result"></div>
<script>
async function getExecutor() {
const res = await fetch('https://api.saturn.web.id/api/executor');
const data = await res.json();
const out = document.getElementById('result');
out.innerHTML = '';
for (const [name, info] of Object.entries(data)) {
out.innerHTML += `
<h3>${name}</h3>
<p>Android ${info.androidversion}:
<a href="${info.android}">Download</a></p>
<p>iOS ${info.iosversion}:
<a href="${info.ios}">Download</a></p>
`;
}
}
</script>
</body>
</html>
const URL = 'https://api.saturn.web.id/api/executor';
async function getExecutor() {
const res = await fetch(URL);
if (!res.ok) throw new Error(`HTTP error: ${res.status}`);
const data = await res.json();
return data;
}
// Usage
getExecutor()
.then(data => {
for (const [name, info] of Object.entries(data)) {
console.log(`${name} (${info.androidversion}): ${info.android}`);
}
})
.catch(console.error);
import requests
URL = "https://api.saturn.web.id/api/executor"
def get_executor() -> dict:
res = requests.get(URL)
res.raise_for_status()
return res.json()
# Usage
data = get_executor()
for name, info in data.items():
print(name, info["androidversion"], info["android"])
<?php
function getExecutor() {
$ch = curl_init('https://api.saturn.web.id/api/executor');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPGET => true,
]);
$body = curl_exec($ch);
curl_close($ch);
return json_decode($body, true);
}
// Usage
$data = getExecutor();
foreach ($data as $name => $info) {
echo $name . ' - Android: ' . $info['android'] . "\n";
}
package main
import (
"encoding/json"
"fmt"
"net/http"
)
type ExecutorInfo struct {
AndroidVersion string `json:"androidversion"`
Android string `json:"android"`
IosVersion string `json:"iosversion"`
Ios string `json:"ios"`
}
func getExecutor() (map[string]ExecutorInfo, error) {
res, err := http.Get("https://api.saturn.web.id/api/executor")
if err != nil { return nil, err }
defer res.Body.Close()
var data map[string]ExecutorInfo
json.NewDecoder(res.Body).Decode(&data)
return data, nil
}
func main() {
data, _ := getExecutor()
for name, info := range data {
fmt.Printf("%s: %s\n", name, info.Android)
}
}
import java.net.URI;
import java.net.http.*;
public class SaturnApi {
private static final String URL =
"https://api.saturn.web.id/api/executor";
public static String getExecutor() throws Exception {
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(URL))
.GET()
.build();
HttpResponse<String> response = client.send(
request, HttpResponse.BodyHandlers.ofString()
);
return response.body(); // parse JSON as needed
}
public static void main(String[] args) throws Exception {
System.out.println(getExecutor());
}
}