Integrations: websites and API guide — Mailkoo Skip to content
Log in Live demo Get started
Set up & connect

Integrations: websites and API

Connect your website so your pop-up forms appear on it, and use the API to add subscribers and run campaigns from your own software.

Find it in: Integration → Websites, API 12 steps

There are two ways to connect other tools to your account:

  • Websites — add a small code snippet to your site once. After that, the pop-up forms you publish in the Forms module appear on that site, and new sign-ups go straight into your list.
  • API — for developers. Your own website, shop or app can create lists, add and update subscribers, import contacts in bulk and start campaigns, using your personal API token.

You don't need to write code for a website connection. The API is for developers.

What you can do with Integrations: websites and API

Connect your website

Add your site and paste one line of code before the closing body tag.

Show pop-up forms on your site

Published forms linked to the website appear to your visitors automatically.

Get your API token

Copy the token your software uses to sign in to your account.

Browse the API reference

Every endpoint with its parameters and a ready-made example request.

Import subscribers by API

Send many contacts to a list in one request, with copy-and-run examples.

Connect a website

Connecting a website lets your pop-up forms appear on it. You add each website once; after that you only choose, per form, which site should show it.

  1. Open Websites and click Add website

    In the left sidebar, under Integration, click Websites (1). The page shows the three stages, Add your website, Install tracking code and Go live, and a table of the websites you have added, with their Status and how many Forms they show.

    Click Add website (2).

  2. Enter the website address

    Type the full address of your site in Website URL, including https://, for example https://www.my-shop.com. The site must be online, because the app checks that it can reach it. Click Add website.

  3. Copy the tracking code to your site

    After you save, the website page opens with a Connection box.

    1. The Tracking code is one line that starts with <script id="ACXConnectScript".
    2. Click the copy button to copy it.

    Paste the code into your website's HTML just before the closing </body> tag, on every page where forms may appear. Most website builders and WordPress themes have a "footer scripts" or "custom code" setting for this.

    The first time a visitor (or you) opens a page with the code, the status changes to Connected by itself. If it doesn't, click Connect on this page.

  4. Check the status and manage the website

    Back on Websites, a green Connected badge (1) means the code is working. Click ⋯ at the end of the row (2) to Edit the address and see the code again, Disconnect the site, or Delete it.

  5. Show a pop-up form on the website

    Open Forms in the sidebar. The Connect to website card (1) reminds you of this step, and each form shows which site it is linked to, or Not connected (2).

    Open a form in the builder, connect it to one of your connected websites and publish it. The pop-up then appears on that site and new sign-ups go into the form's list. The Forms guide shows each step.

Get your API token

The API lets your own software manage lists, subscribers and campaigns. Every request must include your API token, which works like a password for your account.

  1. Open the API page

    In the sidebar, under Integration, click API (1). The page opens in your account settings. Your API token (2) is at the top.

  2. Copy the token

    Click Copy and paste the token into the tool or code that needs it.

    If the token has been shared by mistake, click Regenerate token to create a new one.

  3. Send your first request

    Under Getting started, the API endpoint is the address all requests go to: your app address followed by /api/v1.

    The Example request fetches all your lists. Put your token after Bearer:

    curl -X GET 'https://<your app address>/api/v1/lists' \
      -H 'Accept: application/json' \
      -H 'Authorization: Bearer YOUR_API_TOKEN'
    

    The answer is JSON with your lists and their uids. You can also send the token as ?api_token=YOUR_API_TOKEN at the end of the address.

    Click View full API documentation for every endpoint.

  4. Use the quick reference

    Quick reference lists the most common requests: get and create lists, get, add and update subscribers, and get and create campaigns. GET reads data, POST creates, PATCH updates.

Use the API documentation

  1. Read Getting Started

    The API Documentation page opens with Getting Started: the Base URL, the two ways to send your token (Header (recommended) and Query parameter) and the Response format. Successful requests return status code 200 and a JSON body.

    The menu on the left jumps to each group: Authentication, Lists, Campaigns, Subscribers, Notification, Feedback Loop and File.

  2. Open an endpoint

    Click any row to expand it. You see its Parameters (marked required or optional), what it Returns, and an Example request you can copy.

    For example, POST /api/v1/subscribers adds a subscriber: send the list_uid of the list, the EMAIL, and optionally tag, status and any list field such as FIRST_NAME.

  3. Import many subscribers by API

    To send contacts in bulk, open a list, go to Subscribers → Import and click Developer? Use the Bulk Import API →. The panel shows ready-to-run commands for this list:

    • Sync — POST /bulk runs at once and returns the counts in the answer. Best for small batches.
    • Async — POST /bulk/async queues the import and returns a job id you can check later. Best for large batches.

    Click Copy to copy a command. The panel also explains each parameter, such as mode (update or skip existing emails) and tags.

Common questions

The website still shows Inactive after I added the code. What should I check?

Open a page of your site where you pasted the code, then reload the Websites page. Check that the code is before the closing </body> tag, that it was saved and published, and that any cache on your site has been cleared. You can also click Connect on the website page.

Does connecting a website track my visitors?

The code loads your published pop-up forms on the site and tells the app that the site is connected. What visitors see is decided by each form's display settings in the form builder.

Can I connect WooCommerce, Shopify or another store directly?

For WordPress and WooCommerce, follow the WordPress and WooCommerce guide: it shows your pop-up forms on the site and adds every buyer to a list with a ready-made snippet. For other shops there is no ready-made connector: developers can use the API to add customers as subscribers, and you can connect the shop's website under Websites and publish a form.

I regenerated my token and my integration stopped working.

That is expected: the old token stops working at once. Copy the new token from the API page and paste it into every tool that used the old one.

Is there a limit on API requests?

The bulk import endpoints accept up to 60 requests per minute. Send many subscribers in one bulk request instead of one request per subscriber.