Caution:You are viewing documentation for the API's REST interface. Most of our official client libraries use gRPC. See theREST Introductionfor details.
Stay organized with collectionsSave and categorize content based on your preferences.
WhileMutate,Search, andSearchStreamare the most common methods
in the Google Ads API, there are many others for specific purposes. All services and
their APIs are documented in thereference documentation.
For example, thecustomer_service.protofile
defines aListAccessibleCustomersmethod, in addition to the standardMutate. Itsgoogle.api.httpannotation describes
how the method maps to HTTP. It uses an HTTPGETwith the custom verblistAccessibleCustomers:
Another example fromcustomer_service.protois
theCreateCustomerClientmethod. Itsgoogle.api.httpannotation describes an
HTTPPOSTusing the custom verbcreateCustomerClient:
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-03 UTC."],[[["\u003cp\u003eWhile \u003ccode\u003eMutate\u003c/code\u003e, \u003ccode\u003eSearch\u003c/code\u003e, and \u003ccode\u003eSearchStream\u003c/code\u003e are commonly used, the Google Ads API offers a wide range of methods for specific tasks, all documented in the REST reference documentation.\u003c/p\u003e\n"],["\u003cp\u003eAll Google Ads API service endpoints, including REST and gRPC, are defined in .proto files using the proto3 Interface Definition Language.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003egoogle.api.http\u003c/code\u003e annotation within these .proto files details how each method maps to HTTP for RESTful interactions, including examples like \u003ccode\u003eListAccessibleCustomers\u003c/code\u003e and \u003ccode\u003eCreateCustomerClient\u003c/code\u003e.\u003c/p\u003e\n"]]],["The Google Ads API includes various methods beyond `Mutate`, `Search`, and `SearchStream`, all detailed in REST documentation. Service endpoints are defined in `.proto` files using proto3. `ListAccessibleCustomers` is a GET method, mapped using the `google.api.http` annotation in the `customer_service.proto` file, and uses custom verb `listAccessibleCustomers`. Similarly, `CreateCustomerClient`, a POST method, uses custom verb `createCustomerClient`, also defined in the same file.\n"],null,["# Other Methods\n\nWhile `Mutate`, `Search`, and `SearchStream` are the most common methods\nin the Google Ads API, there are many others for specific purposes. All services and\ntheir APIs are documented in the\n[reference documentation](/google-ads/api/reference/rpc/v21/overview).\n\nProtocol buffer RPC to REST mappings\n------------------------------------\n\nAll the service endpoints (whether using REST and gRPC) are ultimately defined\nin the\n[.proto files of the services package](https://github.com/googleapis/googleapis/tree/master/google/ads/googleads/v21/services)\nusing the\n[proto3 Interface Definition Language](//cloud.google.com/apis/design/proto3).\n\n### Example: ListAccessibleCustomers\n\nFor example, the [`customer_service.proto`](https://github.com/googleapis/googleapis/tree/master/google/ads/googleads/v21/services/customer_service.proto) file\ndefines a `ListAccessibleCustomers` method, in addition to the standard `Mutate`\n. Its [`google.api.http`](//google.aip.dev/127) annotation describes\nhow the method maps to HTTP. It uses an HTTP `GET` with the custom verb\n`listAccessibleCustomers`: \n\n```css+lasso\nrpc ListAccessibleCustomers(ListAccessibleCustomersRequest)\n returns (ListAccessibleCustomersResponse) {\n option (google.api.http) = {\n get: \"/v21/customers:listAccessibleCustomers\"\n };\n}\n```\n\nThis maps to the\n[customers.listAccessibleCustomers](/google-ads/api/reference/rpc/v21/CustomerService/ListAccessibleCustomers)\nREST method.\n\n### Example: CreateCustomerClient\n\nAnother example from [`customer_service.proto`](https://github.com/googleapis/googleapis/tree/master/google/ads/googleads/v21/services/customer_service.proto) is\nthe `CreateCustomerClient` method. Its `google.api.http` annotation describes an\nHTTP `POST` using the custom verb `createCustomerClient`: \n\n```css+lasso\nrpc CreateCustomerClient(CreateCustomerClientRequest)\n returns (CreateCustomerClientResponse) {\n option (google.api.http) = {\n post: \"/v21/customers/{customer_id=*}:createCustomerClient\"\n body: \"*\"\n };\n option (google.api.method_signature) = \"customer_id,customer_client\";\n}\n```\n\nThis maps to the [customers.createCustomerClient](/google-ads/api/reference/rpc/v21/CustomerService/CreateCustomerClient)\nREST method."]]