> ## Documentation Index
> Fetch the complete documentation index at: https://docs.x.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Obtener acceso

> Regístrate para obtener una cuenta de desarrollador, crea una app y guarda las API keys, el bearer token y las credenciales de OAuth que necesitas para empezar a llamar a la X API.

export const Button = ({href, children}) => {
  return <div className="not-prose group">
    <a href={href}>
      <button className="flex items-center space-x-2.5 py-1 px-4 bg-primary-dark dark:bg-white text-white dark:text-gray-950 rounded-full group-hover:opacity-[0.9] font-medium">
        <span>
          {children}
        </span>
        <svg width="3" height="24" viewBox="0 -9 3 24" class="h-6 rotate-0 overflow-visible"><path d="M0 0L3 3L0 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path></svg>
      </button>
    </a>
  </div>;
};

Empieza con la X API en tres pasos: regístrate, crea una app y guarda tus credenciales.

<Button href="https://console.x.com">Regístrate ahora</Button>

***

## Paso 1: Crea una cuenta de desarrollador

<Steps>
  <Step title="Ve a la Developer Console">
    Visita [console.x.com](https://console.x.com) e inicia sesión con tu cuenta de X.
  </Step>

  <Step title="Acepta el Acuerdo del Desarrollador">
    Revisa y acepta el Acuerdo y la Política del Desarrollador.
  </Step>

  <Step title="Completa tu perfil">
    Proporciona información básica sobre cómo usarás la API.
  </Step>
</Steps>

***

## Paso 2: Crea una app

Después de registrarte, crea una app para obtener tus credenciales de API:

<Steps>
  <Step title="Haz clic en 'New App'">
    Desde el panel de la Developer Console, crea una nueva app.
  </Step>

  <Step title="Ingresa los detalles de la app">
    Proporciona un nombre, descripción y caso de uso para tu app.
  </Step>

  <Step title="Genera las credenciales">
    La consola generará tus API keys y tokens.
  </Step>
</Steps>

***

## Paso 3: Guarda tus credenciales

Recibirás varias credenciales dependiendo de tus necesidades de autenticación:

| Credencial                | Propósito                                                                        |
| :------------------------ | :------------------------------------------------------------------------------- |
| **API Key y Secret**      | Identifican tu app. Se usan para generar tokens y firmar solicitudes OAuth 1.0a. |
| **Bearer Token**          | Autenticación app-only para leer datos públicos.                                 |
| **Access Token y Secret** | Realiza solicitudes en nombre de tu propia cuenta (OAuth 1.0a).                  |
| **Client ID y Secret**    | Autenticación OAuth 2.0 para solicitudes con contexto de usuario.                |

<Warning>
  **Guárdalas inmediatamente.** Las credenciales solo se muestran una vez. Almacénalas en un gestor de contraseñas o una bóveda segura. Si las pierdes, tendrás que regenerarlas (lo que invalida las anteriores).
</Warning>

***

## ¿Qué credenciales necesitas?

<Tabs>
  <Tab title="Lectura de datos públicos">
    Usa el **Bearer Token** para acceso simple, de solo lectura a datos públicos.

    ```bash theme={null}
    curl "https://api.x.com/2/users/by/username/xdevelopers" \
      -H "Authorization: Bearer $BEARER_TOKEN"
    ```

    Ideal para: Buscar posts, consultar usuarios, leer tendencias.
  </Tab>

  <Tab title="Actuando como usuario">
    Usa **OAuth 2.0** (recomendado) o **OAuth 1.0a** para actuar en nombre de los usuarios.

    OAuth 2.0 ofrece scopes granulares: solicita solo los permisos que necesites.

    Ideal para: Publicar, dar Like, seguir, acceder a DMs.

    [Guía de OAuth 2.0 →](/resources/fundamentals/authentication/oauth-2-0/overview)
  </Tab>

  <Tab title="Actuando como tú mismo">
    Usa tu **Access Token y Secret** para realizar solicitudes como tu propia cuenta.

    Estos tokens representan la cuenta propietaria de la app.

    Ideal para: Pruebas, bots personales, tu propia automatización.
  </Tab>
</Tabs>

***

## Mejores prácticas de seguridad de credenciales

<CardGroup cols={2}>
  <Card title="Usa variables de entorno" icon="terminal">
    Nunca incrustes credenciales en tu código fuente.
  </Card>

  <Card title="No las confirmes en git" icon="code-branch">
    Añade los archivos de credenciales a `.gitignore`.
  </Card>

  <Card title="Rota regularmente" icon="arrows-rotate">
    Regenera las credenciales periódicamente como medida de seguridad.
  </Card>

  <Card title="Usa scopes mínimos" icon="shield-check">
    Solicita solo los permisos de OAuth que tu app necesita.
  </Card>
</CardGroup>

***

## Próximos pasos

<CardGroup cols={2}>
  <Card title="Haz tu primera solicitud" icon="rocket" href="/x-api/getting-started/make-your-first-request">
    Llama a la API con tus nuevas credenciales.
  </Card>

  <Card title="Aprende sobre autenticación" icon="key" href="/resources/fundamentals/authentication/overview">
    Comprende OAuth 1.0a y OAuth 2.0.
  </Card>
</CardGroup>
