Doublespeed API

Manage accounts, create and schedule posts, and receive posting updates through one REST API.

GET /api/v1/accounts

200 OK

Request

curl \
 -H "Authorization: Bearer $DOUBLESPEED_API_KEY" \
 "https://doublespeed.ai/api/v1/accounts"

Set DOUBLESPEED_API_KEYto the complete key from your product's API page. Keep it in your shell environment or server-side config, never in client code.

Example response

abridged
{
  "ok": true,
  "accounts": [
    {
      "id": "3f9c1d4e-…-5b7d2ac81e04",
      "username": "couplesnote",
      "name": "Couples Note",
      "status": "good",
      "account_type": "tiktok",
      "tag": "main"
    }
  ]
}

Each account also carries bio, pfp_url, gender and age.

Three calls, and what each one leaves behind in your product.

In the account's queue

Sample data

Preparing sample queue.

API reference

Six groups of jobs. Pick one to see a real call.

See what is scheduled and posted, create a post from media URLs, reorder the queue, and move a post between draft and scheduled.

GET/api/v1/posts?status=scheduled&page_size=20

Response (abridged)

{
  "ok": true,
  "page": 1,
  "page_size": 20,
  "total_count": 42,
  "total_pages": 3,
  "posts": [
    {
      "id": "b7c10e92-…",
      "status": "scheduled",
      "post_time": "2026-07-15T16:40:00Z",
      "account": { "username": "couplesnote",
                   "account_type": "tiktok" },
      "title": "Petty fights we've had",
      "public_post_url": null,
      "stats": { "views": null, "likes": null,
                 "comments": null }
    }
  ]
}

Also in this group

  • POST /api/posts/create-from-urls
  • GET /api/v1/posts/queue
  • POST /api/v1/posts/queue/reorder
  • PATCH /api/v1/posts/{post_id}/status
  • POST /api/v1/posts/{post_id}/deletion-request

Post creation sits under /api/posts/, not /api/v1/, and answers with success rather than ok.

Posts reference

API keys

Create a key yourself on your product's API page and send it as Authorization: Bearer ds-…. The full value is shown once.

A key belongs to one product, so calls only reach that product's accounts, posts, templates and jobs.

Create a key

Credits

Listing, scheduling and queue calls spend no credits. Generation does: each completed generation bills your product's video-generation rate, and a failed generation releases its reservation.

A balance that cannot cover the work returns 402 before it runs. Comments are billed when they publish. Rates depend on your plan and model.

See pricing

Limits

Paginated endpoints support up to 100 items per page. A product can hold 5 webhook endpoints; test sends are 5 per minute and delivery resends 10 per minute.

Scheduling is bounded by each account's own posting rules, not by a request quota. Endpoint-specific limits live in the reference.

Talk to us about volume

Parameters, errors and schemas live in the API reference.

Sign in, open your product's API page, and create a key. The full ds- value is shown once, so store it somewhere server-side; if you lose it, create another and disable the old one.