Guides · social · Verification-gated

X API (developer console, app and keys)

Sign in to the X Developer Console with an X account, accept the Developer Agreement and Policy, describe your use case, create an app, buy prepaid pay-per-use credits, and copy the app's keys and tokens (shown once).

Researched · not yet run liveLast researched 25 October 2026 · X Corp · provider site

Researched, not yet run live. Built from the provider’s official pages (linked below). A person hasn’t walked this flow end to end yet, so check each step against the source.

Who owns what

Everything hangs off an ordinary X user account. The developer account is created by signing that account in to the Developer Console; apps live under it and each app has its own keys. Credits and billing sit on the developer account.

  • X user account personal owned by the person (or a company-controlled X account)The account that signs in to console.x.com and owns the apps. A verified phone number is required to subscribe to paid services.
  • X developer account developer · under X user accountCreated by accepting the Developer Agreement and Policy and completing the profile in the Developer Console.
  • App project · under X developer accountHolds the API key/secret, bearer token, access token/secret and OAuth 2.0 client id/secret. Policy allows separate apps only for dev, staging and production of the same service (up to 3).

Credits are prepaid and deducted per request; a negative balance blocks API requests.

Have ready

  • An X account you control, with a verified phone number: The Developer Agreement requires a verified phone number to subscribe to paid services.
  • A phone number verified on the X account · X requires a verified phone number to subscribe to a paid service. [5]Needed for: Add a card, buy credits and set a spending limit
  • A payment card for prepaid X API credits · Access is pay-per-use with prepaid credits; the $20 starter credit needs a saved card and a first purchase. [2]Needed for: Add a card, buy credits and set a spending limit
  • A short, honest description of how you will use the API · The console profile asks for basic information about how you'll use the API, and each app asks for a use case. [1]Needed for: Accept the Developer Agreement and complete your profile, Create an app
  • Your OAuth callback URL(s), using HTTPS in production and http://127.0.0.1 (not localhost) for local work · Callback URLs must match the app's allowlist exactly (max 10 per app). [3]Needed for: Set app permissions and user authentication

Steps

Steps marked “human step” are ones only you can do: verapli never signs in, submits, pays or accepts terms for you.

  1. Sign in to the X Developer Console

    Sign in at console.x.com with the X account that will own the apps. You sign in yourself; verapli never handles your X password.

    • Guided by hand
    • Human step: You sign in

    Where: https://console.x.com/

  2. Accept the Developer Agreement and complete your profile

    Read and accept the Developer Agreement and Policy, then fill in basic information about how you'll use the API. Describe the real use case; the policy forbids extra apps for the same use case.

    • Guided by hand
    • Human step: You accept the terms
    • After: Sign in to the X Developer Console

    Where: https://console.x.com/

  3. Create an app

    Click New App and enter a name, description and use case. The console then generates the app's keys and tokens.

    • Guided by hand
    • Human step: You press submit
    • After: Accept the Developer Agreement and complete your profile
    If something goes wrong (1)
    • You lost a key or secret after closing the dialog: Credentials are only shown once. Regenerate them in the console; the old values stop working, so update every place that used them. [1]

    Where: https://console.x.com/

  4. Add a card, buy credits and set a spending limit

    Save a payment method and buy prepaid credits on X's billing page (you enter card details yourself). Set a maximum spend per billing cycle, and optionally auto-recharge with a threshold.

    • Guided by hand
    • Human step: You add payment details
    • After: Create an app
    If something goes wrong (1)
    • API calls start failing although the keys are right: Check the credit balance and spending limit. A negative balance or a reached spend cap blocks requests until you add credits or the next cycle starts. [2]

    Where: https://console.x.com/

  5. Set app permissions and user authenticationoptional

    Choose the permission level (Read; Read and write; Read, write and DMs), pick the OAuth 2.0 app type (Web App, Automated App/Bot, Native App, Single Page App) and add the exact callback URLs.

    • Guided by hand
    • Human step: You press submit
    • After: Create an app
    If something goes wrong (2)
    • Write calls fail after you changed permissions: Changing permissions requires users (including you) to re-authorise the app to get new tokens. [3]
    • OAuth redirect fails with a callback error: The callback must match an allowlisted URL exactly. Use http://127.0.0.1 rather than localhost locally. [3]

    Where: https://console.x.com/

  6. Copy the keys and tokens into your env file

    Copy the API key and secret, bearer token, and (if needed) access token/secret and OAuth 2.0 client id/secret. verapli captures them by selector and writes them only to your own files.

    • Guided by hand
    • After: Create an app

    verapli captures X_BEARER_TOKEN here by plain code: encrypted in your browser, never shown to AI.

Terms and gotchas

Plain-English summary, not legal advice. Each card links its source.

Can get you bannedThe rules say

No bulk or spammy automation

The Developer Policy says never to perform bulk, aggressive or spammy actions, and automated replies or DMs need explicit consent first. Breaches can lead to suspension or permanent revocation of API access. [4]

Can get you bannedThe rules say

One app per use case

You may not register multiple applications for the same or overlapping use case; the exception is up to three apps for development, staging and production of one service. Do not create extra apps to get more rate limit. [4]

Can get you bannedThe rules say

No circumventing rate limits

You may not exceed or circumvent X API rate limits. [4]

Can get you bannedThe rules say

No training foundation models

The Developer Agreement forbids using the X API or X Content to fine-tune or train a foundation or frontier model. [5]

Can cost moneyThe rules say

Redistribution is IDs only

You may only distribute Post IDs, DM IDs and/or User IDs, capped at 1,500,000 Post IDs per entity in any 30-day period. Matching X accounts to off-X identities needs express opt-in consent. [4]

Can cost moneyThe rules say

Costs accrue per request

Pay-per-use reads are billed per resource returned and writes per request (e.g. $0.005 per post read, $0.015 per post created, $0.200 per post created with a URL). Set a spending limit to avoid surprises. [2]

Worth knowingThe rules say

X can terminate for any reason

X may terminate the agreement for any reason at its sole discretion, and immediately on notice for breach. [5]

What you end up with

Env varSecretFormatWhat it is
X_API_KEYsecretApp API key (consumer key), identifies the app and signs OAuth 1.0a requests
X_API_SECRETsecretApp API key secret
X_BEARER_TOKENsecretApp-only bearer token for reading public data
X_ACCESS_TOKENsecretAccess token acting as the account that owns the app (OAuth 1.0a)
X_ACCESS_TOKEN_SECRETsecretAccess token secret (OAuth 1.0a)
X_CLIENT_IDnot secretOAuth 2.0 client id for user-context requests
X_CLIENT_SECRETsecretOAuth 2.0 client secret (confidential clients only; public clients use PKCE)

Pricing

  • Free tier: No ongoing free tier is described on the pricing page. $20 of credits after saving a card and making a first eligible purchase; first auto-recharge matched up to $50.
  • Costs: Prepaid pay-per-use. Examples: post read $0.005; user read $0.010; post create $0.015; post create with URL $0.200; owned reads $0.001. Pay-per-use is capped at 3 million post reads per monthly cycle; more needs Enterprise.
  • Spending limit per billing cycle and auto-recharge available. Up to 20% back as xAI API credits by spend band. Legacy Basic/Pro plans are not described on the current pricing page [to verify].

Source [2]

For agents

The same entry as JSON: /api/v1/entries/x/developer-api · requirements /api/v1/requirements/x/developer-api · terms /api/v1/terms/x/developer-api.

Remote MCP (read-only, no auth)
claude mcp add --transport http verapli https://verapli.com/mcp

> "What do I need for X API (developer console, app and keys), and how long will it take?"
  → tools/call requirements { "provider_id": "x/developer-api" }

Sources

  1. X API - Getting access Console sign-in, Developer Agreement acceptance, profile with use-case info, New App, credential types, credentials shown once · accessed 25 October 2026 · official
  2. X API - Pricing Pay-per-usage prepaid credits, per-unit prices, 3M post-read cap, spending limits, auto-recharge, negative balance blocks requests, $20 starter credit, xAI credit back · accessed 25 October 2026 · official
  3. X API - Developer apps Permission levels, re-authorisation after permission change, callback URL allowlist (max 10, exact match, 127.0.0.1 not localhost), OAuth 2.0 app types, key regeneration · accessed 25 October 2026 · official
  4. X Developer Policy No bulk/aggressive/spammy actions, no circumventing rate limits, no multiple apps for one use case (max 3 for dev/staging/prod), redistribution limited to IDs (1.5M Post IDs per 30 days), off-X matching needs opt-in, suspension or revocation · accessed 25 October 2026 · official
  5. X Developer Agreement Ban on using X API/Content to fine-tune or train a foundation or frontier model; age 13+ (18+ for paid services); verified phone number required to subscribe; termination for any reason · accessed 25 October 2026 · official

Provider rules change. This page is generated from verapli registry version 2026.1025.316; spotted something out of date? Tell us. X Corp is not affiliated with verapli.