Public API
Free JSON endpoints for executor status and scripts. No key and no signup. Responses are cached and allow cross-origin requests, so you can call them straight from a browser.
const res = await fetch('https://www.executors.online/api/executors');
const executors = await res.json();
const working = executors.filter((e) => e.updateStatus);GET/api/executors
Every executor WEAO tracks, in WEAO's own format, including live status, UNC scores and links.
Source: WEAO · Cached for 60 seconds
[
{
"title": "Potassium",
"version": "2.5.0",
"updatedDate": "09/23/2026 at 8:42 PM UTC",
"updateStatus": true, // updated for the current Roblox version
"detected": true, // may be detected by Roblox's anti-cheat
"free": false,
"keysystem": false, // free executors only
"cost": "$22.99 Lifetime", // paid executors only
"platform": "Windows",
"extype": "wexecutor", // w/m/a/i + "executor" (internal) or "external"
"uncPercentage": 99,
"suncPercentage": 100,
"decompiler": true,
"multiInject": true,
"websitelink": "https://...",
"discordlink": "https://...",
"purchaselink": "https://..."
// ...plus any other fields WEAO provides
}
]GET/api/scripts
Browse the ScriptBlox library, or search it when q is set.
Source: ScriptBlox · Cached for 60 seconds
| Parameter | Description |
|---|---|
| q | Search text. Leave it out to browse. |
| page | Page number, starting at 1. |
| max | Results per page, up to 20. |
| mode | "free" or "paid". |
| key | Key system required: true/false (or 1/0). |
| universal | Universal scripts only: true/false. |
| verified | Verified scripts only: true/false. |
| patched | Patched status: true/false. |
| sortBy | "createdAt", "updatedAt", "views", "likeCount" or "dislikeCount". |
| order | "asc" or "desc". |
{
"result": {
"totalPages": 1204,
"scripts": [
{
"title": "...",
"slug": "...",
"game": { "name": "...", "imageUrl": "/images/..." },
"verified": true,
"key": false,
"isUniversal": false,
"isPatched": false,
"views": 12345,
"script": "loadstring(...)()",
"createdAt": "2026-09-01T12:00:00.000Z"
}
]
}
}GET/api/scripts/{slug}
Full details for one script. Add ?raw=true for its source as plain text.
Source: ScriptBlox · Cached for 5 minutes
| Parameter | Description |
|---|---|
| raw | Set to "true" to get the script source as text/plain. |
// JSON by default, or text/plain with ?raw=true
Fair use
- Cache on your side and don't poll more than once a minute. The data doesn't change faster.
- Handle errors. If an upstream source is down, you'll get a 502 with an error message.
- Fields come from WEAO and ScriptBlox and can change when they change, so parse defensively.
- It's free with no uptime guarantee. Abusive traffic gets rate-limited.
Attribution
If you build something with it, credit executors.online somewhere visible. The original data comes from WhatExpsAre.Online and ScriptBlox, so credit them too. ScriptBlox asks for a visible “Powered by ScriptBlox.com” wherever its scripts appear.
This is an unofficial API. It isn't run or endorsed by WhatExpsAre.Online or ScriptBlox, so don't present its data as coming from them directly. Questions? Ask in the Discord.