Skip to main content
GET
/
v1
/
scripts
/
search
Search
curl --request GET \
  --url https://api.roscripts.io/v1/scripts/search
import requests

url = "https://api.roscripts.io/v1/scripts/search"

response = requests.get(url)

print(response.text)
const options = {method: 'GET'};

fetch('https://api.roscripts.io/v1/scripts/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.roscripts.io/v1/scripts/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "https://api.roscripts.io/v1/scripts/search"

req, _ := http.NewRequest("GET", url, nil)

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://api.roscripts.io/v1/scripts/search")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.roscripts.io/v1/scripts/search")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
{
  "result.query": "<string>",
  "result.scripts[].matched": [
    "<string>"
  ]
}
Full-text search over titles, descriptions, tags, games, and creators. Typo-tolerant, with synonym handling (e.g. “autofarm” matches “auto farm”). Defaults to relevance (accuracy) sorting and annotates each result with the fields that matched.
curl "https://api.roscripts.io/v1/scripts/search?q=blox%20fruits&max=10"

Query parameters

q
string
required
The search query.
page
integer
default:"1"
max
integer
default:"20"
Max 20 anonymous, 100 with a key.
sortBy
string
default:"accuracy"
accuracy (relevance), or any of views, likeCount, dislikeCount, createdAt, updatedAt, score.
order
string
default:"desc"
All filters from the fetch endpointmode, key, universal, verified, patched, placeId, game, tag, ui, owner, minViews, hasThumbnail, fields — work here too.
Search is on a tighter per-minute budget than other endpoints (see Rate limits). Debounce user typing — don’t fire a request per keystroke. For autocomplete, use /v1/suggest instead.

Response

Same shape as fetch, plus:
result.query
string
The query you searched.
result.scripts[].matched
string[]
Which fields matched, e.g. ["title","tags"].
{
  "result": {
    "query": "blox fruits",
    "scripts": [
      { "id": "lst_…", "title": "Blox Fruits Hub", "matched": ["title", "game"], "loadstring": "https://script.roscripts.io/…" }
    ],
    "page": 1, "max": 10, "total": 41, "totalPages": 5, "nextPage": 2
  },
  "meta": { "page": 1, "max": 10, "total": 41, "totalPages": 5, "nextPage": 2, "nextCursor": null }
}