open-index/open-npm huggingface dataset:
npm package: @maxim_chu/n8n-nodes-clay
Description: n8n node for Clay
Author: Max Chuchmai
Latest version: 3.1.0

# n8n-nodes-clay

Community n8n node package that adds the **Clay** node.

## What this node does

The `Clay` node fans out one request per incoming item to a selected Clay URL and waits for all callbacks before resuming workflow execution.

At execution time it:

1. Reads all input items.
2. Sends a `POST` request for each item to the selected request URL.

- Requests are dispatched with bounded concurrency.

3. Injects a callback URL into each outbound payload.
4. Waits until all callback parts are received.
5. Returns callback payloads in part order.

## Node behavior

- **Node name in n8n UI**: `Clay`
- **Operation model**: send-and-wait-many (fan-out + webhook resume)
- **Input**: any number of items
- **Output**: one item per callback payload

### Parameters

- **Request URL Name or ID**: Selects a URL from the Clay Tables data table.
- **Field Values**: Auto-generated inputs from the selected row's `fields` column.
- **Options**:
  - **Callback Field Name**: Field name used to pass resume URL (default: `resume_url`).
  - **Max Concurrency**: Maximum number of outbound requests running at the same time (default: `5`).
  - **Max Wait Minutes**: Max wait before timeout (default: `30`).

### Clay Tables schema

The `Clay Tables` n8n data table now uses these columns:

- `name`: Friendly name shown in the node selector.
- `url`: Target enrichment webhook URL.
- `fields`: Comma-separated list of input fields to send to Clay (for example `company_domain, company_name`).

At runtime, the node reads the selected table row and builds a strict outbound payload shape:

- `data`: Object containing configured `fields` from Clay Tables.
- `resume_url` (or your configured callback field name): callback URL for Clay.

If `fields` is empty, null, or undefined, no field inputs are generated and the node falls back to sending the full input item JSON in `data`.

## Important limitation

Execution state is currently stored in process memory. This is reliable for single-process deployments. For clustered or multi-instance setups, use an external state store (for example Redis).

## Development

### Prerequisites

- Node.js 22+
- npm

### Install

```bash
npm install
```

### Build

```bash
npm run build
```

### Build in watch mode

```bash
npm run build:watch
```

### Lint

```bash
npm run lint
```

## Package metadata

- npm package: `@maxim_chu/n8n-nodes-clay`
- license: MIT
npm package: @maxim_mazurok/gapi.client.abusiveexperiencereport
Description: TypeScript typings for Abusive Experience Report API v1
Author: Maxim Mazurok
Latest version: 1.0.20220715

# TypeScript typings for Abusive Experience Report API v1

Views Abusive Experience Report data, and gets a list of sites that have a significant number of abusive experiences.
For detailed description please check [documentation](https://developers.google.com/abusive-experience-report/).

## Installing

Install typings for Abusive Experience Report API:

```
npm install @types/gapi.client.abusiveexperiencereport@v1 --save-dev
```

## Usage

You need to initialize Google API client in your code:

```typescript
gapi.load('client', () => {
  // now we can use gapi.client
  // ...
});
```

Then load api client wrapper:

```typescript
gapi.client.load('abusiveexperiencereport', 'v1', () => {
  // now we can use gapi.client.abusiveexperiencereport
  // ...
});
```



After that you can use Abusive Experience Report API resources:

```typescript

/*
Gets a site's Abusive Experience Report summary.
*/
await gapi.client.abusiveexperiencereport.sites.get({ name: "name",  });

/*
Lists sites that are failing in the Abusive Experience Report.
*/
await gapi.client.abusiveexperiencereport.violatingSites.list({  });
```
npm package: @maxim_mazurok/gapi.client.abusiveexperiencereport-v1
Description: TypeScript typings for Abusive Experience Report API v1
Author: Maxim Mazurok
Latest version: 0.2.20260408

# TypeScript typings for Abusive Experience Report API v1

Views Abusive Experience Report data, and gets a list of sites that have a significant number of abusive experiences.
For detailed description please check [documentation](https://developers.google.com/abusive-experience-report/).

## Installing

Install typings for Abusive Experience Report API:

```
npm install @types/gapi.client.abusiveexperiencereport-v1 --save-dev
```

## TypeScript 6.0+

TypeScript 6.0 changed `types` to default to `[]`. You must now explicitly list type packages in `tsconfig.json`:

```json
{
  "compilerOptions": {
    "types": [
      "gapi",
      "gapi.auth2",
      "gapi.client",
      "gapi.client.abusiveexperiencereport-v1"
    ]
  }
}
```

## Usage

You need to initialize Google API client in your code:

```typescript
gapi.load('client', () => {
  // now we can use gapi.client
  // ...
});
```

Then load api client wrapper:

```typescript
gapi.client.load(
  'https://abusiveexperiencereport.googleapis.com/$discovery/rest?version=v1',
  () => {
    // now we can use:
    // gapi.client.abusiveexperiencereport
  },
);
```

```typescript
// Deprecated, use discovery document URL, see https://github.com/google/google-api-javascript-client/blob/master/docs/reference.md#----gapiclientloadname----version----callback--
gapi.client.load('abusiveexperiencereport', 'v1', () => {
  // now we can use:
  // gapi.client.abusiveexperiencereport
});
```

After that you can use Abusive Experience Report API resources: <!-- TODO: make this work for multiple namespaces -->

```typescript
/*
Gets a site's Abusive Experience Report summary.
*/
await gapi.client.abusiveexperiencereport.sites.get({name: 'name'});

/*
Lists sites that are failing in the Abusive Experience Report.
*/
await gapi.client.abusiveexperiencereport.violatingSites.list({});
```

For provenance information see [Provenance section on NPM](https://www.npmjs.com/package/@maxim_mazurok/gapi.client.abusiveexperiencereport-v1#Provenance:~:text=none-,Provenance,-Built%20and%20signed)
npm package: @maxim_mazurok/gapi.client.acceleratedmobilepageurl
Description: TypeScript typings for Accelerated Mobile Pages (AMP) URL API v1
Author: Maxim Mazurok
Latest version: 1.0.20220809

# TypeScript typings for Accelerated Mobile Pages (AMP) URL API v1

Retrieves the list of AMP URLs (and equivalent AMP Cache URLs) for a given list of public URL(s). 
For detailed description please check [documentation](https://developers.google.com/amp/cache/).

## Installing

Install typings for Accelerated Mobile Pages (AMP) URL API:

```
npm install @types/gapi.client.acceleratedmobilepageurl@v1 --save-dev
```

## Usage

You need to initialize Google API client in your code:

```typescript
gapi.load('client', () => {
  // now we can use gapi.client
  // ...
});
```

Then load api client wrapper:

```typescript
gapi.client.load('acceleratedmobilepageurl', 'v1', () => {
  // now we can use gapi.client.acceleratedmobilepageurl
  // ...
});
```



After that you can use Accelerated Mobile Pages (AMP) URL API resources:

```typescript

/*
Returns AMP URL(s) and equivalent [AMP Cache URL(s)](/amp/cache/overview#amp-cache-url-format).
*/
await gapi.client.acceleratedmobilepageurl.ampUrls.batchGet({  });
```
npm package: @maxim_mazurok/gapi.client.acceleratedmobilepageurl-v1
Description: TypeScript typings for Accelerated Mobile Pages (AMP) URL API v1
Author: Maxim Mazurok
Latest version: 0.2.20260408

# TypeScript typings for Accelerated Mobile Pages (AMP) URL API v1

Retrieves the list of AMP URLs (and equivalent AMP Cache URLs) for a given list of public URL(s).
For detailed description please check [documentation](https://developers.google.com/amp/cache/).

## Installing

Install typings for Accelerated Mobile Pages (AMP) URL API:

```
npm install @types/gapi.client.acceleratedmobilepageurl-v1 --save-dev
```

## TypeScript 6.0+

TypeScript 6.0 changed `types` to default to `[]`. You must now explicitly list type packages in `tsconfig.json`:

```json
{
  "compilerOptions": {
    "types": [
      "gapi",
      "gapi.auth2",
      "gapi.client",
      "gapi.client.acceleratedmobilepageurl-v1"
    ]
  }
}
```

## Usage

You need to initialize Google API client in your code:

```typescript
gapi.load('client', () => {
  // now we can use gapi.client
  // ...
});
```

Then load api client wrapper:

```typescript
gapi.client.load(
  'https://acceleratedmobilepageurl.googleapis.com/$discovery/rest?version=v1',
  () => {
    // now we can use:
    // gapi.client.acceleratedmobilepageurl
  },
);
```

```typescript
// Deprecated, use discovery document URL, see https://github.com/google/google-api-javascript-client/blob/master/docs/reference.md#----gapiclientloadname----version----callback--
gapi.client.load('acceleratedmobilepageurl', 'v1', () => {
  // now we can use:
  // gapi.client.acceleratedmobilepageurl
});
```

After that you can use Accelerated Mobile Pages (AMP) URL API resources: <!-- TODO: make this work for multiple namespaces -->

```typescript
/*
Returns AMP URL(s) and equivalent [AMP Cache URL(s)](/amp/cache/overview#amp-cache-url-format).
*/
await gapi.client.acceleratedmobilepageurl.ampUrls.batchGet({});
```

For provenance information see [Provenance section on NPM](https://www.npmjs.com/package/@maxim_mazurok/gapi.client.acceleratedmobilepageurl-v1#Provenance:~:text=none-,Provenance,-Built%20and%20signed)
npm package: @maxim_mazurok/gapi.client.acmedns-v1
Description: TypeScript typings for ACME DNS API v1
Author: Maxim Mazurok
Latest version: 0.0.20240730

# TypeScript typings for ACME DNS API v1

Google Domains ACME DNS API that allows users to complete ACME DNS-01 challenges for a domain.
For detailed description please check [documentation](https://developers.google.com/domains/acme-dns/).

## Installing

Install typings for ACME DNS API:

```
npm install @types/gapi.client.acmedns-v1 --save-dev
```

## Usage

You need to initialize Google API client in your code:

```typescript
gapi.load('client', () => {
  // now we can use gapi.client
  // ...
});
```

Then load api client wrapper:

```typescript
gapi.client.load(
  'https://acmedns.googleapis.com/$discovery/rest?version=v1',
  () => {
    // now we can use:
    // gapi.client.acmedns
  }
);
```

```typescript
// Deprecated, use discovery document URL, see https://github.com/google/google-api-javascript-client/blob/master/docs/reference.md#----gapiclientloadname----version----callback--
gapi.client.load('acmedns', 'v1', () => {
  // now we can use:
  // gapi.client.acmedns
});
```

After that you can use ACME DNS API resources: <!-- TODO: make this work for multiple namespaces -->

```typescript
/*
Gets the ACME challenge set for a given domain name. Domain names must be provided in Punycode.
*/
await gapi.client.acmedns.acmeChallengeSets.get({rootDomain: 'rootDomain'});

/*
Rotate the ACME challenges for a given domain name. By default, removes any challenges that are older than 30 days. Domain names must be provided in Punycode.
*/
await gapi.client.acmedns.acmeChallengeSets.rotateChallenges({
  rootDomain: 'rootDomain',
});
```
npm package: @maxim_mazurok/gapi.client.adexchangebuyer2
Description: TypeScript typings for Ad Exchange Buyer API II v2beta1
Author: Maxim Mazurok
Latest version: 2.0.20220811

# TypeScript typings for Ad Exchange Buyer API II v2beta1

Accesses the latest features for managing Authorized Buyers accounts, Real-Time Bidding configurations and auction metrics, and Marketplace programmatic deals.
For detailed description please check [documentation](https://developers.google.com/authorized-buyers/apis/reference/rest/).

## Installing

Install typings for Ad Exchange Buyer API II:

```
npm install @types/gapi.client.adexchangebuyer2@v2beta1 --save-dev
```

## Usage

You need to initialize Google API client in your code:

```typescript
gapi.load('client', () => {
  // now we can use gapi.client
  // ...
});
```

Then load api client wrapper:

```typescript
gapi.client.load('adexchangebuyer2', 'v2beta1', () => {
  // now we can use gapi.client.adexchangebuyer2
  // ...
});
```

Don't forget to authenticate your client before sending any request to resources:

```typescript
// declare client_id registered in Google Developers Console
var client_id = '',
  scope = [ 
      // Manage your Ad Exchange buyer account configuration
      'https://www.googleapis.com/auth/adexchange.buyer',
    ],
    immediate = true;
// ...

gapi.auth.authorize(
  { client_id: client_id, scope: scope, immediate: immediate },
  authResult => {
    if (authResult && !authResult.error) {
        /* handle successful authorization */
    } else {
        /* handle authorization error */
    }
});
```

After that you can use Ad Exchange Buyer API II resources:

```typescript
```
npm package: @maxim_mazurok/gapi.client.adexchangebuyer2-v2beta1
Description: TypeScript typings for Ad Exchange Buyer API II v2beta1
Author: Maxim Mazurok
Latest version: 0.3.20260409

# TypeScript typings for Ad Exchange Buyer API II v2beta1

Access the latest features for managing Authorized Buyers accounts, Real-Time Bidding configurations and auction metrics, and Marketplace programmatic deals.
For detailed description please check [documentation](https://developers.google.com/authorized-buyers/apis/reference/rest/).

## Installing

Install typings for Ad Exchange Buyer API II:

```
npm install @types/gapi.client.adexchangebuyer2-v2beta1 --save-dev
```

## TypeScript 6.0+

TypeScript 6.0 changed `types` to default to `[]`. You must now explicitly list type packages in `tsconfig.json`:

```json
{
  "compilerOptions": {
    "types": [
      "gapi",
      "gapi.auth2",
      "gapi.client",
      "gapi.client.adexchangebuyer2-v2beta1"
    ]
  }
}
```

## Usage

You need to initialize Google API client in your code:

```typescript
gapi.load('client', () => {
  // now we can use gapi.client
  // ...
});
```

Then load api client wrapper:

```typescript
gapi.client.load(
  'https://adexchangebuyer.googleapis.com/$discovery/rest?version=v2beta1',
  () => {
    // now we can use:
    // gapi.client.adexchangebuyer2
  },
);
```

```typescript
// Deprecated, use discovery document URL, see https://github.com/google/google-api-javascript-client/blob/master/docs/reference.md#----gapiclientloadname----version----callback--
gapi.client.load('adexchangebuyer2', 'v2beta1', () => {
  // now we can use:
  // gapi.client.adexchangebuyer2
});
```

Don't forget to authenticate your client before sending any request to resources:

```typescript
// declare client_id registered in Google Developers Console
var client_id = '',
  scope = [
    // Manage your Ad Exchange buyer account configuration
    'https://www.googleapis.com/auth/adexchange.buyer',
  ],
  immediate = true;
// ...

gapi.auth.authorize(
  {client_id: client_id, scope: scope, immediate: immediate},
  authResult => {
    if (authResult && !authResult.error) {
      /* handle successful authorization */
    } else {
      /* handle authorization error */
    }
  },
);
```

After that you can use Ad Exchange Buyer API II resources: <!-- TODO: make this work for multiple namespaces -->

```typescript

```

For provenance information see [Provenance section on NPM](https://www.npmjs.com/package/@maxim_mazurok/gapi.client.adexchangebuyer2-v2beta1#Provenance:~:text=none-,Provenance,-Built%20and%20signed)
npm package: @maxim_mazurok/gapi.client.adexperiencereport
Description: TypeScript typings for Ad Experience Report API v1
Author: Maxim Mazurok
Latest version: 1.0.20220715

# TypeScript typings for Ad Experience Report API v1

Views Ad Experience Report data, and gets a list of sites that have a significant number of annoying ads.
For detailed description please check [documentation](https://developers.google.com/ad-experience-report/).

## Installing

Install typings for Ad Experience Report API:

```
npm install @types/gapi.client.adexperiencereport@v1 --save-dev
```

## Usage

You need to initialize Google API client in your code:

```typescript
gapi.load('client', () => {
  // now we can use gapi.client
  // ...
});
```

Then load api client wrapper:

```typescript
gapi.client.load('adexperiencereport', 'v1', () => {
  // now we can use gapi.client.adexperiencereport
  // ...
});
```



After that you can use Ad Experience Report API resources:

```typescript

/*
Gets a site's Ad Experience Report summary.
*/
await gapi.client.adexperiencereport.sites.get({ name: "name",  });

/*
Lists sites that are failing in the Ad Experience Report on at least one platform.
*/
await gapi.client.adexperiencereport.violatingSites.list({  });
```
npm package: @maxim_mazurok/gapi.client.adexperiencereport-v1
Description: TypeScript typings for Ad Experience Report API v1
Author: Maxim Mazurok
Latest version: 0.2.20260408

# TypeScript typings for Ad Experience Report API v1

Views Ad Experience Report data, and gets a list of sites that have a significant number of annoying ads.
For detailed description please check [documentation](https://developers.google.com/ad-experience-report/).

## Installing

Install typings for Ad Experience Report API:

```
npm install @types/gapi.client.adexperiencereport-v1 --save-dev
```

## TypeScript 6.0+

TypeScript 6.0 changed `types` to default to `[]`. You must now explicitly list type packages in `tsconfig.json`:

```json
{
  "compilerOptions": {
    "types": [
      "gapi",
      "gapi.auth2",
      "gapi.client",
      "gapi.client.adexperiencereport-v1"
    ]
  }
}
```

## Usage

You need to initialize Google API client in your code:

```typescript
gapi.load('client', () => {
  // now we can use gapi.client
  // ...
});
```

Then load api client wrapper:

```typescript
gapi.client.load(
  'https://adexperiencereport.googleapis.com/$discovery/rest?version=v1',
  () => {
    // now we can use:
    // gapi.client.adexperiencereport
  },
);
```

```typescript
// Deprecated, use discovery document URL, see https://github.com/google/google-api-javascript-client/blob/master/docs/reference.md#----gapiclientloadname----version----callback--
gapi.client.load('adexperiencereport', 'v1', () => {
  // now we can use:
  // gapi.client.adexperiencereport
});
```

After that you can use Ad Experience Report API resources: <!-- TODO: make this work for multiple namespaces -->

```typescript
/*
Gets a site's Ad Experience Report summary.
*/
await gapi.client.adexperiencereport.sites.get({name: 'name'});

/*
Lists sites that are failing in the Ad Experience Report on at least one platform.
*/
await gapi.client.adexperiencereport.violatingSites.list({});
```

For provenance information see [Provenance section on NPM](https://www.npmjs.com/package/@maxim_mazurok/gapi.client.adexperiencereport-v1#Provenance:~:text=none-,Provenance,-Built%20and%20signed)
npm package: @maxim_mazurok/gapi.client.admob
Description: TypeScript typings for AdMob API v1
Author: Maxim Mazurok
Latest version: 1.0.20220811

# TypeScript typings for AdMob API v1

The AdMob API allows publishers to programmatically get information about their AdMob account. 
For detailed description please check [documentation](https://developers.google.com/admob/api/).

## Installing

Install typings for AdMob API:

```
npm install @types/gapi.client.admob@v1 --save-dev
```

## Usage

You need to initialize Google API client in your code:

```typescript
gapi.load('client', () => {
  // now we can use gapi.client
  // ...
});
```

Then load api client wrapper:

```typescript
gapi.client.load('admob', 'v1', () => {
  // now we can use gapi.client.admob
  // ...
});
```

Don't forget to authenticate your client before sending any request to resources:

```typescript
// declare client_id registered in Google Developers Console
var client_id = '',
  scope = [ 
      // See your AdMob data
      'https://www.googleapis.com/auth/admob.readonly',

      // See your AdMob data
      'https://www.googleapis.com/auth/admob.report',
    ],
    immediate = true;
// ...

gapi.auth.authorize(
  { client_id: client_id, scope: scope, immediate: immediate },
  authResult => {
    if (authResult && !authResult.error) {
        /* handle successful authorization */
    } else {
        /* handle authorization error */
    }
});
```

After that you can use AdMob API resources:

```typescript

/*
Gets information about the specified AdMob publisher account.
*/
await gapi.client.admob.accounts.get({ name: "name",  });

/*
Lists the AdMob publisher account that was most recently signed in to from the AdMob UI. For more information, see https://support.google.com/admob/answer/10243672.
*/
await gapi.client.admob.accounts.list({  });
```
npm package: @maxim_mazurok/gapi.client.admob-v1
Description: TypeScript typings for AdMob API v1
Author: Maxim Mazurok
Latest version: 0.2.20260409

# TypeScript typings for AdMob API v1

The AdMob API allows publishers to programmatically get information about their AdMob account.
For detailed description please check [documentation](https://developers.google.com/admob/api/).

## Installing

Install typings for AdMob API:

```
npm install @types/gapi.client.admob-v1 --save-dev
```

## TypeScript 6.0+

TypeScript 6.0 changed `types` to default to `[]`. You must now explicitly list type packages in `tsconfig.json`:

```json
{
  "compilerOptions": {
    "types": ["gapi", "gapi.auth2", "gapi.client", "gapi.client.admob-v1"]
  }
}
```

## Usage

You need to initialize Google API client in your code:

```typescript
gapi.load('client', () => {
  // now we can use gapi.client
  // ...
});
```

Then load api client wrapper:

```typescript
gapi.client.load(
  'https://admob.googleapis.com/$discovery/rest?version=v1',
  () => {
    // now we can use:
    // gapi.client.admob
  },
);
```

```typescript
// Deprecated, use discovery document URL, see https://github.com/google/google-api-javascript-client/blob/master/docs/reference.md#----gapiclientloadname----version----callback--
gapi.client.load('admob', 'v1', () => {
  // now we can use:
  // gapi.client.admob
});
```

Don't forget to authenticate your client before sending any request to resources:

```typescript
// declare client_id registered in Google Developers Console
var client_id = '',
  scope = [
    // See your AdMob data
    'https://www.googleapis.com/auth/admob.readonly',

    // See your AdMob data
    'https://www.googleapis.com/auth/admob.report',
  ],
  immediate = true;
// ...

gapi.auth.authorize(
  {client_id: client_id, scope: scope, immediate: immediate},
  authResult => {
    if (authResult && !authResult.error) {
      /* handle successful authorization */
    } else {
      /* handle authorization error */
    }
  },
);
```

After that you can use AdMob API resources: <!-- TODO: make this work for multiple namespaces -->

```typescript
/*
Gets information about the specified AdMob publisher account.
*/
await gapi.client.admob.accounts.get({name: 'name'});

/*
Lists the AdMob publisher account that was most recently signed in to from the AdMob UI. For more information, see https://support.google.com/admob/answer/10243672.
*/
await gapi.client.admob.accounts.list({});
```

For provenance information see [Provenance section on NPM](https://www.npmjs.com/package/@maxim_mazurok/gapi.client.admob-v1#Provenance:~:text=none-,Provenance,-Built%20and%20signed)
npm package: @maxim_mazurok/gapi.client.admob-v1beta
Description: TypeScript typings for AdMob API v1beta
Author: Maxim Mazurok
Latest version: 0.3.20260409

# TypeScript typings for AdMob API v1beta

The AdMob API allows publishers to programmatically get information about their AdMob account.
For detailed description please check [documentation](https://developers.google.com/admob/api/).

## Installing

Install typings for AdMob API:

```
npm install @types/gapi.client.admob-v1beta --save-dev
```

## TypeScript 6.0+

TypeScript 6.0 changed `types` to default to `[]`. You must now explicitly list type packages in `tsconfig.json`:

```json
{
  "compilerOptions": {
    "types": ["gapi", "gapi.auth2", "gapi.client", "gapi.client.admob-v1beta"]
  }
}
```

## Usage

You need to initialize Google API client in your code:

```typescript
gapi.load('client', () => {
  // now we can use gapi.client
  // ...
});
```

Then load api client wrapper:

```typescript
gapi.client.load(
  'https://admob.googleapis.com/$discovery/rest?version=v1beta',
  () => {
    // now we can use:
    // gapi.client.admob
  },
);
```

```typescript
// Deprecated, use discovery document URL, see https://github.com/google/google-api-javascript-client/blob/master/docs/reference.md#----gapiclientloadname----version----callback--
gapi.client.load('admob', 'v1beta', () => {
  // now we can use:
  // gapi.client.admob
});
```

Don't forget to authenticate your client before sending any request to resources:

```typescript
// declare client_id registered in Google Developers Console
var client_id = '',
  scope = [
    // See your AdMob data
    'https://www.googleapis.com/auth/admob.readonly',

    // See your AdMob data
    'https://www.googleapis.com/auth/admob.report',
  ],
  immediate = true;
// ...

gapi.auth.authorize(
  {client_id: client_id, scope: scope, immediate: immediate},
  authResult => {
    if (authResult && !authResult.error) {
      /* handle successful authorization */
    } else {
      /* handle authorization error */
    }
  },
);
```

After that you can use AdMob API resources: <!-- TODO: make this work for multiple namespaces -->

```typescript
/*
Gets information about the specified AdMob publisher account.
*/
await gapi.client.admob.accounts.get({name: 'name'});

/*
Lists the AdMob publisher account that was most recently signed in to from the AdMob UI. For more information, see https://support.google.com/admob/answer/10243672.
*/
await gapi.client.admob.accounts.list({});
```

For provenance information see [Provenance section on NPM](https://www.npmjs.com/package/@maxim_mazurok/gapi.client.admob-v1beta#Provenance:~:text=none-,Provenance,-Built%20and%20signed)
npm package: @maxim_mazurok/gapi.client.adsense
Description: TypeScript typings for AdSense Management API v2
Author: Maxim Mazurok
Latest version: 2.0.20220811

# TypeScript typings for AdSense Management API v2

The AdSense Management API allows publishers to access their inventory and run earnings and performance reports.
For detailed description please check [documentation](https://developers.google.com/adsense/management/).

## Installing

Install typings for AdSense Management API:

```
npm install @types/gapi.client.adsense@v2 --save-dev
```

## Usage

You need to initialize Google API client in your code:

```typescript
gapi.load('client', () => {
  // now we can use gapi.client
  // ...
});
```

Then load api client wrapper:

```typescript
gapi.client.load('adsense', 'v2', () => {
  // now we can use gapi.client.adsense
  // ...
});
```

Don't forget to authenticate your client before sending any request to resources:

```typescript
// declare client_id registered in Google Developers Console
var client_id = '',
  scope = [ 
      // View and manage your AdSense data
      'https://www.googleapis.com/auth/adsense',

      // View your AdSense data
      'https://www.googleapis.com/auth/adsense.readonly',
    ],
    immediate = true;
// ...

gapi.auth.authorize(
  { client_id: client_id, scope: scope, immediate: immediate },
  authResult => {
    if (authResult && !authResult.error) {
        /* handle successful authorization */
    } else {
        /* handle authorization error */
    }
});
```

After that you can use AdSense Management API resources:

```typescript

/*
Gets information about the selected AdSense account.
*/
await gapi.client.adsense.accounts.get({ name: "name",  });

/*
Lists all accounts available to this user.
*/
await gapi.client.adsense.accounts.list({  });

/*
Lists all accounts directly managed by the given AdSense account.
*/
await gapi.client.adsense.accounts.listChildAccounts({ parent: "parent",  });
```
npm package: @maxim_mazurok/gapi.client.adsense-v2
Description: TypeScript typings for AdSense Management API v2
Author: Maxim Mazurok
Latest version: 0.3.20260409

# TypeScript typings for AdSense Management API v2

The AdSense Management API allows publishers to access their inventory and run earnings and performance reports.
For detailed description please check [documentation](https://developers.google.com/adsense/management/).

## Installing

Install typings for AdSense Management API:

```
npm install @types/gapi.client.adsense-v2 --save-dev
```

## TypeScript 6.0+

TypeScript 6.0 changed `types` to default to `[]`. You must now explicitly list type packages in `tsconfig.json`:

```json
{
  "compilerOptions": {
    "types": ["gapi", "gapi.auth2", "gapi.client", "gapi.client.adsense-v2"]
  }
}
```

## Usage

You need to initialize Google API client in your code:

```typescript
gapi.load('client', () => {
  // now we can use gapi.client
  // ...
});
```

Then load api client wrapper:

```typescript
gapi.client.load(
  'https://adsense.googleapis.com/$discovery/rest?version=v2',
  () => {
    // now we can use:
    // gapi.client.adsense
  },
);
```

```typescript
// Deprecated, use discovery document URL, see https://github.com/google/google-api-javascript-client/blob/master/docs/reference.md#----gapiclientloadname----version----callback--
gapi.client.load('adsense', 'v2', () => {
  // now we can use:
  // gapi.client.adsense
});
```

Don't forget to authenticate your client before sending any request to resources:

```typescript
// declare client_id registered in Google Developers Console
var client_id = '',
  scope = [
    // View and manage your AdSense data
    'https://www.googleapis.com/auth/adsense',

    // View your AdSense data
    'https://www.googleapis.com/auth/adsense.readonly',
  ],
  immediate = true;
// ...

gapi.auth.authorize(
  {client_id: client_id, scope: scope, immediate: immediate},
  authResult => {
    if (authResult && !authResult.error) {
      /* handle successful authorization */
    } else {
      /* handle authorization error */
    }
  },
);
```

After that you can use AdSense Management API resources: <!-- TODO: make this work for multiple namespaces -->

```typescript
/*
Gets information about the selected AdSense account.
*/
await gapi.client.adsense.accounts.get({name: 'name'});

/*
Gets the ad blocking recovery tag of an account.
*/
await gapi.client.adsense.accounts.getAdBlockingRecoveryTag({name: 'name'});

/*
Lists all accounts available to this user.
*/
await gapi.client.adsense.accounts.list({});

/*
Lists all accounts directly managed by the given AdSense account.
*/
await gapi.client.adsense.accounts.listChildAccounts({parent: 'parent'});
```

For provenance information see [Provenance section on NPM](https://www.npmjs.com/package/@maxim_mazurok/gapi.client.adsense-v2#Provenance:~:text=none-,Provenance,-Built%20and%20signed)
npm package: @maxim_mazurok/gapi.client.adsenseplatform-v1
Description: TypeScript typings for AdSense Platform API v1
Author: Maxim Mazurok
Latest version: 0.3.20260409

# TypeScript typings for AdSense Platform API v1

For detailed description please check [documentation](https://developers.google.com/adsense/platforms/).

## Installing

Install typings for AdSense Platform API:

```
npm install @types/gapi.client.adsenseplatform-v1 --save-dev
```

## TypeScript 6.0+

TypeScript 6.0 changed `types` to default to `[]`. You must now explicitly list type packages in `tsconfig.json`:

```json
{
  "compilerOptions": {
    "types": [
      "gapi",
      "gapi.auth2",
      "gapi.client",
      "gapi.client.adsenseplatform-v1"
    ]
  }
}
```

## Usage

You need to initialize Google API client in your code:

```typescript
gapi.load('client', () => {
  // now we can use gapi.client
  // ...
});
```

Then load api client wrapper:

```typescript
gapi.client.load(
  'https://adsenseplatform.googleapis.com/$discovery/rest?version=v1',
  () => {
    // now we can use:
    // gapi.client.adsenseplatform
  },
);
```

```typescript
// Deprecated, use discovery document URL, see https://github.com/google/google-api-javascript-client/blob/master/docs/reference.md#----gapiclientloadname----version----callback--
gapi.client.load('adsenseplatform', 'v1', () => {
  // now we can use:
  // gapi.client.adsenseplatform
});
```

Don't forget to authenticate your client before sending any request to resources:

```typescript
// declare client_id registered in Google Developers Console
var client_id = '',
  scope = [
    // View and manage your AdSense data
    'https://www.googleapis.com/auth/adsense',

    // View your AdSense data
    'https://www.googleapis.com/auth/adsense.readonly',
  ],
  immediate = true;
// ...

gapi.auth.authorize(
  {client_id: client_id, scope: scope, immediate: immediate},
  authResult => {
    if (authResult && !authResult.error) {
      /* handle successful authorization */
    } else {
      /* handle authorization error */
    }
  },
);
```

After that you can use AdSense Platform API resources: <!-- TODO: make this work for multiple namespaces -->

```typescript

```

For provenance information see [Provenance section on NPM](https://www.npmjs.com/package/@maxim_mazurok/gapi.client.adsenseplatform-v1#Provenance:~:text=none-,Provenance,-Built%20and%20signed)
npm package: @maxim_mazurok/gapi.client.adsenseplatform-v1alpha
Description: TypeScript typings for AdSense Platform API v1alpha
Author: Maxim Mazurok
Latest version: 0.3.20260409

# TypeScript typings for AdSense Platform API v1alpha

For detailed description please check [documentation](https://developers.google.com/adsense/platforms/).

## Installing

Install typings for AdSense Platform API:

```
npm install @types/gapi.client.adsenseplatform-v1alpha --save-dev
```

## TypeScript 6.0+

TypeScript 6.0 changed `types` to default to `[]`. You must now explicitly list type packages in `tsconfig.json`:

```json
{
  "compilerOptions": {
    "types": [
      "gapi",
      "gapi.auth2",
      "gapi.client",
      "gapi.client.adsenseplatform-v1alpha"
    ]
  }
}
```

## Usage

You need to initialize Google API client in your code:

```typescript
gapi.load('client', () => {
  // now we can use gapi.client
  // ...
});
```

Then load api client wrapper:

```typescript
gapi.client.load(
  'https://adsenseplatform.googleapis.com/$discovery/rest?version=v1alpha',
  () => {
    // now we can use:
    // gapi.client.adsenseplatform
  },
);
```

```typescript
// Deprecated, use discovery document URL, see https://github.com/google/google-api-javascript-client/blob/master/docs/reference.md#----gapiclientloadname----version----callback--
gapi.client.load('adsenseplatform', 'v1alpha', () => {
  // now we can use:
  // gapi.client.adsenseplatform
});
```

Don't forget to authenticate your client before sending any request to resources:

```typescript
// declare client_id registered in Google Developers Console
var client_id = '',
  scope = [
    // View and manage your AdSense data
    'https://www.googleapis.com/auth/adsense',

    // View your AdSense data
    'https://www.googleapis.com/auth/adsense.readonly',
  ],
  immediate = true;
// ...

gapi.auth.authorize(
  {client_id: client_id, scope: scope, immediate: immediate},
  authResult => {
    if (authResult && !authResult.error) {
      /* handle successful authorization */
    } else {
      /* handle authorization error */
    }
  },
);
```

After that you can use AdSense Platform API resources: <!-- TODO: make this work for multiple namespaces -->

```typescript

```

For provenance information see [Provenance section on NPM](https://www.npmjs.com/package/@maxim_mazurok/gapi.client.adsenseplatform-v1alpha#Provenance:~:text=none-,Provenance,-Built%20and%20signed)
npm package: @maxim_mazurok/gapi.client.advisorynotifications-v1
Description: TypeScript typings for Advisory Notifications API v1
Author: Maxim Mazurok
Latest version: 0.3.20260405

# TypeScript typings for Advisory Notifications API v1

An API for accessing Advisory Notifications in Google Cloud
For detailed description please check [documentation](https://cloud.google.com/advisory-notifications).

## Installing

Install typings for Advisory Notifications API:

```
npm install @types/gapi.client.advisorynotifications-v1 --save-dev
```

## TypeScript 6.0+

TypeScript 6.0 changed `types` to default to `[]`. You must now explicitly list type packages in `tsconfig.json`:

```json
{
  "compilerOptions": {
    "types": [
      "gapi",
      "gapi.auth2",
      "gapi.client",
      "gapi.client.advisorynotifications-v1"
    ]
  }
}
```

## Usage

You need to initialize Google API client in your code:

```typescript
gapi.load('client', () => {
  // now we can use gapi.client
  // ...
});
```

Then load api client wrapper:

```typescript
gapi.client.load(
  'https://advisorynotifications.googleapis.com/$discovery/rest?version=v1',
  () => {
    // now we can use:
    // gapi.client.advisorynotifications
  },
);
```

```typescript
// Deprecated, use discovery document URL, see https://github.com/google/google-api-javascript-client/blob/master/docs/reference.md#----gapiclientloadname----version----callback--
gapi.client.load('advisorynotifications', 'v1', () => {
  // now we can use:
  // gapi.client.advisorynotifications
});
```

Don't forget to authenticate your client before sending any request to resources:

```typescript
// declare client_id registered in Google Developers Console
var client_id = '',
  scope = [
    // See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account.
    'https://www.googleapis.com/auth/cloud-platform',
  ],
  immediate = true;
// ...

gapi.auth.authorize(
  {client_id: client_id, scope: scope, immediate: immediate},
  authResult => {
    if (authResult && !authResult.error) {
      /* handle successful authorization */
    } else {
      /* handle authorization error */
    }
  },
);
```

After that you can use Advisory Notifications API resources: <!-- TODO: make this work for multiple namespaces -->

```typescript

```

For provenance information see [Provenance section on NPM](https://www.npmjs.com/package/@maxim_mazurok/gapi.client.advisorynotifications-v1#Provenance:~:text=none-,Provenance,-Built%20and%20signed)
npm package: @maxim_mazurok/gapi.client.airquality-v1
Description: TypeScript typings for Air Quality API v1
Author: Maxim Mazurok
Latest version: 0.2.20260317

# TypeScript typings for Air Quality API v1

The Air Quality API.
For detailed description please check [documentation](https://developers.google.com/maps/documentation/air-quality).

## Installing

Install typings for Air Quality API:

```
npm install @types/gapi.client.airquality-v1 --save-dev
```

## Usage

You need to initialize Google API client in your code:

```typescript
gapi.load('client', () => {
  // now we can use gapi.client
  // ...
});
```

Then load api client wrapper:

```typescript
gapi.client.load(
  'https://airquality.googleapis.com/$discovery/rest?version=v1',
  () => {
    // now we can use:
    // gapi.client.airquality
  },
);
```

```typescript
// Deprecated, use discovery document URL, see https://github.com/google/google-api-javascript-client/blob/master/docs/reference.md#----gapiclientloadname----version----callback--
gapi.client.load('airquality', 'v1', () => {
  // now we can use:
  // gapi.client.airquality
});
```

Don't forget to authenticate your client before sending any request to resources:

```typescript
// declare client_id registered in Google Developers Console
var client_id = '',
  scope = [
    // See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account.
    'https://www.googleapis.com/auth/cloud-platform',
  ],
  immediate = true;
// ...

gapi.auth.authorize(
  {client_id: client_id, scope: scope, immediate: immediate},
  authResult => {
    if (authResult && !authResult.error) {
      /* handle successful authorization */
    } else {
      /* handle authorization error */
    }
  },
);
```

After that you can use Air Quality API resources: <!-- TODO: make this work for multiple namespaces -->

```typescript
/*
The Current Conditions endpoint provides hourly air quality information in more than 100 countries, up to a 500 x 500 meters resolution. Includes over 70 local indexes and global air quality index and categories.
*/
await gapi.client.airquality.currentConditions.lookup({});

/*
Returns air quality forecast for a specific location for a given time range.
*/
await gapi.client.airquality.forecast.lookup({});

/*
Returns air quality history for a specific location for a given time range.
*/
await gapi.client.airquality.history.lookup({});
```

For provenance information see [Provenance section on NPM](https://www.npmjs.com/package/@maxim_mazurok/gapi.client.airquality-v1#Provenance:~:text=none-,Provenance,-Built%20and%20signed)
npm package: @maxim_mazurok/gapi.client.alloydb-v1
Description: TypeScript typings for AlloyDB API v1
Author: Maxim Mazurok
Latest version: 0.2.20260226

# TypeScript typings for AlloyDB API v1

AlloyDB for PostgreSQL is an open source-compatible database service that provides a powerful option for migrating, modernizing, or building commercial-grade applications. It offers full compatibility with standard PostgreSQL, and is more than 4x faster for transactional workloads and up to 100x faster for analytical queries than standard PostgreSQL in our performance tests. AlloyDB for PostgreSQL offers a 99.99 percent availability SLA inclusive of maintenance. AlloyDB is optimized for the most demanding use cases, allowing you to build new applications that require high transaction throughput, large database sizes, or multiple read resources; scale existing PostgreSQL workloads with no application changes; and modernize legacy proprietary databases.
For detailed description please check [documentation](https://cloud.google.com/alloydb/).

## Installing

Install typings for AlloyDB API:

```
npm install @types/gapi.client.alloydb-v1 --save-dev
```

## Usage

You need to initialize Google API client in your code:

```typescript
gapi.load('client', () => {
  // now we can use gapi.client
  // ...
});
```

Then load api client wrapper:

```typescript
gapi.client.load(
  'https://alloydb.googleapis.com/$discovery/rest?version=v1',
  () => {
    // now we can use:
    // gapi.client.alloydb
  },
);
```

```typescript
// Deprecated, use discovery document URL, see https://github.com/google/google-api-javascript-client/blob/master/docs/reference.md#----gapiclientloadname----version----callback--
gapi.client.load('alloydb', 'v1', () => {
  // now we can use:
  // gapi.client.alloydb
});
```

Don't forget to authenticate your client before sending any request to resources:

```typescript
// declare client_id registered in Google Developers Console
var client_id = '',
  scope = [
    // See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account.
    'https://www.googleapis.com/auth/cloud-platform',
  ],
  immediate = true;
// ...

gapi.auth.authorize(
  {client_id: client_id, scope: scope, immediate: immediate},
  authResult => {
    if (authResult && !authResult.error) {
      /* handle successful authorization */
    } else {
      /* handle authorization error */
    }
  },
);
```

After that you can use AlloyDB API resources: <!-- TODO: make this work for multiple namespaces -->

```typescript

```

For provenance information see [Provenance section on NPM](https://www.npmjs.com/package/@maxim_mazurok/gapi.client.alloydb-v1#Provenance:~:text=none-,Provenance,-Built%20and%20signed)
npm package: @maxim_mazurok/gapi.client.alloydb-v1alpha
Description: TypeScript typings for AlloyDB API v1alpha
Author: Maxim Mazurok
Latest version: 0.2.20260226

# TypeScript typings for AlloyDB API v1alpha

AlloyDB for PostgreSQL is an open source-compatible database service that provides a powerful option for migrating, modernizing, or building commercial-grade applications. It offers full compatibility with standard PostgreSQL, and is more than 4x faster for transactional workloads and up to 100x faster for analytical queries than standard PostgreSQL in our performance tests. AlloyDB for PostgreSQL offers a 99.99 percent availability SLA inclusive of maintenance. AlloyDB is optimized for the most demanding use cases, allowing you to build new applications that require high transaction throughput, large database sizes, or multiple read resources; scale existing PostgreSQL workloads with no application changes; and modernize legacy proprietary databases.
For detailed description please check [documentation](https://cloud.google.com/alloydb/).

## Installing

Install typings for AlloyDB API:

```
npm install @types/gapi.client.alloydb-v1alpha --save-dev
```

## Usage

You need to initialize Google API client in your code:

```typescript
gapi.load('client', () => {
  // now we can use gapi.client
  // ...
});
```

Then load api client wrapper:

```typescript
gapi.client.load(
  'https://alloydb.googleapis.com/$discovery/rest?version=v1alpha',
  () => {
    // now we can use:
    // gapi.client.alloydb
  },
);
```

```typescript
// Deprecated, use discovery document URL, see https://github.com/google/google-api-javascript-client/blob/master/docs/reference.md#----gapiclientloadname----version----callback--
gapi.client.load('alloydb', 'v1alpha', () => {
  // now we can use:
  // gapi.client.alloydb
});
```

Don't forget to authenticate your client before sending any request to resources:

```typescript
// declare client_id registered in Google Developers Console
var client_id = '',
  scope = [
    // See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account.
    'https://www.googleapis.com/auth/cloud-platform',
  ],
  immediate = true;
// ...

gapi.auth.authorize(
  {client_id: client_id, scope: scope, immediate: immediate},
  authResult => {
    if (authResult && !authResult.error) {
      /* handle successful authorization */
    } else {
      /* handle authorization error */
    }
  },
);
```

After that you can use AlloyDB API resources: <!-- TODO: make this work for multiple namespaces -->

```typescript

```

For provenance information see [Provenance section on NPM](https://www.npmjs.com/package/@maxim_mazurok/gapi.client.alloydb-v1alpha#Provenance:~:text=none-,Provenance,-Built%20and%20signed)