Only this pageAll pages
Powered by GitBook
1 of 7

Docs

Loading...

Loading...

API

Loading...

Loading...

Loading...

Loading...

Creatives Sync Status

This endpoint is designed to provide updated information on the upload process, ensuring you receive the most recent execution details.

Endpoint Details

URL: https://api.scalemate.co/api/external/creative_sync/{job_id} Method: GET

curl --location 'https://api.scalemate.co/api/external/creative_sync/job_abc123def456' \
--header 'X-Api-Key: <YOUR_API_KEY>'

Response

{
  "job_id": "job_abc123def456",
  "status": "completed",
  "message": "Files uploaded successfully"
}

Status Values

  • pending - Job is queued and waiting to be processed

  • processing - Job is currently being processed

  • completed - Job has finished successfully

  • failed - Job has failed due to an error

File Link Formats

The API accepts both Google Drive URLs and file IDs:

  • Full URL: https://drive.google.com/file/d/FILE_ID/view

  • File ID only: FILE_ID

The system automatically extracts file IDs from full URLs.

Campaign templates

The Templates API endpoint retrieves a list of available templates in your Scalemate account.

Endpoint Information

  • URL: https://api.scalemate.co/api/external/templates

  • Method: GET

Headers

Content-Type: application/json
X-Api-Key: <YOUR_API_KEY>

You can generate the API Key at the Settings page under API Key section

Example cURL Request

curl --location 'https://api.scalemate.co/api/external/templates' \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: <YOUR_API_KEY>' \

Example Response

{
  "templates": [
    {
      "id": 123,
      "ad_account_id": "12345678901",
      "name": "External Endpoint test"
    }
  ]
}

Overview

Scalemate API empowers you to automate your Digital Marketing workflows across platforms like Facebook and TikTok. With a simple and powerful REST API. Designed for seamless integration with tools like Airtable, Make.com, and n8n, the API helps you build custom UA automation flows without relying on manual work.

Whether you're an agency, a performance marketing team, or a no-code builder, Scalemate API gives you the flexibility to move faster, launch smarter, and scale effortlessly.

Creatives Sync

The Creative Sync API allows external systems to synchronize creative files from Google Drive to advertising platforms through

Endpoint Details

URL: https://api.scalemate.co/api/external/creative_sync Method: POST

Headers

You can generate the API Key at the page under API Key section

Parameters

Example Request Body

Example cURL Request

Example Response

Webhook Response

Get started

Get up and running with Scalemate API in a minutes

Follow these steps to start using Scalemate and automate your ad campaigns.

1. Register an Account

Go to and sign up for an account.

2. Create an API Key

Once registered, navigate to the API section in the dashboard and generate your API key. This key will allow you to authenticate your requests to the Scalemate API. Your API requests are authenticated using API keys. Any request that doesn't include an API key will return an error. You can generate and manage API keys in .

3. Connect Your Platforms

In the dashboard, connect the platforms you plan to use, such as:

  • Facebook

  • TikTok

  • Google Drive

These integrations will let you upload creative assets and launch campaigns through the API.

4. Create Campaign Templates

Define the campaign setups you use most often by creating templates for Facebook or TikTok. These templates will be used to simplify and speed up campaign launches.

5. Finalize Setup

Ensure your API key is saved and your integrations are working. You’re now ready to use Scalemate to launch campaigns programmatically.

Content-Type: application/json
X-Api-Key: <YOUR_API_KEY>

file_links

string[] (Required)

Array of Google Drive file URLs or file IDs to sync. Supports both full URLs and file IDs.

ad_account_id

string (Required)

ID of the connected advertising account where files will be uploaded.

webhook_url

string (Optional)

The URL that will receive the webhook callback when the sync job completes. This must be a publicly accessible HTTPS endpoint.

{
  "file_links": [
    "https://drive.google.com/file/d/1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms/view",
    "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms"
  ],
  "ad_account_id": "act_123456789",
  "webhook_url": "https://webhook.site/your-webhook-url" // optional
}
curl --location 'https://api.scalemate.co/api/external/creative_sync' \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: <YOUR_API_KEY>' \
--data '{
    "file_links": [
        "https://drive.google.com/file/d/1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms/view"
    ],
    "ad_account_id": "act_123456789",
    "webhook_url": "https://webhook.site/your-webhook-url"
}'
{
  "job_id": "job_abc123def456",
  "status": "pending",
  "message": "Uploading files is running"
}
{
  "job_id": "job_abc123def456",
  "status": "completed",
  "message": "Files uploaded successfully"
}
Scalemate
Settings
app.scalemate.co
your Scalemate account

Launch Campaigns

The Launch API endpoint runs your ads through the template you've created at Scalemate

Endpoint Details

URL: https://api.scalemate.co/api/external/v1/launch Method: POST

Headers

Content-Type: application/json
X-Api-Key: <YOUR_API_KEY>

You can generate the API Key at the Settings page under API Key section

Parameters

file_links

array of strings (Required)

List of URLs pointing to files needed for the workflow. Each link should be accessible from this endpoint.

template_id

string (Required)

Specifies the template ID to use for the workflow. It can be found at the end of the URL.

schedule_date

string (Optional)

Specifies the scheduled launch time for the campaign in ISO 8601 format.

max_creatives_per_adset

number (Optional)

Rewrites Ad set configuration max number ads

pac_rules

object (Optional) stories: string | undefined feed: string | undefined search: string | undefined

Defines the rules for distributing ad creatives across different placements by using Placement Asset Customization. Supports only the following placement keys: stories, feed, and search. Each key accepts a string value that should contain part of the asset’s name to help identify which asset should be used for which placement. This field can be an empty string or entirely omitted if no customization is required for a specific placement. Example: {"stories": "16x9", "feed": "4x3", "search": "1x1" }

webhook_url

string (Optional)

The URL that will receive the webhook callback. Once the event is triggered, a POST request will be sent to this URL containing the relevant payload. This must be a publicly accessible HTTPS endpoint.

Example Request Body

You can locate the template_id at the end of the URL within the Scalemate app. For example, in the URL https://app.scalemate.co/workflow/builder/912, the template_id is 912.

{
  "file_links": ["https://drive.google.com/file/d/1JbpRSvif7wR-6vwNA51A5pHcyHViSQ7d/view?usp=drive_link"],
  "template_id": "123",
  "schedule_date": "2024-12-13T12:12:00+01:00" // optional
  "max_creatives_per_adset": 1 // optional
  "webhook_url": "https://webhook.site/your-webhook-url"
}

Example cURL Request

curl --location 'https://api.scalemate.co/api/external/v1/launch' \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: <YOUR_API_KEY>' \
--data '{
    "file_links": [
        "https://drive.google.com/file/d/1JbpRSvif7wR-6vwNA51A5pHcyHViSQ7d/view?usp=drive_link"
    ],
    "template_id": "123",
    "schedule_date": "2024-12-13T12:12:00+01:00",
    "max_creatives_per_adset": 1,
    "webhook_url": "https://webhook.site/your-webhook-url"
}'

Example Response

{
  "job_id": "63267564-2c14-4ccc-ab60-1a61a950a25d",
  "status": "accepted",
  "message": "Launch job has been accepted and is being processed"
}

Webhook Response

{
  "job_id": "<JOB_ID>",
  "launch_id": "<ID>",
  "status": "success" | "failure",
  "campaigns": [
    {
      "remote_id": "<CAMPAIGN_ID>",
      "name": "<CAMPAIGN_NAME>",
      "adsets": [
        {
          "remote_id": "<ADSET_ID>",
          "name": "<ADSET_NAME>",
          "ads": [
            {
              "remote_id": "<AD_ID>",
              "name": "<FILE_NAME>",
              "bucket_url": "<FILE_URL>"
            }
          ]
        },
		    ...
      ]
    }
  ],
  "error": null,
  "completed_at": "<DATE>"
}