Migration

Migration steps to the new API

On March 28th, 2025, ScriptBlox has entered a new reality. With growing popularity and increased traffic, there was a limit to how many performance improvements, new features, and bug fixes we can release on the website alone. We understood that in order to meet the new demands, we must also begin updating our API.

From that day on, we are actively looking for ways to optimize our API structure and responses.

For each such change that requires adaptation in services utilizing the API, this page will provide the exact change, release date, the reasoning, and the migration steps for the change.

Changes to script searching/fetching endpoints (released: March 28, 2025)

The script search and fetch endpoints have received a major change in accepted parameters.

What changed

The filters parameter has been deprecated in favor of more explicit, separate parameters.

Reason for change

Having separate top level parameters for filters provides more explicit context for the request. It avoids ambiguity between filters and sorts and makes it easier to expand and provide more thorough and fine-tuned filtering capabilities.

Migration steps

Remove all filters and replace each with their respective top level parameter.

  • filters=paid/filters=free has been removed entirely due to the existence of the mode parameter (mode=paid/mode=free)
    - https://scriptblox.com/api/script/fetch?filters=free
    + https://scriptblox.com/api/script/fetch?mode=free
    
  • filters=verified/filters=unverified should be replaced with the verified parameter (verified=1/verified=0)
    - https://scriptblox.com/api/script/fetch?filters=unverified
    + https://scriptblox.com/api/script/fetch?verified=0
    
  • filters=newest/filters=oldest/filters=mostviewed/filters=leastviewed should be replaced with the order parameter along with the sortBy parameter (sortBy=createdAt&order=desc/sortBy=createdAt&order=asc/sortBy=views&order=desc/sortBy=views&order=asc)
    - https://scriptblox.com/api/script/fetch?filters=mostviewed
    + https://scriptblox.com/api/script/fetch?sortBy=views&order=desc
    
  • filters=hot should be replaced with a request to the dedicated endpoint. More information here.
    - https://scriptblox.com/api/script/fetch?filters=hot
    + https://scriptblox.com/api/script/trending
    

Fallback grace period

The grace period has expired. The grace period explanation is reserved for historic purposes

If migration isn't possible immediately, a grace period is provided during which you must add the legacy_filters parameter to the request (legacy_filters=true).

- https://scriptblox.com/api/script/fetch?filters=verified
+ https://scriptblox.com/api/script/fetch?filters=verified&legacy_filters=true

Without this parameter, your queries will result in an error.

This is done to ensure you have adequate time to migrate safely and without long term disruptions.

However, once the grace period expires, this parameter will be sunset and lose all effect, and you will be met with an error response if the filters key is kept in use.

Changes to script tags (released: March 28, 2025)

The tags have had a change in structure.

What changed

The tags are now a plain array of strings, as opposed to an array of objects.

Reason for change

The previous approach did not have much benefit, as it was contributing to more clutter and payload size, and have not had any effect on the overall behavior. The new approach simplifies it, and brings some performance improvements to our end.

Migration steps

Remove all references to _id and id in tags, as these have been removed.

Remove all references to name, as the tag is now the value.

tag["name"] -> tag

Fallback grace period

The grace period has expired. The grace period explanation is reserved for historic purposes

If migration isn't possible immediately, a grace period is provided during which you can add the legacy_tags parameter to the request (legacy_tags=true), that will return the tags to the previous state (albeit with randomized ID's).

- https://scriptblox.com/api/script/[slug]
+ https://scriptblox.com/api/script/[slug]?legacy_tags=true

Changes to script images (released: March 28, 2025)

The images of scripts have been slightly changed in structure.

What changed

The images of the scripts have been moved into the direct image property.

Reason for change

The new approach heavily simplifies game handling on our end. It brings major performance improvements and allows us to better handle fallback images if a custom image is unavailable. Additionally, it brings us the future capabilities to further expand the script filtering system by game.

Migration steps

All references of game.imageUrl should be replaced with image.

game["imageUrl"] -> image

Fallback grace period

The grace period has expired. The grace period explanation is reserved for historic purposes

If migration isn't possible immediately, a grace period is provided during which you can add the legacy_img parameter to the request (legacy_img=true), that will return the image in the game.imageUrl, as it was previously.

- https://scriptblox.com/api/script/[slug]
+ https://scriptblox.com/api/script/[slug]?legacy_img=true

© 2025 ScriptBlox.
All rights reserved.