---
title: "List lead forms"
method: GET
path: "/ad_accounts/{ad_account_id}/lead_forms"
tags: ["lead_forms"]
---

# List lead forms

`GET /ad_accounts/{ad_account_id}/lead_forms`

**This feature is currently in beta and not available to all apps, if you're interested in joining the beta, please reach out to your Pinterest account manager.**

List lead forms associated with an ad account ID.

For more, see [Lead ads](https://help.pinterest.com/en/business/article/lead-ads).

## Path parameters

- `ad_account_id` string, required

## Query parameters

- `bookmark` string
- `page_size` integer
- `order` 'ASCENDING' | 'DESCENDING'

## Response `200`

The request has succeeded.

- object
  - `bookmark` string, nullable
  - `items` LeadForm[], required
    - `ad_account_id` string — The Ad Account ID that this lead form belongs to.
    - `completion_message` string, nullable, required — A message for people who complete the form to let them know what happens next.
    - `created_time` integer — Lead form creation time. Unix timestamp in seconds.
    - `disclosure_language` string, nullable — Additional disclosure language to be included in the lead form.
    - `has_accepted_terms` boolean, required — Whether the advertiser has accepted Pinterest's terms of service for creating a lead ad. By sending us TRUE for this parameter, you agree that (i) you will use any personal information received in compliance with the privacy policy you share with Pinterest, and (ii) you will comply with Pinterest's [Lead Ad Terms](https://policy.pinterest.com/en/lead-ad-terms). As a reminder, all advertising on Pinterest is subject to the [Pinterest Advertising Services Agreement](https://business.pinterest.com/en/pinterest-advertising-services-agreement/) or an equivalent agreement as set forth on an IO
    - `id` string, required — The ID of this lead form
    - `name` string, nullable, required — Internal name of the lead form.
    - `policy_links` LeadFormPolicyLink[] — List of additional policy links to be displayed on the lead form.
      - `label` string — Policy label for an additional policy link.
      - `link` string — Policy link for an additional policy link.
    - `privacy_policy_link` string, nullable, required — A link to the advertiser's privacy policy. This will be included in the lead form's disclosure language.
    - `questions` LeadFormQuestion[], required — List of questions to be displayed on the lead form.
      - `custom_question_field_type` 'TEXT_FIELD' | 'TEXT_AREA' | 'RADIO_LIST' | 'CHECKBOX' | 'null', nullable — Lead form question field type
      - `custom_question_label` string, nullable — Question label for a custom question.
      - `custom_question_options` string[], nullable — Question options for a custom question.
      - `question_type` 'CUSTOM' | 'FULL_NAME' | 'FIRST_NAME' | 'LAST_NAME' | 'EMAIL' | 'PHONE_NUMBER' | 'ZIP_CODE' | 'GENDER' | 'CITY' | 'COUNTRY' | 'STATE_PROVINCE' | 'ADDRESS' | 'DATE_OF_BIRTH' | 'AGE' — Lead form question type
    - `status` 'DRAFT' | 'ACTIVE' — Status of the lead form
    - `updated_time` integer — Last update time. Unix timestamp in seconds.

## Other responses

- `400` — The request could not be understood by the server due to unexpected data.
- `401` — Authentication is required and has either failed or not been provided.
- `403` — The request was valid, but the server is refusing action. The user might not have the necessary permissions for a resource.
- `404` — The requested resource could not be found on this server.
- `429` — The user has sent too many requests in a given amount of time and is being rate limited.
- `default` — An unexpected error response.

## Changes

- **2026-06-04** (v5) `b698c180678a` — 2 breaking, 7 info
  - for the `query` request parameter `order`, default value `ASCENDING` was added
  - the response's body type changed from no type to `object` for status `200`
  - removed `#/components/schemas/Paginated, subschema #2` from the response body `allOf` list for the response status `200`
  - added the non-success response with the status `401`
  - …5 more
- **2024-08-14** (v5) `89c27ed39cfd` — 2 info
  - added the optional property `allOf[subschema #2]/items/items/allOf[#/components/schemas/LeadFormCommon]/policy_links` to the response with the `200` status
  - removed the `PREFERRED_CONTACT_METHOD` enum value from the `allOf[subschema #2]/items/items/allOf[#/components/schemas/LeadFormCommon]/questions/items/question_type` response property for the response status `200`
- **2024-04-23** (v5) `f9321315766f` — 1 breaking
  - the `allOf[subschema #2]/` response's property type changed from no type to `object` for status `200`
- …earlier changes not shown

[Full history](https://skmtc.dev/pinterest/apis/pinterest-rest-api/changes/ad_accounts/:ad_account_id/lead_forms/get.md)

---

[API](https://skmtc.dev/pinterest/apis/pinterest-rest-api.md) · [All operations](https://skmtc.dev/pinterest/apis/pinterest-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/pinterest/pinterest-rest-api/revisions/b698c180678a/schema)
