Hi everyone,
I’m facing a persistent 503 Service Unavailable error when trying to post a tweet via n8n. Despite successfully authenticating, every attempt to execute the node fails.
My Setup:
-
n8n Version: 2.8.3 (Self-hosted via Docker)
-
Environment: Subdomain with valid SSL/HTTPS.
-
X API Plan: Free Tier (not Pay Per Use).
-
Permissions: Set to Read and Write (re-generated tokens after changing permissions).
What I have tried (The “Deep Dive”):
-
Official n8n Nodes: I started by using the native X (Twitter) node with both the built-in X OAuth1 and X OAuth2 credential types. In both cases, the authentication was successful, but the execution consistently triggered the 503 Service Unavailable error.
-
Generic OAuth 2.0 (PKCE): I then tried the HTTP Request node with a Generic OAuth2 credential using Client ID/Secret and scopes:
tweet.read,tweet.write,users.read,offline.access. The authentication flow completed successfully (“Connection Successful”), but execution still returned 503. -
Generic OAuth 1.0a: I also tried a manual OAuth 1.0a configuration with all 4 keys (Consumer Key/Secret & Access Token/Secret). Again, the connection was successful, but the execution failed.
-
Endpoints: Tested both
https://api.twitter.com/2/tweets(v2) andhttps://api.twitter.com/1.1/statuses/update.json(v1.1). The v1.1 endpoint returns a 403 (as expected for Free Tier), but v2 consistently returns 503. -
Headers: Added a custom
User-Agent(mimicking a Chrome browser) to the HTTP Request to rule out basic bot-filtering. -
Retry Logic: Implemented “Retry on Fail” settings with up to 10 tries and 30s intervals.
-
Cooldown Period: Waited for more than 6 hours between attempts to ensure my server’s IP wasn’t temporarily rate-limited or flagged.
The error details from the node: 503 - {"title":"Service Unavailable","detail":"Service Unavailable","type":"about:blank","status":503}
I’ve verified that the tweets are not actually being posted. Since authentication works but the POST request fails with 503, I’m wondering if this is a known issue with the X Free Tier for certain IP ranges or if there’s a specific header/JSON formatting quirk in this n8n version that X’s load balancer dislikes.
Has anyone managed to bypass this 503 error on a self-hosted instance recently?