{"openapi":"3.1.0","info":{"title":"BloxLord Public API","version":"1.1.0","description":"High-performance REST API for BloxLord scripts, games, and executors. Requires an active API key passed via Authorization header ('Bearer <KEY>'), 'x-api-key' header, or '?api_key=<KEY>' query parameter. Rate limits (Free key) enforced per client IP: 600 req/min, 200,000 req/day, 120 search/min, 120 raw source/min, max page size 100. Responses are globally cached at Cloudflare edge locations (30-300s).","termsOfService":"https://bloxlord.com/docs/api"},"servers":[{"url":"https://api.bloxlord.com/api/v1"}],"externalDocs":{"description":"Human-readable docs","url":"https://bloxlord.com/docs/api"},"security":[{"BearerAuth":[]},{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"paths":{"/scripts":{"get":{"summary":"List scripts","operationId":"listScripts","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":1},"description":"Page number (1-100)."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","enum":[10,20,30,50,100],"default":20},"description":"Items per page (max 100)."},{"name":"game","in":"query","required":false,"schema":{"type":"string"},"description":"Game slug or placeId."},{"name":"owner","in":"query","required":false,"schema":{"type":"string"},"description":"Author username (case-insensitive)."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["keyless","keysystem"]},"description":"Key system filter. Deprecated aliases: free, key."},{"name":"mobile","in":"query","required":false,"schema":{"type":"boolean"},"description":"Mobile support filter."},{"name":"sort","in":"query","required":false,"schema":{"type":"string","enum":["newest","updated","views","trending","likes"],"default":"newest"},"description":"Sort field."},{"name":"order","in":"query","required":false,"schema":{"type":"string","enum":["asc","desc"],"default":"desc"},"description":"Sort order."}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScriptList"}}}},"400":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"$ref":"#/components/responses/Error"}}}},"/scripts/search":{"get":{"summary":"Search scripts","operationId":"searchScripts","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":3,"maxLength":40},"description":"Search text."},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":1},"description":"Page number (1-100)."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","enum":[10,20,30,50,100],"default":20},"description":"Items per page (max 100)."},{"name":"game","in":"query","required":false,"schema":{"type":"string"},"description":"Filter within game by slug or placeId."},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["keyless","keysystem"]},"description":"Key system filter."},{"name":"mobile","in":"query","required":false,"schema":{"type":"boolean"},"description":"Mobile support filter."}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScriptList"}}}},"400":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"$ref":"#/components/responses/Error"}}}},"/scripts/trending":{"get":{"summary":"Trending and rising scripts","operationId":"trendingScripts","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Trending"}}}},"400":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"$ref":"#/components/responses/Error"}}}},"/scripts/{idOrSlug}":{"get":{"summary":"Script details","operationId":"getScript","parameters":[{"name":"idOrSlug","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScriptDetail"}}}},"400":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"$ref":"#/components/responses/Error"}}}},"/scripts/raw/{idOrSlug}":{"get":{"summary":"Raw Lua source (for loadstring)","operationId":"getRawScript","description":"Plain text. Any query string is ignored by the cache. Errors are Lua-safe comments.","parameters":[{"name":"idOrSlug","in":"path","required":true,"schema":{"type":"string"}},{"name":"api_key","in":"query","required":false,"schema":{"type":"string"},"description":"API key in URL query parameter (required if not sending HTTP headers, e.g. for standard Roblox game:HttpGet)."}],"responses":{"200":{"description":"Lua source","content":{"text/plain":{"schema":{"type":"string"}}}},"404":{"description":"Not found (plain text)","content":{"text/plain":{"schema":{"type":"string"}}}}}}},"/games":{"get":{"summary":"List games","operationId":"listGames","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":1},"description":"Page number (1-100)."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","enum":[10,20,30,50,100],"default":20},"description":"Items per page (max 100)."}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GameList"}}}},"400":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"$ref":"#/components/responses/Error"}}}},"/games/{placeIdOrSlug}":{"get":{"summary":"Get game details","operationId":"getGame","parameters":[{"name":"placeIdOrSlug","in":"path","required":true,"schema":{"type":"string"},"description":"Roblox placeId or game slug."}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GameDetail"}}}},"400":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"$ref":"#/components/responses/Error"}}}},"/executors":{"get":{"summary":"List executors","operationId":"listExecutors","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExecutorList"}}}},"400":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"$ref":"#/components/responses/Error"}}}},"/health":{"get":{"summary":"Health check","operationId":"health","security":[],"responses":{"200":{"description":"OK"}}}}},"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","description":"API key passed in the standard Authorization header as Bearer token."},"ApiKeyHeader":{"type":"apiKey","in":"header","name":"x-api-key","description":"API key passed in custom x-api-key header."},"ApiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"API key passed in URL query string (for Roblox game:HttpGet compatibility)."}},"responses":{"Error":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"RateLimited":{"description":"Rate limited. See the Retry-After header.","headers":{"Retry-After":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"schemas":{"Error":{"type":"object","properties":{"success":{"const":false},"error":{"type":"object","properties":{"code":{"type":"string","enum":["VALIDATION_ERROR","NOT_FOUND","RATE_LIMITED","UNAUTHORIZED","SERVICE_UNAVAILABLE","INTERNAL_ERROR"]},"message":{"type":"string"}}}}},"Meta":{"type":"object","properties":{"page":{"type":"integer"},"limit":{"type":"integer"},"total":{"type":["integer","null"],"description":"Only present for unfiltered listings."},"totalPages":{"type":["integer","null"]},"hasNextPage":{"type":"boolean"},"hasPrevPage":{"type":"boolean"}}},"Script":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"},"slug":{"type":"string"},"thumbnailUrl":{"type":["string","null"]},"game":{"type":["object","null"],"properties":{"name":{"type":"string"},"slug":{"type":"string"},"placeId":{"type":["string","null"]},"iconUrl":{"type":["string","null"]}}},"owner":{"type":"object","properties":{"username":{"type":"string"},"isVerified":{"type":"boolean"},"profileImageUrl":{"type":["string","null"]}}},"tags":{"type":"array","items":{"type":"string"}},"executors":{"type":"array","items":{"type":"string"}},"isMobile":{"type":"boolean"},"hasKey":{"type":"boolean"},"views":{"type":"integer"},"weeklyViews":{"type":"integer"},"likes":{"type":"integer"},"rating":{"type":"object","properties":{"average":{"type":"number"},"count":{"type":"integer"}}},"loads":{"type":"object","description":"Approximate executions.","properties":{"total":{"type":"integer"},"weekly":{"type":"integer"}}},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time","description":"When the public code last changed."},"rawUrl":{"type":"string","format":"uri"},"pageUrl":{"type":"string","format":"uri"}}},"ScriptDetailFields":{"allOf":[{"$ref":"#/components/schemas/Script"},{"type":"object","properties":{"description":{"type":"string"},"features":{"type":"array","items":{"type":"string"}},"discordUrl":{"type":["string","null"]},"loadstring":{"type":"string"},"keyInfo":{"type":"object","description":"Only when hasKey is true.","properties":{"value":{"type":["string","null"]},"isUrl":{"type":"boolean"}}}}}]},"ScriptList":{"type":"object","properties":{"success":{"const":true},"data":{"type":"object","properties":{"scripts":{"type":"array","items":{"$ref":"#/components/schemas/Script"}}}},"meta":{"$ref":"#/components/schemas/Meta"}}},"ScriptDetail":{"type":"object","properties":{"success":{"const":true},"data":{"type":"object","properties":{"script":{"$ref":"#/components/schemas/ScriptDetailFields"}}}}},"Trending":{"type":"object","properties":{"success":{"const":true},"data":{"type":"object","properties":{"trending":{"type":"array","items":{"$ref":"#/components/schemas/Script"}},"rising":{"type":"array","items":{"$ref":"#/components/schemas/Script"},"description":"Created in the last 21 days."}}}}},"GameList":{"type":"object","properties":{"success":{"const":true},"data":{"type":"object","properties":{"games":{"type":"array","items":{"type":"object"}}}},"meta":{"$ref":"#/components/schemas/Meta"}}},"GameDetail":{"type":"object","properties":{"success":{"const":true},"data":{"type":"object","properties":{"game":{"type":"object"}}}}},"ExecutorList":{"type":"object","properties":{"success":{"const":true},"data":{"type":"object","properties":{"executors":{"type":"array","items":{"type":"object"}}}}}}}}}