Hi Guys,
I've been using the SafeBrowsing API to tell me when Chrome hits a domain I run with a 'Deceptive' page/
It has been working.
But it has stopped working this morning.
Has a domain go 'deceptive' 12 hours ago and the API is still calling it clean!
I tested it again old domains which it had caught as not clean in the past ... but now it is saying they are clean.
The API is still running and credentials are good (see screenshot below)

Anyone else having this issue?
PS: I tried a new API-Key and still did not work
PPS: I'm using the code from
https://github.com/ekkamai/watchman
hi grofit,
at the bottom of the check.php you can uncomment the last lines to see the full response, have you tried that?
@gunnar - thanks. I'm taking today (sunday off), but will try it first thing monday!
Ok, I found the issue.
You need to use the API to check ALL the URLs on the domain.
If you just put in the top level domain, it will not return a positive unless the whole domain is considered deceptive.
but one or two pages on the domain could be listed as deceptive.
For example if you have domain
http://xyz.com/
And on that you had 10 urls running
http://xyz.com/1.html
http://xyz.com/2.html
http://xyz.com/3.html
...
http://xyz.com/10.html
And If one of those pages (e.g. http://xyz.com/10.html) was flagged as deceptive.
If you wanted to check manually - you would only need to put in top level domain
Go to https://transparencyreport.google.co...g/search?hl=en and enter xyz.com and it would say that one of the pages on the site was deceptive.
BUT if you wanted to use the API you would need to check all 10 specific URLs
If you just checked the top level domain, it would return nothing, since the top level domain is clean ... it is just a specific page on the domain that is considered deceptive.
QUESTION
[1] Does anyone know if there is a way to use the API (or another API) so we only need to enter the top level domain and not each individual URL?
PS: My current workaround is that I updated the check.php script and just have an array of all current active landers I'm running (just did an export from
It just means that every time I run a new lander (e.g. for a test), I'll have to also update the script. Which is not very elegant and takes time - so I'm still interested in seeing if there is a way to make it work just running the top level domain instead of each url in the domain.
You could also connect through API to
Unlikely to be anytime soon, but I’ll look into a fix for watchman.