Back

AWeber API Essential Guide

Aug 12, 20246 minute read

What type of API does AWeber provide?

AWeber provides a REST API. The key points about AWeber's API are:

  1. AWeber provides a REST API and webhooks.

  2. The AWeber API uses the OAuth 2.0 authentication model.

  3. All requests in the AWeber API, including error messages, are returned as JSON formatted strings.

  4. The API uses UTF-8 character encoding.

  5. AWeber offers webhooks for events like subscriber.added, subscriber.subscribed, and subscriber.unsubscribed.

  6. The API requires authentication using OAuth 2.0 before making requests.

  7. Various scopes are available for different levels of access, such as account.read, list.read, subscriber.read, email.read, etc.

Does the AWeber API have webhooks?

Yes, the official AWeber API does have webhooks. Here are the key points about AWeber's webhook support:

Available Webhook Events

AWeber offers webhooks for the following events:

  • subscriber.added
  • subscriber.subscribed
  • subscriber.unsubscribed

Webhook Configuration

To use webhooks with AWeber's API:

  1. You need to enable webhooks for your OAuth 2 application on labs.aweber.com.
  2. You must provide one or more URL prefixes as the "Callback URL Allow-list" when creating or editing your integration.
  3. The AWeber user needs to configure the callback URL for your webhooks-enabled integration in the AWeber control panel. This URL must match a prefix in your integration's "Callback URL Allow-list".

Authorization

To authorize webhooks, you need to grant the following permissions from your AWeber User Account:

  • subscriber.read
  • account.read

Webhook Headers

AWeber webhook callback requests include the following HTTP headers:

  • AWeber-Delivery-ID: A unique identifier for the request
  • AWeber-Signature: Hash type and message digest for verification
  • Date: The date the message was generated

Considerations

  • Webhooks are sent on a best-effort basis and are not guaranteed to be published.
  • Duplicate webhook requests may be sent, so you should implement idempotency using the AWeber-Delivery-ID.
  • Webhook messages may arrive out of order, so don't rely on the order of events.

Testing Webhooks

To trigger a webhook for testing, you can:

  1. Use a sign-up form on the AWeber platform.
  2. Add subscribers via the "Add Subscriber" endpoint in the API.

In summary, AWeber's API provides webhook support for subscriber-related events, allowing you to receive real-time notifications when subscribers are added, subscribed, or unsubscribed from your lists.

Rate Limits and other limitations

Here are the key points about the API rate limits for the AWeber API:

Rate Limit Details

  • The AWeber API has a rate limit of 120 requests per minute, per customer account.

Key Considerations

  • This rate limit applies to all API requests made to a specific AWeber customer account, not per application or integration.

  • If you exceed this rate limit, you will receive a Rate Limit Error.

  • The API uses UTF-8 character encoding.

Best Practices

  • Monitor your request rate to stay within the 120 requests per minute limit.

  • Implement proper error handling to catch and handle rate limit errors gracefully.

  • Consider implementing request throttling or queueing in your application to avoid hitting the rate limit.

  • Use efficient API calls and pagination where possible to minimize the number of requests needed.

Additional Information

  • The AWeber API uses OAuth 2.0 for authentication.

  • All API responses, including errors, are returned as JSON formatted strings.

  • The API supports various scopes for different types of access, such as account.read, subscriber.read, email.write, etc.

In summary, the AWeber API has a straightforward rate limit of 120 requests per minute per customer account. Developers should be mindful of this limit when designing their integrations and implement appropriate measures to stay within this limit.

Latest API Version

Based on the search results provided, I do not have definitive information about the most recent version of the AWeber API. The search results do not contain clear details about the current API version. However, I can provide some relevant information from the search results:

Key Points:

  1. The AWeber API Python Library (aweber_api) has a latest version of 1.4.0, released on January 22, 2015 [4]. However, this may not reflect the most recent version of the API itself, only the Python client library.

  2. There is a PHP library for the AWeber API, but it has been deprecated [5]. The README states: "This library will no longer be supported and does not support OAuth2." [5]

  3. AWeber recommends referring to their PHP Examples as a reference for current API usage [5].

  4. The search results do not provide information about the current API version or any recent updates to the API itself.

Recommendation:

To get the most up-to-date information about the current version of the AWeber API, I recommend:

  1. Checking the official AWeber API documentation, which was not included in the search results.
  2. Contacting AWeber support directly for the most accurate and current information.
  3. Looking for any announcements or changelogs on the AWeber developer portal or blog.

Given the deprecation of older libraries and the mention of OAuth2 support, it's likely that the API has been updated since the last version of the Python library (1.4.0) was released in 2015. However, without more recent official documentation, I cannot provide a definitive answer about the most recent version of the AWeber API.

How to get a AWeber developer account and API Keys?

Creating a Developer Account

  1. Go to the AWeber Labs website (https://labs.aweber.com/).

  2. Click on the "Developer Sign Up" button.

  3. Fill out the registration form to create a free AWeber Labs account. This is separate from an AWeber customer account.

  4. Once your developer account is created, log in to the AWeber Labs dashboard.

Creating an App

  1. In the AWeber Labs dashboard, click on "Create and View Apps".

  2. Click on "Create a New Application" and fill out the required information.

  3. Once created, you'll receive a Client ID and Client Secret for your app. Save these credentials securely.

What can you do with the AWeber API?

Based on the search results provided, here is a list of data models you can interact with using the AWeber API, along with what is possible for each:

Accounts

  • Retrieve account information and associated integrations
  • Access a single account entry for the AWeber Customer Account that has authorized your application
  • Retrieve lists owned by the account
  • Retrieve social integrations associated with the account

Lists

  • Retrieve available lists and information about each list
  • Create, edit, and delete custom fields
  • Retrieve custom fields, tags, and sign-up forms
  • Get webforms for a list
  • Get split tests for a list

Subscribers

  • Add, remove, find, and update subscribers
  • Move subscribers between lists
  • Retrieve subscriber activity
  • Search for subscribers across an account or list
  • Access subscriber PII (Personally Identifiable Information) such as name, email, IP address (with appropriate permissions)

Campaigns (Broadcasts and Follow-ups)

  • Retrieve information and statistics for messages on a list by type (followup or broadcast)
  • Create and send email broadcasts
  • Update, delete, cancel, and schedule broadcasts
  • Get message opens, tracked events, and statistics
  • Retrieve total broadcasts
  • Find campaigns

Integrations

  • Retrieve integrations available for use when creating broadcasts
  • Access information about connected third-party services (e.g., Facebook, Twitter, PayPal, Shopify)

Landing Pages

  • Retrieve landing pages
  • Get links associated with messages
  • Retrieve click data for links

Custom Fields

  • Create, edit, delete, and retrieve custom fields for lists

Tags

  • Retrieve tags for a list

Webforms

  • Get webforms for a list or account

Split Tests

  • Retrieve split tests for a list or account
  • Get split test components

It's important to note that the AWeber API uses OAuth 2.0 for authentication, and different scopes are required for various operations on these data models. Additionally, all data is returned in JSON format, and the API uses UTF-8 character encoding.