API Reference

Accounts

The Accounts API lets you programmatically manage the social media accounts connected to Outfame. Each account represents a single Instagram or TikTok profile with its own targeting configuration, engagement settings, and analytics.

Base URLhttps://api.outfame.com/v1


The Account object

{
  "id": "acc_7Gx2kLm9Qr",
  "instagram_username": "yourhandle",
  "platform": "instagram",
  "status": "active",
  "followers_count": 14832,
  "following_count": 1205,
  "engagement_rate": 4.17,
  "growth_rate": 12.5,
  "targeting_config": {
    "competitor_accounts": ["competitor1", "competitor2"],
    "hashtags": ["fitness", "wellness"],
    "locations": [
      { "name": "Los Angeles, CA", "radius_km": 50 }
    ],
    "interests": ["health", "nutrition"],
    "filters": {
      "age_range": { "min": 18, "max": 44 },
      "gender": "all",
      "language": "en",
      "activity_level": "high"
    }
  },
  "daily_limits": {
    "likes": 150,
    "follows": 60,
    "comments": 20,
    "story_views": 200
  },
  "created_at": "2026-01-15T08:30:00Z",
  "updated_at": "2026-02-09T11:45:22Z"
}

Fields

FieldTypeDescription
idstringUnique identifier, prefixed with acc_.
instagram_usernamestringThe connected Instagram or TikTok handle (without @).
platformstringinstagram or tiktok.
statusstringOne of setup, active, paused, suspended.
followers_countintegerCurrent follower count at last sync.
following_countintegerCurrent following count at last sync.
engagement_ratefloatAverage engagement rate as a percentage.
growth_ratefloatPercentage growth over the last 30 days.
targeting_configobjectAudience targeting settings. See Targeting API.
daily_limitsobjectDaily engagement limits by activity type.
created_atstringISO 8601 timestamp of creation.
updated_atstringISO 8601 timestamp of last modification.

TypeScript type

interface Account {
  id: string;
  instagram_username: string;
  platform: "instagram" | "tiktok";
  status: "setup" | "active" | "paused" | "suspended";
  followers_count: number;
  following_count: number;
  engagement_rate: number;
  growth_rate: number;
  targeting_config: TargetingConfig;
  daily_limits: DailyLimits;
  created_at: string;
  updated_at: string;
}

interface DailyLimits {
  likes: number;
  follows: number;
  comments: number;
  story_views: number;
}

List accounts

Returns a paginated list of all accounts associated with your API key.

GET /v1/accounts

Query parameters

ParameterTypeDefaultDescription
platformstringFilter by platform. instagram or tiktok.
statusstringFilter by status.
limitinteger20Number of results per page (max 100).
cursorstringPagination cursor from previous response.

Request

curl https://api.outfame.com/v1/accounts?platform=instagram&limit=10 \
  -H "Authorization: Bearer sk_live_your_api_key"

Response

{
  "data": [
    {
      "id": "acc_7Gx2kLm9Qr",
      "instagram_username": "yourhandle",
      "platform": "instagram",
      "status": "active",
      "followers_count": 14832,
      "engagement_rate": 4.17,
      "growth_rate": 12.5,
      "created_at": "2026-01-15T08:30:00Z",
      "updated_at": "2026-02-09T11:45:22Z"
    }
  ],
  "has_more": true,
  "next_cursor": "cur_aB3cD4eF5g"
}

Retrieve an account

GET /v1/accounts/:id

Request

curl https://api.outfame.com/v1/accounts/acc_7Gx2kLm9Qr \
  -H "Authorization: Bearer sk_live_your_api_key"

Returns the full Account object.


Create an account

POST /v1/accounts

Body parameters

ParameterTypeRequiredDescription
instagram_usernamestringYesThe Instagram or TikTok handle to connect.
platformstringYesinstagram or tiktok.
targeting_configobjectNoInitial targeting configuration. Can be set later.
daily_limitsobjectNoOverride default daily engagement limits.

Request

curl -X POST https://api.outfame.com/v1/accounts \
  -H "Authorization: Bearer sk_live_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "instagram_username": "newhandle",
    "platform": "instagram",
    "targeting_config": {
      "competitor_accounts": ["rival_brand"],
      "hashtags": ["ecommerce", "shopify"]
    }
  }'

Response 201 Created

Returns the newly created Account object with status: "setup".


Update an account

PATCH /v1/accounts/:id

Update any mutable fields on an account. Only include the fields you want to change.

Request

curl -X PATCH https://api.outfame.com/v1/accounts/acc_7Gx2kLm9Qr \
  -H "Authorization: Bearer sk_live_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "targeting_config": {
      "competitor_accounts": ["rival_brand", "another_rival"],
      "hashtags": ["ecommerce", "shopify", "dropshipping"]
    },
    "daily_limits": {
      "likes": 200,
      "follows": 80
    }
  }'

Response 200 OK

Returns the updated Account object.


Delete an account

DELETE /v1/accounts/:id

Permanently removes an account and all associated data. This action is irreversible. Active engagement is stopped immediately.

Request

curl -X DELETE https://api.outfame.com/v1/accounts/acc_7Gx2kLm9Qr \
  -H "Authorization: Bearer sk_live_your_api_key"

Response 200 OK

{
  "id": "acc_7Gx2kLm9Qr",
  "deleted": true
}

Error codes

StatusCodeDescription
400invalid_usernameThe provided username does not exist or is a private account.
400invalid_platformPlatform must be instagram or tiktok.
409account_already_existsThis username is already connected to your organization.
403account_limit_reachedYour plan's account limit has been reached. Upgrade to add more.
404account_not_foundNo account with this ID exists.