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.
Stay organized with collections
Save and categorize content based on your preferences.
This page assumes a familiarity with the Resource Oriented
Design and Resource
Names developer guides and
complements them with specific implementation details of the Google Ads API.
Resource-oriented design
Generally, the Google Ads API follows a resource-oriented design, modeled as
collections of individually-addressable resources (the nouns of the API).
Resources are referenced with their resource names and manipulated using a small
set of methods (also known as verbs or operations).
These resource names and methods, combined
with a specific API version prefix, comprise the URLs of the REST interface.
For example, the URL below can be broken down into these individual components
according to the following table:
All REST URLs for a particular version of the API (e.g., v21)
share a common API version prefix. The resource name and method together
identifies which API service is being called.
The Google Ads API makes heavy use of custom methods, as opposed to most
traditional REST APIs that use standard REST methods such as list, get,
create, update, and delete. Examples of custom methods in the Google Ads API
include search, searchStream, and mutate.
[[["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\u003eThis guide provides Google Ads API implementation details, assuming familiarity with Resource Oriented Design and Resource Names.\u003c/p\u003e\n"],["\u003cp\u003eThe Google Ads API uses a resource-oriented design with resources organized into collections and accessed using resource names and methods.\u003c/p\u003e\n"],["\u003cp\u003eREST URLs in the API consist of an API version prefix, resource name, and method, with custom methods often used.\u003c/p\u003e\n"],["\u003cp\u003eRefer to linked resources for further details on resource names, service methods, and JSON naming conventions within the Google Ads API.\u003c/p\u003e\n"],["\u003cp\u003eExamples in the guide use HTTP; see the Examples page for \u003ccode\u003ecurl\u003c/code\u003e usage.\u003c/p\u003e\n"]]],[],null,["# REST Interface Design\n\nThis page assumes a familiarity with the [Resource Oriented\nDesign](//cloud.google.com/apis/design/resources) and [Resource\nNames](//cloud.google.com/apis/design/resource_names) developer guides and\ncomplements them with specific implementation details of the Google Ads API.\n| **Key Point:** The examples throughout this guide use HTTP protocol to demonstrate how to call the API. See the [Examples](/google-ads/api/rest/examples) page for how you can make these same API calls using the [`curl`](https://curl.haxx.se/) command line utility.\n\nResource-oriented design\n------------------------\n\nGenerally, the Google Ads API follows a resource-oriented design, modeled as\n*collections* of individually-addressable *resources* (the *nouns* of the API).\nResources are referenced with their resource names and manipulated using a small\nset of *methods* (also known as *verbs* or *operations*).\n\nThese [resource names](/google-ads/api/rest/design/resource-names) and [methods](/google-ads/api/rest/design/service-methods), combined\nwith a specific *API version prefix*, comprise the URLs of the REST interface.\nFor example, the URL below can be broken down into these individual components\naccording to the following table: \n\n https://googleads.googleapis.com/v21/customers/1234567890:mutate\n\n| API Version Prefix | Resource Name (relative) | Method |\n|----------------------------------------|--------------------------|----------|\n| `https://googleads.googleapis.com/v21` | `customers/1234567890` | `mutate` |\n\nAll REST URLs for a particular version of the API (e.g., `v21`)\nshare a common API version prefix. The resource name and method together\nidentifies which API service is being called.\n\nThe Google Ads API makes heavy use of *custom methods* , as opposed to most\ntraditional REST APIs that use standard REST methods such as `list`, `get`,\n`create`, `update`, and `delete`. Examples of custom methods in the Google Ads API\ninclude `search`, `searchStream`, and `mutate`.\n\nThe following pages go into more details about the Google Ads API's [resource\nnames](/google-ads/api/rest/design/resource-names), [service methods](/google-ads/api/rest/design/service-methods), and\n[JSON naming conventions](/google-ads/api/rest/design/json-mappings) to illustrate how they're used\ntogether to define REST interface endpoints."]]