Caution: You are viewing documentation for the API's REST interface. Most of our official client libraries use gRPC. See the
REST Introduction for details.
Service Methods
Stay organized with collections
Save and categorize content based on your preferences.
The design of the Google Ads API differs from a traditional REST architecture
because it primarily uses custom methods, such as search
and mutate,
instead
of the more traditional list
, get
, create
, update
, and delete
methods.
These actions are expressed in REST URLs by using the HTTP mapping
convention of a :
to separate the custom verb from the rest of the URL.
For example, a campaign mutate API call uses the following URL:
https://googleads.googleapis.com/v21/customers/1234567890/campaigns:mutate
One reason that the API uses custom methods is to enable batching of multiple
operations into a single API request. Strict REST semantics would only allow
updating one campaign at a time. A traditional REST
update
to a
campaign, for example, would require sending one HTTP PATCH request per campaign
resource.
To allow many operations to be bundled together within a single request body,
the Google Ads API instead defines a custom mutate
method for most resources.
Similarly, to enable batch reads (fetching many objects at once) from the API,
the API uses a custom search
method with a SQL-like Google Ads Query
Language.
The Common methods page goes into detail on
the most frequently used methods in the Google Ads 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 2025-08-25 UTC.
[null,null,["Last updated 2025-08-25 UTC."],[[["\u003cp\u003eThe Google Ads API utilizes custom methods like \u003ccode\u003esearch\u003c/code\u003e and \u003ccode\u003emutate\u003c/code\u003e instead of standard REST methods for efficiency and batch operations.\u003c/p\u003e\n"],["\u003cp\u003eThis approach allows for updating multiple campaigns or fetching numerous objects within a single request, unlike traditional REST.\u003c/p\u003e\n"],["\u003cp\u003eCustom methods are expressed in REST URLs using a colon to separate the verb from the rest of the URL, for example, \u003ccode\u003ehttps://googleads.googleapis.com/v18/customers/1234567890/campaigns:mutate\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eBatching operations, like updating many campaigns simultaneously, are enabled through the custom \u003ccode\u003emutate\u003c/code\u003e method, improving efficiency over individual requests.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003esearch\u003c/code\u003e method uses a SQL-like query language for batch reads, enabling retrieval of multiple objects in one API call.\u003c/p\u003e\n"]]],["The Google Ads API uses custom methods like `search` and `mutate` instead of standard REST methods (e.g., `list`, `get`). This is indicated in URLs by a `:` separator. `Mutate` enables batching multiple operations into one request, unlike standard `update`, which handles one campaign at a time. Similarly, `search` allows fetching multiple objects in a single request, utilizing a SQL-like query language. This deviates from REST conventions to facilitate efficient batch processing and querying.\n"],null,["# Service Methods\n\nThe design of the Google Ads API differs from a traditional REST architecture\nbecause it primarily uses custom methods, such as `search` and `mutate,` instead\nof the more traditional `list`, `get`, `create`, `update`, and `delete` methods.\nThese actions are expressed in REST URLs by using the [HTTP mapping](https://cloud.google.com/apis/design/custom_methods#http_mapping)\nconvention of a `:` to separate the custom verb from the rest of the URL.\n\nFor example, a campaign mutate API call uses the following URL: \n\n https://googleads.googleapis.com/v21/customers/1234567890/campaigns:mutate\n\nOne reason that the API uses custom methods is to enable batching of multiple\noperations into a single API request. Strict REST semantics would only allow\nupdating one campaign at a time. A traditional REST\n[`update`](https://cloud.google.com/apis/design/standard_methods#update) to a\ncampaign, for example, would require sending one HTTP PATCH request per campaign\nresource.\n\nTo allow many operations to be bundled together within a single request body,\nthe Google Ads API instead defines a custom `mutate` method for most resources.\nSimilarly, to enable batch reads (fetching many objects at once) from the API,\nthe API uses a custom `search` method with a SQL-like [Google Ads Query\nLanguage](/google-ads/api/docs/query/overview).\n\nThe [Common methods](/google-ads/api/rest/common/overview) page goes into detail on\nthe most frequently used methods in the Google Ads API."]]