Listing built-in infoType detectors

Stay organized with collections Save and categorize content based on your preferences.

InfoTypes are types of sensitive data. Cloud Data Loss Prevention supports both built-in and custom infoTypes. You can view all built-in infoTypes in the infoTypes reference, or you can use the DLP API to list all built-in infoTypes programmatically.

The infoTypes.list method lists all built-in infoTypes that are currently supported in Cloud DLP. Each infoType includes the following information:

  • The infoType identifier (ID), the internal name of the infoType.
  • The infoType display name, a human readable infoType name.
  • Whether the infoType is supported by inspection or risk analysis operations.

Code examples

To list all built-in infoType detectors:


  1. In the Google Cloud console, open Cloud DLP.

    Go to Cloud DLP UI

  2. Click the Configuration tab, and then click InfoTypes.

  3. A table containing all built-in infoType detectors appears.


JSON input:


The preceding request, when sent to the indicated endpoint, returns a list of all predefined detectors in the following format, where:

  • [INFOTYPE-NAME] represents the name of the infoType detector.
  • [INFOTYPE-DISPLAY-NAME] represents the display name for the detector
  • "supportedBy" is set to "INSPECT", "RISK_ANALYSIS", or both, depending on whether the detector is supported by inspection or risk analysis operations
  • [INFOTYPE-DESCRIPTION] represents the detector's description.

JSON output:



To learn how to install and use the client library for Cloud DLP, see Cloud DLP client libraries.


public class InfoTypesList {

  public static void main(String[] args) throws IOException {

  // Lists the types of sensitive information the DLP API supports.
  public static void listInfoTypes() throws IOException {
    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests. After completing all of your requests, call
    // the "close" method on the client to safely clean up any remaining background resources.
    try (DlpServiceClient dlpClient = DlpServiceClient.create()) {

      // Construct the request to be sent by the client
      ListInfoTypesRequest listInfoTypesRequest =
              // Only return infoTypes supported by certain parts of the API.
              // Supported filters are "supported_by=INSPECT" and "supported_by=RISK_ANALYSIS"
              // Defaults to "supported_by=INSPECT"
              // BCP-47 language code for localized infoType friendly names.
              // Defaults to "en_US"

      // Use the client to send the API request.
      ListInfoTypesResponse response = dlpClient.listInfoTypes(listInfoTypesRequest);

      // Parse the response and process the results
      System.out.println("Infotypes found:");
      for (InfoTypeDescription infoTypeDescription : response.getInfoTypesList()) {
        System.out.println("Name : " + infoTypeDescription.getName());
        System.out.println("Display name : " + infoTypeDescription.getDisplayName());


To learn how to install and use the client library for Cloud DLP, see Cloud DLP client libraries.

// Imports the Google Cloud Data Loss Prevention library
const DLP = require('@google-cloud/dlp');

// Instantiates a client
const dlp = new DLP.DlpServiceClient();

// The project ID to run the API call under
// const projectId = 'my-project';

// The BCP-47 language code to use, e.g. 'en-US'
// const languageCode = 'en-US';

// The filter to use
// const filter = 'supported_by=INSPECT'

async function listInfoTypes() {
  const [response] = await dlp.listInfoTypes({
    languageCode: languageCode,
    filter: filter,
  const infoTypes = response.infoTypes;
  console.log('Info types:');
  infoTypes.forEach(infoType => {
    console.log(`\t${} (${infoType.displayName})`);



To learn how to install and use the client library for Cloud DLP, see Cloud DLP client libraries.

def list_info_types(language_code=None, result_filter=None):
    """List types of sensitive information within a category.
        language_code: The BCP-47 language code to use, e.g. 'en-US'.
        filter: An optional filter to only return info types supported by
                certain parts of the API. Defaults to "supported_by=INSPECT".
        None; the response from the API is printed to the terminal.
    # Import the client library

    # Instantiate a client.
    dlp =

    # Make the API call.
    response = dlp.list_info_types(
        request={"parent": language_code, "filter": result_filter}

    # Print the results to the console.
    print("Info types:")
    for info_type in response.info_types:
            "{name}: {display_name}".format(
      , display_name=info_type.display_name


To learn how to install and use the client library for Cloud DLP, see Cloud DLP client libraries.

import (

	dlp ""

// infoTypes returns the info types in the given language and matching the given filter.
func infoTypes(w io.Writer, languageCode, filter string) error {
	// languageCode := "en-US"
	// filter := "supported_by=INSPECT"
	ctx := context.Background()
	client, err := dlp.NewClient(ctx)
	if err != nil {
		return fmt.Errorf("dlp.NewClient: %v", err)
	defer client.Close()

	req := &dlppb.ListInfoTypesRequest{
		LanguageCode: languageCode,
		Filter:       filter,
	resp, err := client.ListInfoTypes(ctx, req)
	if err != nil {
		return fmt.Errorf("ListInfoTypes: %v", err)
	for _, it := range resp.GetInfoTypes() {
		fmt.Fprintln(w, it.GetName())
	return nil


To learn how to install and use the client library for Cloud DLP, see Cloud DLP client libraries.

use Google\Cloud\Dlp\V2\DlpServiceClient;

 * Lists all Info Types for the Data Loss Prevention (DLP) API.
 * @param string $filter        (Optional) filter to use
 * @param string $languageCode  (Optional) language code, empty for 'en-US'
function list_info_types(string $filter = '', string $languageCode = ''): void
    // Instantiate a client.
    $dlp = new DlpServiceClient();

    // Run request
    $response = $dlp->listInfoTypes([
        'languageCode' => $languageCode,
        'filter' => $filter

    // Print the results
    print('Info Types:' . PHP_EOL);
    foreach ($response->getInfoTypes() as $infoType) {
            '  %s (%s)' . PHP_EOL,


To learn how to install and use the client library for Cloud DLP, see Cloud DLP client libraries.

using System;
using Google.Cloud.Dlp.V2;

public class InfoTypesList
    public static ListInfoTypesResponse ListInfoTypes(string languageCode, string filter)
        var dlp = DlpServiceClient.Create();
        var response = dlp.ListInfoTypes(
            new ListInfoTypesRequest
                LanguageCode = languageCode,
                Filter = filter

        // Uncomment to print infotypes
        // Console.WriteLine("Info Types:");
        // foreach (var InfoType in response.InfoTypes)
        // {
        //     Console.WriteLine($"\t{InfoType.Name} ({InfoType.DisplayName})");
        // }

        return response;

APIs Explorer

You can list infoType detectors using APIs Explorer:

  1. Go to the APIs Explorer on the API reference page for infoTypes.list by clicking the following button:

    Open APIs Explorer

  2. Uncheck Google OAuth 2.0.

  3. Click Execute.

APIs Explorer sends a request to Cloud DLP, which sends back a JSON object containing all supported infoType detectors.