Avatar image for bmetaylor
#1 Edited by bmetaylor (10 posts) -

I have a small VBA application that uses the API to create a personal games list in excel. Recently I have been receiving the "Are you human?" message when visiting the website and most recently I think that my VBA app is also getting that message.

When I check the API homepage it say "You have no current rate limits. Go forth and query." But went I go forth my queries return nothing but the "Are you human?" message .

I don't think that I'm hitting the query limit, since unfortunately I don't get new games at that rate.

I could be that the requests per second is to high... But wouldn't I see that on the API homepage message.

I'm not trying to do anything malicious and any help or direction would be appreciated. I have spend a lot of time on this little app over the years and would be sad to see it die now.

Avatar image for thing2
#2 Edited by Thing2 (15 posts) -

You need to set a custom user agent header so that the API Backend knows you're not a bad guy.

If you send a custom header they can easily track your hits and see if you're DDOS'ing them or just doing some crawling for a project.

I went with (Forum_UserName)-(Use Summary)

ex:

User-Agent: Thing2-Review_Comparison_Project

If you're already doing that then ... you are probably hitting it too quickly - maybe put some artificial delays in there and be a bit "nicer" the backend :)

Avatar image for bmetaylor
#3 Posted by bmetaylor (10 posts) -

I added a user agent header (which I did not have before). However, I'm still getting the same error, even with single requests. Below is my code:

Dim strInput As String

strInput = Cells(1, 1)

strInput = Replace(strInput, " ", "%20")

Dim myURL As String

myURL = "http://api.giantbomb.com/search/?query=" & strInput & "&api_key=XXXXXXX&format=xml&resources=game&field_list=id,name,original_release_date"

Set myrequest = CreateObject("WinHttp.WinHttpRequest.5.1")

myrequest.Open "GET", _

myURL

myrequest.setRequestHeader "User-Agent", "bmetaylor-game_library_app"

myrequest.send

Dim strXML As String

strXML = myrequest.ResponseText

Cells(1, 2) = strXML

Avatar image for bmetaylor
#4 Posted by bmetaylor (10 posts) -

Ok. So today my api requests were working fine again. I added a rate limiter set to 2 seconds between requests to be on the safe side. However, I did see something odd:

While l was testing my new code, I kept checking the Current API Usage on http://www.giantbomb.com/api/. Normally it returned what I expected. However several time I got the message:

"Your API key is currently blocked because you used more than one key at a time. Please stop doing that and wait 24 hours to use only one key."

This is odd for two reasons:

1. I don't have more than one API key and I have checked every place in my code that uses my key and can't find any typos.

2. I'm not getting blocked and when I refresh the page the message goes away.

Has anyone else seen this? I hope that I'm not mistakenly doing something that is going to get me in trouble.

Avatar image for bmetaylor
#5 Edited by bmetaylor (10 posts) -

My app was blocked again. I really can't figure out what I'm doing wrong. I have added the user agent header, I have a rate limiter set to 2 seconds between requests, and I'm not using more than one API key. Any other suggestions? I don't know what to try at this point.

Avatar image for castiel
#6 Edited by Castiel (3277 posts) -

Are we human or are we dancer?

Sorry, I had to do it. I'll see myself out.