X Emulator
Stateful X (formerly Twitter) API v2 emulator focused on faithful auth: app-only Bearer tokens, OAuth 2.0 Authorization Code with PKCE, and a documented-partial legacy OAuth 1.0a surface.
Create an instance
Each instance is isolated, stateful, and addressable at its own host. The server generates an unguessable name; an optional {"instance":"<prefix>"} body adds a readable prefix.
curl -s -X POST https://x.emulators.dev/_emulate/instances
Hosted deployments create instances lazily when the returned URL is first used. The instance URL is a capability: anyone who has it can read and modify the instance, so save the returned URLs. Never store real secrets in an emulator.
Sample instance host: https://x.your-instance.emulators.dev
Surfaces
| Surface | Status | Path |
|---|---|---|
| X API v2 (REST) | partial | /2 |
| OAuth 2.0 Authorization Code (PKCE) | supported | /2/oauth2 |
| App-only Bearer token (client credentials) | supported | /2/oauth2/token |
| Legacy OAuth 1.0a user context | unsupported | |
Control API
manifest | quickstart | specs | coverage | connections