Overview
Stay organized with collections
Save and categorize content based on your preferences.
What are the Safe Browsing APIs?
The following Safe Browsing APIs are for non-commercial use only. If you need to use APIs
to detect malicious URLs for commercial purposes – meaning “for sale or revenue-generating
purposes” – please refer to the Web Risk API.
The Safe Browsing APIs (v4) let your client applications check URLs against Google's
constantly updated lists of unsafe web resources. Examples of unsafe web resources are social
engineering sites (phishing and deceptive sites) and sites that host malware or unwanted software.
Any URL found on a Safe Browsing list is considered unsafe.
To determine if a URL is on any of the Safe Browsing lists, clients can use either
the Lookup API (v4)
or the Update API (v4).
Lookup API (v4)
The Lookup API lets your client applications send URLs to the Google Safe Browsing server to
check their status. The API is simple and easy to use, as it avoids the complexities of the
Update API.
Advantages:
- Simple URL checks: You send an HTTP
POST
request with the actual URLs,
and the server responds with the state of the URLs (safe or unsafe).
Drawbacks:
- Privacy: URLs are not hashed, so the server knows which URLs you look up.
- Response time: Every lookup request is processed by the server. We don't
provide guarantees on lookup response time.
If you are not too concerned about the privacy of the queried URLs, and you can tolerate the
latency induced by a network request, consider using the Lookup API since it's fairly easy to
use.
Update API (v4)
The Update API lets your client applications download encrypted versions of the Safe Browsing
lists for local, client-side checks of URLs. The Update API is designed for clients that require
high frequency, low-latency verdicts. Several web browsers and software platforms use this
API to protect large sets of users.
Advantages:
- Privacy: You exchange data with the server infrequently (only after a local hash prefix
match) and using hashed URLs, so the server never knows the actual URLs queried by the
clients.
- Response time: You maintain a local database that contains copies of the Safe
Browsing lists; they do not need to query the server every time they want to check a URL.
Drawbacks:
- Implementation: You need to set up a local database and then download, and
periodically update, the local copies of the Safe Browsing lists (stored as
variable-length SHA256 hashes).
- Complex URL checks: You need to know how to canonicalize URLs, create suffix/prefix
expressions, and compute SHA256 hashes (for comparison with the local copies of the Safe
Browsing lists as well as the Safe Browsing lists stored on the server).
If you are concerned about the privacy of the queried URLs or the latency induced by a
network request, use the Update API.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-09-18 UTC.
[null,null,["Last updated 2024-09-18 UTC."],[[["\u003cp\u003eThe Safe Browsing APIs (v4) enable client applications to check URLs against Google's lists of unsafe web resources, including phishing sites and those hosting malware.\u003c/p\u003e\n"],["\u003cp\u003eTwo APIs are available: Lookup API (v4) for simple URL checks and Update API (v4) for local, privacy-focused checks.\u003c/p\u003e\n"],["\u003cp\u003eLookup API (v4) offers ease of use but has privacy and response time limitations.\u003c/p\u003e\n"],["\u003cp\u003eUpdate API (v4) prioritizes privacy and speed but requires more complex implementation and URL handling.\u003c/p\u003e\n"],["\u003cp\u003eThese APIs are for non-commercial use only; commercial users should refer to the Web Risk API.\u003c/p\u003e\n"]]],["Safe Browsing APIs allow client applications to check URLs against Google's unsafe web resource lists, distinguishing between non-commercial and commercial use (Web Risk API). The Lookup API checks URL status via server requests, offering simplicity but compromising privacy and response time. The Update API downloads encrypted lists for local checks, prioritizing privacy and speed but requiring complex implementation, database setup, and hash management. Users can choose between these based on privacy needs and latency tolerance.\n"],null,["# Overview\n\nWhat are the Safe Browsing APIs?\n--------------------------------\n\nThe following Safe Browsing APIs are for non-commercial use only. If you need to use APIs\nto detect malicious URLs for commercial purposes -- meaning \"for sale or revenue-generating\npurposes\" -- please refer to the [Web Risk API](https://cloud.google.com/web-risk).\n\nThe Safe Browsing APIs (v4) let your client applications check URLs against Google's\nconstantly updated lists of unsafe web resources. Examples of unsafe web resources are social\nengineering sites (phishing and deceptive sites) and sites that host malware or unwanted software.\nAny URL found on a Safe Browsing list is considered unsafe.\n\nTo determine if a URL is on any of the Safe Browsing lists, clients can use either\nthe [Lookup API (v4)](/safe-browsing/v4/lookup-api)\nor the [Update API (v4)](/safe-browsing/v4/update-api).\n\nLookup API (v4)\n---------------\n\nThe Lookup API lets your client applications send URLs to the Google Safe Browsing server to\ncheck their status. The API is simple and easy to use, as it avoids the complexities of the\nUpdate API.\n\nAdvantages:\n\n- Simple URL checks: You send an HTTP `POST` request with the actual URLs, and the server responds with the state of the URLs (safe or unsafe).\n\nDrawbacks:\n\n- Privacy: URLs are not hashed, so the server knows which URLs you look up.\n- Response time: Every lookup request is processed by the server. We don't provide guarantees on lookup response time.\n\nIf you are not too concerned about the privacy of the queried URLs, and you can tolerate the\nlatency induced by a network request, consider using the Lookup API since it's fairly easy to\nuse.\n\nUpdate API (v4)\n---------------\n\nThe Update API lets your client applications download encrypted versions of the Safe Browsing\nlists for local, client-side checks of URLs. The Update API is designed for clients that require\nhigh frequency, low-latency verdicts. Several web browsers and software platforms use this\nAPI to protect large sets of users.\n\nAdvantages:\n\n- Privacy: You exchange data with the server infrequently (only after a local hash prefix match) and using hashed URLs, so the server never knows the actual URLs queried by the clients.\n- Response time: You maintain a local database that contains copies of the Safe Browsing lists; they do not need to query the server every time they want to check a URL.\n\nDrawbacks:\n\n- Implementation: You need to set up a local database and then download, and periodically update, the local copies of the Safe Browsing lists (stored as variable-length SHA256 hashes).\n- Complex URL checks: You need to know how to canonicalize URLs, create suffix/prefix expressions, and compute SHA256 hashes (for comparison with the local copies of the Safe Browsing lists as well as the Safe Browsing lists stored on the server).\n\nIf you are concerned about the privacy of the queried URLs or the latency induced by a\nnetwork request, use the Update API."]]