HttpService "Trust Check Failed" Error

Hello!

I’m trying to make a system that fetches a bunch of songs from the catalogue via a HttpService:GetAsync(). However, I always get this error:
TrustCheckError
I only get this error using this code:

httpService:GetAsync("https://search.roblox.com/catalog/json?Subcategory=6&SortType3&ResultsPerPage=1"..audioToSearchFor.."", false)

I tried changing the “roblox.com” to “rprxy.xyz” which is a web API I found in a dev forum post from not too long ago but I end up getting this from the output:
Screenshot_4

I have done some researching and apparently it’s due to Roblox not wanting to DDoS themselves or something. Either way, I cannot find any way of properly searching the Roblox website as a whole via my script, making an ingame audio catalogue impossible right now.

If anyone can help me here, I would massively appreciate it!
Cheers :smiley:

Note: Yes Http Requests are enabled, I didn’t forget that before y’all ask me that lmao.

3 Likes

Requests to roblox.com are denied, ironically. Roblox doesn’t plan its systems very well. You’ll ned to use a proxy of some sort. Some services exist for this, but I wouldn’t trust them and recommend self-hosting on AWS or something, if that’s a possibility for you. rprxy was blocked as well for some reason, but other proxies should work.

4 Likes

Just going to defend ROBLOX here:
ROBLOX does not want to get DDOSed by its own servers. It is working perfectly fine.

You can read it all here:

5 Likes

Not going to derail the thread further with additional replies, but it’s poor design that should’ve been addressed years ago, and that the DDoSing excuse is just to save engineering time. This isn’t an inherent problem to having that functionality. Maybe someone should bump a feature request.

1 Like

I’m pretty sure it’s because Studio is an internal system which can’t be limited through the 500 requests per minute system because then something may not work.

I cannot define ‘something’ as I have no idea myself.

I doubt it is because the engineering team can’t be asked (they get paid to do it, if anything they’d feel obliged to).

1 Like

Module

local Http = {}

local HttpService = game:GetService("HttpService");
local Proxy = "https://cors-anywhere.herokuapp.com/";

function Http:GET(link)
	local Data = {
		Url = Proxy..link;
		Method = "GET";
		Headers = {
			["x-requested-with"] = "XMLHttpRequest";
			["Content-Type"] = "applicaition/json"
		};
	}
	
	local Success,Res = pcall(HttpService.RequestAsync,HttpService,Data);
	
	if not (Success) then
		warn(Res);
		return {};
	end
	print(Res)	
	if (Success) then
		return Res;
	end
end


return Http

Script

local HttpService = game:GetService("HttpService");
local Players = game:GetService("Players");
local Module = require(script.HttpService);

local Data = Module:GET("https://friends.roblox.com/v1/users/156416/friends");
	
if (Data.StatusCode == 200) then
	local Table = HttpService:JSONDecode(Data.Body);
	print(Table)
end

2 Likes

Your Module & script didn’t work as well when I try to get /v1/games, returning 403.

(I just wanted to bump this up because a lot of people should annoy this thing, and I want to get the proper data.)

1 Like

Read the rest of this thread, also you dont really need to bump considering this is a much more recent thread

Hi there, this is a fairly common issue.

Trust check failed error usually occurs when your trying to send http requests to Roblox sites

If you would like to bypass that you would need to use some sort of proxy

Here’s a proxy that I would suggest you to use

I guess with the 403, it’s an error that shuts down any idea of retrieving the information. Doesn’t work on catalog items either.

UPDATE:

I followed the tutorial given by @TheNexusAvenger over at Using Google Apps As A api.roblox.com And www.roblox.com Proxy. Works like a charm now. Highly recommend to anyone running into this same issue.