Publiez des tweets depuis votre backend avec une Twitter Posting API

Un seul POST authentifié sur /social-posts constitue toute l'intégration Twitter posting API : envoyez du texte, jusqu'à quatre images ou une vidéo vers votre compte X connecté, publiez immédiatement ou mettez en file avec scheduledAt et un timezone IANA.

Terminal affichant une requête POST vers la twitter posting API d'AdaptlyPost publiant un tweet avec deux images sur un compte X connecté

La Confiance des Créateurs et des Équipes

Découvrez comment créateurs, marketeurs et petites entreprises utilisent AdaptlyPost pour rester réguliers et gagner des heures chaque semaine.

Je suis ingénieur logiciel, pas marketeur. Ma compagne gère une page TikTok, alors je lui donne un coup de main en programmant ses posts, je prépare tout d'un coup et je laisse l'IA s'occuper des légendes. Ça me prend environ 20 minutes par semaine maintenant.

Denys Zinych
Denys Zinych

Ingénieur Logiciel

Je gère ma page de nail art et une marque personnelle. Programmer les deux depuis un seul tableau de bord a tout changé, je publie régulièrement maintenant et mon engagement a augmenté sensiblement en un mois.

Irena
Irena

Créatrice de Contenu

Je suis SWE et honnêtement nul pour publier régulièrement. Je programme simplement une semaine de contenu pour ma marque personnelle dès que j'ai une minute, et l'IA rédige les légendes par plateforme pour que je n'aie pas à réécrire la même chose de cinq façons différentes.

Dorian Opacki
Dorian Opacki

Ingénieur Logiciel

Je suis ingénieur logiciel, pas marketeur. Ma compagne gère une page TikTok, alors je lui donne un coup de main en programmant ses posts, je prépare tout d'un coup et je laisse l'IA s'occuper des légendes. Ça me prend environ 20 minutes par semaine maintenant.

Denys Zinych
Denys Zinych

Ingénieur Logiciel

Je gère ma page de nail art et une marque personnelle. Programmer les deux depuis un seul tableau de bord a tout changé, je publie régulièrement maintenant et mon engagement a augmenté sensiblement en un mois.

Irena
Irena

Créatrice de Contenu

Je suis SWE et honnêtement nul pour publier régulièrement. Je programme simplement une semaine de contenu pour ma marque personnelle dès que j'ai une minute, et l'IA rédige les légendes par plateforme pour que je n'aie pas à réécrire la même chose de cinq façons différentes.

Dorian Opacki
Dorian Opacki

Ingénieur Logiciel

Je suis ingénieur logiciel, pas marketeur. Ma compagne gère une page TikTok, alors je lui donne un coup de main en programmant ses posts, je prépare tout d'un coup et je laisse l'IA s'occuper des légendes. Ça me prend environ 20 minutes par semaine maintenant.

Denys Zinych
Denys Zinych

Ingénieur Logiciel

Je gère ma page de nail art et une marque personnelle. Programmer les deux depuis un seul tableau de bord a tout changé, je publie régulièrement maintenant et mon engagement a augmenté sensiblement en un mois.

Irena
Irena

Créatrice de Contenu

Je suis SWE et honnêtement nul pour publier régulièrement. Je programme simplement une semaine de contenu pour ma marque personnelle dès que j'ai une minute, et l'IA rédige les légendes par plateforme pour que je n'aie pas à réécrire la même chose de cinq façons différentes.

Dorian Opacki
Dorian Opacki

Ingénieur Logiciel

Je ne suis pas un adepte des réseaux sociaux mais j'ai besoin de publier mon travail quelque part. Le rédacteur IA fait un brouillon correct, je retouche un peu, je programme, c'est fait. Je suis passé d'une publication par mois à trois par semaine.

Denys Kholin
Denys Kholin

Designer Freelance

On a connecté notre agent OpenClaw à AdaptlyPost et maintenant notre IA publie les mises à jour produit sur tous les canaux automatiquement. Ça semble futuriste mais honnêtement ça marche tout simplement. L'intégration API était simple.

Taras Shynkarenko
Taras Shynkarenko

Fondateur de Startup

Je ne suis pas un adepte des réseaux sociaux mais j'ai besoin de publier mon travail quelque part. Le rédacteur IA fait un brouillon correct, je retouche un peu, je programme, c'est fait. Je suis passé d'une publication par mois à trois par semaine.

Denys Kholin
Denys Kholin

Designer Freelance

On a connecté notre agent OpenClaw à AdaptlyPost et maintenant notre IA publie les mises à jour produit sur tous les canaux automatiquement. Ça semble futuriste mais honnêtement ça marche tout simplement. L'intégration API était simple.

Taras Shynkarenko
Taras Shynkarenko

Fondateur de Startup

Je ne suis pas un adepte des réseaux sociaux mais j'ai besoin de publier mon travail quelque part. Le rédacteur IA fait un brouillon correct, je retouche un peu, je programme, c'est fait. Je suis passé d'une publication par mois à trois par semaine.

Denys Kholin
Denys Kholin

Designer Freelance

On a connecté notre agent OpenClaw à AdaptlyPost et maintenant notre IA publie les mises à jour produit sur tous les canaux automatiquement. Ça semble futuriste mais honnêtement ça marche tout simplement. L'intégration API était simple.

Taras Shynkarenko
Taras Shynkarenko

Fondateur de Startup

Comment ça marche

Étape 1

Gérez l'OAuth Twitter une seule fois, dans le tableau de bord

Il n'y a aucun flux OAuth dans l'API : vous connectez X dans le tableau de bord, puis vous créez une clé sous Settings > API Tokens. Chaque requête porte Authorization: Bearer adaptly_..., et GET /social-accounts renvoie l'id du compte X connecté que vous passez dans twitterConnectionIds. Pour les configurations en marque blanche, POST /connect-links génère un lien que votre utilisateur final ouvre pour connecter son propre compte X.

Étape 2

Envoyez le tweet en POST sur /social-posts

text, platforms, timezone et twitterConnectionIds sont obligatoires à chaque appel. X n'a aucun objet de configuration dans l'API - il n'existe pas de twitterConfigs, il n'y a donc rien à régler par plateforme : pas de sondages, pas de citations, pas de réponses, pas de premier commentaire, aucun contrôle de l'aperçu de lien. La règle d'un seul compte X par requête est appliquée avec un 400 : publier le même tweet depuis deux comptes X demande donc deux appels.

Étape 3

Lisez le résultat X et relancez cette entrée

Le corps de la requête est vérifié de façon synchrone au moment de la création : un text dépassant 280 caractères, plus de quatre images ou deux comptes X dans un même appel renvoient immédiatement un 400, et aucun enregistrement de post n'est écrit. GET /social-posts/:id/results rapporte ce qui s'est passé après que nous avons accepté et expédié le tweet - l'entrée X avec status, publishedAt et platformPostId, l'id natif du tweet, jamais un permalink. Quand X refuse lui-même le post - texte en double, connexion dont le token a été révoqué, vidéo qu'il rejette pendant son propre traitement - la raison atterrit dans errorMessage, et POST /social-posts/:id/retry ne relance que ce platformId. Chaque endpoint de webhook enregistré reçoit les quatre événements - post.published, post.failed, post.partially_failed et post.scheduled - sans aucun abonnement par événement à choisir.

Tarifs simples et transparents

Choisissez le forfait parfait pour vous

Creator

Parfait pour les indépendants et solopreneurs

$19

/mois

  • 30 comptes sociaux connectés

  • Posts programmés illimités

  • 1 membre d'équipe

  • 3 espaces de travail

  • 150 crédits/mois

  • Légendes IA

  • Studio d'images IA

  • Accès API et intégration OpenClaw

  • Posts image, vidéo et carrousel

Plus populaire

Pro

Pour les professionnels et équipes en croissance

$39

/mois

  • 60 comptes sociaux connectés

  • Posts programmés illimités

  • 5 membres d'équipe

  • 15 espaces de travail

  • 400 crédits/mois

  • Légendes IA

  • Studio d'images IA

  • Accès API et intégration OpenClaw

  • Posts image, vidéo et carrousel

Enterprise

Pour les agences et entreprises prêtes à grandir

$89

/mois

  • 100 comptes sociaux connectés

  • Posts programmés illimités

  • 20 membres d'équipe

  • 50 espaces de travail

  • 1000 crédits/mois

  • Légendes IA

  • Studio d'images IA

  • Accès API et intégration OpenClaw

  • Posts image, vidéo et carrousel

Essai 7 jours inclus sur tous les forfaits

Vous voulez voir la comparaison complète des fonctionnalités ? Voir la page des tarifs

Ce que vous pouvez publier sur Twitter via l'API

Tweets texte, vérifiés à 280 caractères

La charge utile complète tient dans text, platforms réglé sur TWITTER, un timezone IANA et twitterConnectionIds. Tout ce qui dépasse 280 caractères revient en 400 avant que l'appel n'atteigne X - aucune troncature silencieuse, aucun découpage automatique, car les chaînes de réponses ne sont prises en charge nulle part dans l'API. Un appel, un tweet.

Jusqu'à quatre images par tweet

Attachez une à quatre URL d'images. Quatre est le plafond strict de X, et un tweet multi-images est exactement cela - plusieurs images dans un même post, pas une unité carrousel native de X. POST /upload-urls n'accepte que image/jpeg, image/png et image/webp : les fichiers GIF, HEIC et AVIF ne peuvent donc pas y transiter.

Une vidéo, jusqu'à 140 secondes

MP4 ou MOV, 512 MB maximum, une vidéo par tweet. X lui-même n'accepte pas une vidéo mélangée à des images : gardez donc les deux séparés. Contrairement à TikTok, X accepte des mediaUrls hébergées sur votre propre hôte HTTPS, ce qui permet de sauter entièrement l'étape d'upload - ou de faire transiter les fichiers par POST /upload-urls pour des liens présignés qui expirent au bout d'une heure.

Publier tout de suite, programmer, mettre en brouillon ou en file de masse

Envoyez scheduledAt avec le timezone pour mettre un tweet en file, ou saveAsDraft puis POST /social-posts/:id/publish plus tard. POST /social-posts/bulk accepte 1 à 100 tweets dans une seule requête, tous partageant la même connexion X, avec scheduledAt obligatoire sur chaque élément. PATCH /social-posts/:id modifie tout ce qui n'est pas encore publié.

Publiez votre premier tweet depuis votre code

Connectez X dans le tableau de bord, créez une clé dans Settings > API Tokens et envoyez un seul POST sur /social-posts. La spécification exposée sur /openapi.json ne demande aucune authentification et s'importe directement dans Make, n8n ou votre propre générateur de client.