Passer au contenu principal

Présentation

Le champ métriques permet aux développeurs d’accéder aux métriques d’engagement publiques et privées pour les objets Post et média. Les métriques publiques sont accessibles à toute personne disposant d’un compte développeur, tandis que les métriques privées sont accessibles depuis des comptes détenus/autorisés (définition ci-dessous). Les métriques incluent le nombre total d’impressions, de Retweets, de Quote Tweets, de likes, de réponses, de vues vidéo, de quartiles de vues vidéo, ainsi que les clics sur les URL et les liens de profil pour chaque Post spécifié dans la requête. Il est également possible d’afficher une ventilation des métriques obtenues dans un contexte organique ou sponsorisé, si le Post a été promu en tant que Ad. Les métriques publiques peuvent être demandées avec l’authentification App-only Token. Les métriques non publiques peuvent être demandées uniquement pour des Posts détenus/autorisés, ce qui signifie que les développeurs doivent s’authentifier en utilisant l’autorisation en contexte utilisateur OAuth 2.0 ou OAuth 1.0a. Les métriques non publiques, organiques et sponsorisées ne sont disponibles que pour les Posts créés au cours des 30 derniers jours.

Terminologie

  • Compte autorisé : Un compte X qui a autorisé votre App développeur X en lui accordant l’accès à ce compte (tout niveau d’autorisations de l’App permettra l’accès aux métriques de Post).
  • Compte propriétaire : Un compte X lié à votre App développeur X.
  • Métriques publiques : Totaux accessibles à tous sur X, tels que le nombre de likes et le nombre de Retweets.
  • Métriques non publiques : Totaux non accessibles publiquement sur X, tels que le nombre d’impressions et les quartiles de vues vidéo. Nécessite une authentification en contexte utilisateur via OAuth 2.0 ou OAuth 1.0a.
  • Métriques organiques : Regroupement de métriques publiques et non publiques attribuées à un contexte organique (publiées et consultées de manière classique). Nécessite une authentification en contexte utilisateur via OAuth 2.0 ou OAuth 1.0a.
  • Métriques sponsorisées : Regroupement de métriques publiques et non publiques attribuées à un contexte sponsorisé (publiées ou consultées dans le cadre d’une campagne publicitaire). Nécessite une authentification en contexte utilisateur via OAuth 2.0 ou OAuth 1.0a et que le Post ait été sponsorisé dans une annonce.

Métriques disponibles

MétriqueReprésentations APIDescription
Impressionsdata.non_public_metrics.impression_count, data.organic_metrics.impression_count, data.promoted_metrics.impression_countNombre de fois où le Post a été affiché (non unique par utilisateur). Une vue est comptabilisée dès qu’une partie du Post est visible à l’écran. Nécessite l’authentification Contexte utilisateur OAuth 1.0a.
Retweetsdata.public_metrics.retweet_count, data.organic_metrics.retweet_count, data.promoted_metrics.retweet_countNombre de fois où le Post a été Retweeté. N’inclut pas les Quote Tweets (« Retweets avec commentaire »). Pour obtenir le total « Retweets et commentaires » tel qu’affiché dans les clients X, additionnez retweet_count et quote_count.
Quote Tweetsdata.public_metrics.quote_countNombre de fois où le Post a été Retweeté avec un nouveau commentaire (message). Il n’existe pas de Quote Tweets en contexte payant ; tous les Quote Tweets sont organiques.
Likesdata.public_metrics.like_count, data.organic_metrics.like_count, data.promoted_metrics.like_countNombre de fois où le Post a reçu un like. Le champ public_metrics renvoie le nombre total de likes issus des contextes organique et payant afin d’être cohérent avec les décomptes affichés publiquement sur X.
Repliesdata.public_metrics.reply_count, data.organic_metrics.reply_count, data.promoted_metrics.reply_countNombre de fois où le Post a reçu une réponse. Le champ public_metrics renvoie le nombre total de réponses issues des contextes organique et payant.
URL Link Clicksdata.non_public_metrics.url_link_clicks, data.organic_metrics.url_link_clicks, data.promoted_metrics.url_link_clicksNombre de fois où un utilisateur a cliqué sur un lien URL ou une carte d’aperçu d’URL dans un Post. Nécessite l’authentification Contexte utilisateur OAuth 1.0a.
User Profile Clicksdata.non_public_metrics.user_profile_clicks, data.organic_metrics.user_profile_clicks, data.promoted_metrics.user_profile_clicksNombre de fois où un utilisateur a cliqué sur des éléments d’un Post : nom d’affichage, nom d’utilisateur, photo de profil. Nécessite l’authentification Contexte utilisateur OAuth 1.0a.
Vues vidéoincludes.media.public_metrics.view_count, includes.media.organic_metrics.view_count, includes.media.promoted_metrics.view_countNombre de fois où la vidéo incluse dans le Post a été visionnée. Il s’agit du nombre de vues vidéo agrégées sur tous les Posts dans lesquels la vidéo donnée a été publiée. Nécessite l’expansion média expansions=attachment.media_keys.
Quartiles de vues vidéoincludes.media.non_public_metrics.playback_0_count, includes.media.non_public_metrics.playback_25_count, includes.media.non_public_metrics.playback_50_count, includes.media.non_public_metrics.playback_75_count, includes.media.non_public_metrics.playback_100_countNombre d’utilisateurs ayant regardé chaque quartile d’une vidéo. Nécessite l’authentification Contexte utilisateur OAuth 1.0a et l’expansion média expansions=attachment.media_keys.

Demander des métriques

Métriques publiques

Dans la requête suivante, nous demandons des métriques publiques pour le Post et la vidéo jointe avec les champs et l’expansion suivants. Assurez-vous de remplacer $BEARER_TOKEN par votre propre Jeton Bearer généré.
  • tweet.fields=public_metrics
  • expansions=attachments.media_keys&media.fields=public_metrics

Exemple de requête

curl 'https://api.x.com/2/tweets?ids=1204084171334832128&tweet.fields=public_metrics&expansions=attachments.media_keys&media.fields=public_metrics' --header 'Authorization: Bearer $BEARER_TOKEN'

Métriques privées (non publiques, organiques)

La requête suivante demande des métriques non publiques, avec des détails supplémentaires sur les métriques organiques, pour le Post et la vidéo jointe. Étant donné que ces fields sont privés et non visibles publiquement sur X, la requête nécessite une authentification en contexte utilisateur via OAuth 2.0 ou OAuth 1.0a. Reportez-vous à notre guide pour générer la signature OAuth 1.0a requise ci-dessous.
  • tweet.fields=non_public_metrics,organic_metrics
  • expansions=attachments.media_keys&media.fields=non_public_metrics,organic_metrics

Exemple de requête

curl 'https://api.x.com/2/tweets/1204084171334832128?tweet.fields=non_public_metrics,organic_metrics&media.fields=non_public_metrics,organic_metrics&expansions=attachments.media_keys' --header 'authorization: OAuth oauth_consumer_key="CONSUMER_API_KEY", oauth_nonce="OAUTH_NONCE", oauth_signature="OAUTH_SIGNATURE", oauth_signature_method="HMAC-SHA1", oauth_timestamp="OAUTH_TIMESTAMP", oauth_token="ACCESS_TOKEN", oauth_version="1.0"'

Exemple de réponse

{
  "data": {
    "attachments": {
      "media_keys": ["13_1204080851740315648"]
    },
    "id": "1263145271946551300",
    "non_public_metrics": {
      "impression_count": 956,
      "url_link_clicks": 9,
      "user_profile_clicks": 34
    },
    "organic_metrics": {
      "impression_count": 956,
      "like_count": 49,
      "reply_count": 2,
      "retweet_count": 9,
      "url_link_clicks": 9,
      "user_profile_clicks": 34
    },
    "text": "test"
  },
  "includes": {
    "media": [
      {
        "media_key": "13_1204080851740315648",
        "non_public_metrics": {
          "playback_0_count": 0,
          "playback_100_count": 1,
          "playback_25_count": 2,
          "playback_50_count": 1,
          "playback_75_count": 1
        },
        "organic_metrics": {
          "playback_0_count": 0,
          "playback_100_count": 1,
          "playback_25_count": 2,
          "playback_50_count": 1,
          "playback_75_count": 1,
          "view_count": 1
        },
        "type": "video"
      }
    ]
  }
}
I