Maton

Unbounce

Access Unbounce landing pages and leads via managed OAuth.

Reference

List Accounts

GET /unbounce/accounts

Query parameters:

  • sort_order - asc or desc (default: desc by creation date)

Response:

{
  "metadata": {
    "count": 1,
    "location": "https://api.unbounce.com/accounts"
  },
  "accounts": [
    {
      "id": 4967935,
      "name": "My Account",
      "createdAt": "2026-03-04T10:54:34Z",
      "state": "active",
      "options": {}
    }
  ]
}

Get Account

GET /unbounce/accounts/{account_id}

Response:

{
  "id": 4967935,
  "name": "My Account",
  "createdAt": "2026-03-04T10:54:34Z",
  "state": "active",
  "options": {}
}

List Account Pages

GET /unbounce/accounts/{account_id}/pages

List Account Sub-Accounts

GET /unbounce/accounts/{account_id}/sub_accounts

Get Sub-Account

GET /unbounce/sub_accounts/{sub_account_id}

Response:

{
  "id": 5699747,
  "accountId": 4967935,
  "name": "ChrisKim",
  "createdAt": "2026-03-04T10:54:35Z",
  "website": null,
  "uuid": "cf72cbb6-17fd-44d1-bbe4-d25dcad6354a",
  "domainsCount": 0
}

List Sub-Account Pages

GET /unbounce/sub_accounts/{sub_account_id}/pages

List Sub-Account Domains

GET /unbounce/sub_accounts/{sub_account_id}/domains

List Sub-Account Page Groups

GET /unbounce/sub_accounts/{sub_account_id}/page_groups

List All Pages

GET /unbounce/pages

Query parameters:

  • role - Filter by user role: viewer or author
  • with_stats - Include A/B test statistics when true
  • limit - Results per page (default: 50, max: 1000)
  • offset - Skip first N results
  • sort_order - asc or desc
  • count - When true, only return count in metadata
  • from - Start date (RFC 5322 format)
  • to - End date (RFC 5322 format)

Response:

{
  "metadata": {
    "count": 1,
    "location": "https://api.unbounce.com/pages"
  },
  "pages": [
    {
      "id": "7cacd6d4-015a-4690-9537-68aac06bd98e",
      "subAccountId": 5699747,
      "name": "Training Template",
      "url": "http://unbouncepages.com/training-template/",
      "state": "unpublished",
      "domain": "unbouncepages.com",
      "createdAt": "2026-03-04T10:56:54Z",
      "lastPublishedAt": null,
      "variantsCount": 0,
      "integrationsCount": 0,
      "integrationsErrorsCount": 0
    }
  ]
}

Get Page

GET /unbounce/pages/{page_id}

Includes test statistics (A/B testing data):

Response:

{
  "id": "7cacd6d4-015a-4690-9537-68aac06bd98e",
  "name": "Training Template",
  "url": "http://unbouncepages.com/training-template/",
  "state": "unpublished",
  "tests": {
    "current": {
      "champion": "a",
      "hasResults": "false",
      "conversionRate": "0",
      "conversions": "0",
      "visitors": "0",
      "visits": "0"
    }
  }
}

List Page Form Fields

GET /unbounce/pages/{page_id}/form_fields

Query parameters:

  • include_sub_pages - Include sub-page form fields when true
  • sort_order - asc or desc
  • count - When true, only return count

Response:

{
  "metadata": {
    "count": 3
  },
  "formFields": [
    {
      "id": "name",
      "name": "Name",
      "type": "text",
      "validations": {
        "required": false
      }
    },
    {
      "id": "email",
      "name": "Email",
      "type": "text",
      "validations": {
        "required": false,
        "email": true
      }
    },
    {
      "id": "telephone",
      "name": "Telephone",
      "type": "text",
      "validations": {
        "required": false,
        "phone": true
      }
    }
  ]
}

List Page Leads

GET /unbounce/pages/{page_id}/leads

Query parameters:

  • limit - Results per page (default: 50, max: 1000)
  • offset - Skip first N results
  • sort_order - asc or desc
  • from - Start date (RFC 5322 format)
  • to - End date (RFC 5322 format)

Response:

{
  "metadata": {
    "count": 0,
    "delete": {
      "href": "https://api.unbounce.com/pages/{page_id}/lead_deletion_request",
      "method": "POST"
    }
  },
  "leads": []
}

Get Lead

GET /unbounce/pages/{page_id}/leads/{lead_id}

or directly:

GET /unbounce/leads/{lead_id}

Response:

{
  "id": "f79d7b6e-b3e8-484c-9584-d21c7afba238",
  "created_at": "2026-03-04T11:52:50.705Z",
  "page_id": "7cacd6d4-015a-4690-9537-68aac06bd98e",
  "variant_id": "a",
  "submitter_ip": "127.0.0.1",
  "form_data": {
    "name": "Test User",
    "email": "test@example.com",
    "telephone": "1234567890"
  },
  "extra_data": {
    "cookies": {}
  }
}

Create Lead

POST /unbounce/pages/{page_id}/leads
Content-Type: application/json

Request Body:

{
  "conversion": true,
  "visitor_id": "127.0.0.1234567890",
  "form_submission": {
    "variant_id": "a",
    "submitter_ip": "127.0.0.1",
    "form_data": {
      "name": "John Doe",
      "email": "john@example.com",
      "phone_number": "1234567890"
    }
  }
}

Response:

{
  "id": "f79d7b6e-b3e8-484c-9584-d21c7afba238",
  "created_at": "2026-03-04T11:52:50.705Z",
  "page_id": "7cacd6d4-015a-4690-9537-68aac06bd98e",
  "variant_id": "a",
  "submitter_ip": "127.0.0.1",
  "form_data": {
    "name": "John Doe",
    "email": "john@example.com",
    "phone_number": "1234567890"
  }
}

Leads created via the API have "created_by": "api" in their extra_data.

Get Domain

GET /unbounce/domains/{domain_id}

List Domain Pages

GET /unbounce/domains/{domain_id}/pages

List Page Group Pages

GET /unbounce/page_groups/{page_group_id}/pages

Query parameters:

  • limit - Results per page (default: 50, max: 1000)
  • offset - Skip first N results
  • sort_order - asc or desc
  • from / to - Date range filter

Get Current User

GET /unbounce/users/self

Response:

{
  "id": 5031726,
  "email": "user@example.com",
  "firstName": "Chris",
  "lastName": "Kim",
  "metadata": {
    "related": {
      "subAccounts": ["https://api.unbounce.com/sub_accounts/5699747"],
      "accounts": ["https://api.unbounce.com/accounts/4967935"]
    }
  }
}

Get User by ID

GET /unbounce/users/{user_id}

Resources

On this page