{"id":11889,"name":"ReadX","description":"Read-only JSON API for X (Twitter) data — user profiles, timelines, tweets and conversations, edit history, search, Lists, followers/following/mentions, trending topics, Spaces and Communities metadata, long-form articles, and broadcasts. No signup or API key: every call is paid per request in USDC via the x402 protocol, so any x402-capable agent can pay and fetch directly.","card_url":"https://readx.sh/.well-known/agent-card.json","endpoint":"https://readx.sh/api/a2a/v1","protocol_version":"0.3.0","first_seen":"2026-10-10T13:30:26.926220+00:00","last_verified":"2026-10-10T16:22:35.751422+00:00","card":{"url":"https://readx.sh/api/a2a/v1","name":"ReadX","skills":[{"id":"profile-lookup","name":"User Profile Lookup","tags":["profile","user","bio"],"examples":["Get @jack's profile and follower count","What's the bio and verification status for @openai?"],"description":"Look up an X user's profile: bio, follower/following counts, verification status, pinned tweet, and join date.","x-inputSchema":{"username":"string, required — X handle without @"}},{"id":"user-info","name":"User Profile Info","tags":["profile","user","bio"],"examples":["What's @jack's follower count and bio?","Get profile info for @openai"],"description":"Look up an X user's profile info: id, name, bio, location, follower/following counts, and verification status.","x-inputSchema":{"username":"string, required — X handle without @"}},{"id":"user-status","name":"Account Status","tags":["profile","user","suspended"],"examples":["Is @jack suspended?","Does the handle @some_user still exist?"],"description":"Check whether an X account is alive, suspended, not found, or unavailable — plus its numeric id when alive.","x-inputSchema":{"username":"string, required — X handle without @"}},{"id":"user-relations","name":"Followers, Following & Mentions","tags":["followers","following","social-graph","mentions","media"],"examples":["List the first page of accounts @jack follows","Get @openai's verified followers","Get tweets that mention @jack","Get @jack's media tweets"],"description":"Export a user's followers, following, web-view followers/following, verified-followers, mentions, media, or affiliates.","x-inputSchema":{"kind":"string, optional — one of followers | followers_web | following | following_web | verified_followers | mentions | media | affiliates (default: followers)","cursor":"string, optional — page cursor from a prior response's next_cursor","username":"string, required"}},{"id":"timeline","name":"User Timeline","tags":["timeline","tweets"],"examples":["Get the latest tweets from @jack","Show @jack's replies-only timeline","Get @jack's recent tweets with their threads fully expanded"],"description":"Fetch a user's tweets, replies, or media-only timeline, or their recent tweets with self-threads expanded, paginated.","x-inputSchema":{"cursor":"string, optional — page cursor from a prior response's pagination.bottom","variant":"string, optional — one of tweets | with_replies | with_media | complete (default: tweets)","username":"string, required"}},{"id":"tweet-lookup","name":"Tweet & Conversation Lookup","tags":["tweet","conversation","replies"],"examples":["Read tweet 20 on its own","Read tweet 20 from @jack with its conversation","Get the edit history for @jack's tweet 20","Read the whole thread that tweet 20 belongs to"],"description":"Read a single tweet, its full conversation (replies), the author's full self-thread, its edit history, or who retweeted it.","x-inputSchema":{"id":"string, required — numeric tweet id","view":"string, optional — one of single | conversation | history | replies | retweeters | thread (default: single)","cursor":"string, optional — page cursor, for view=replies or view=retweeters","username":"string, required when view is conversation or history"}},{"id":"search","name":"Tweet & User Search","tags":["search"],"examples":["Search tweets for 'typescript'","Search for users matching 'openai'"],"description":"Search tweets or users by keyword.","x-inputSchema":{"q":"string, required — search query","kind":"string, optional — tweets | users (default: auto-detect from query)","cursor":"string, optional","product":"string, optional — tweet search product filter"}},{"id":"hashtag","name":"Hashtag Resolution","tags":["hashtag","search"],"examples":["Look up tweets under #typescript"],"description":"Resolve a hashtag to its tweet search results.","x-inputSchema":{"tag":"string, required — hashtag, with or without the leading #"}},{"id":"lists","name":"X List Members","tags":["lists"],"examples":["Get members of list 123"],"description":"Read the members of an X List by its numeric id.","x-inputSchema":{"id":"string, required — numeric list id","cursor":"string, optional — page cursor from a prior response's next_cursor"}},{"id":"trends","name":"Trending Topics","tags":["trends","trending"],"examples":["What's trending worldwide right now?","What's trending in the US?"],"description":"Get trending topics for a location — worldwide by default, or filter by country name/ISO code or WOEID.","x-inputSchema":{"count":"string, optional — cap the number of trends returned (up to 50)","woeid":"string, optional — numeric Yahoo WOEID; overrides country when both are given","country":"string, optional — location name or ISO code, e.g. US, india, tokyo (default: worldwide)"}},{"id":"trend-locations","name":"Trend Locations","tags":["trends","locations","woeid"],"examples":["Which cities can I get trends for?","What's the WOEID for Tokyo?"],"description":"List every location trending topics are available for — worldwide, countries, and cities — with the WOEID to pass to the trends skill.","x-inputSchema":{}},{"id":"articles","name":"X Articles","tags":["articles","long-form"],"examples":["Read the X article at tweet id 42"],"description":"Read a long-form X article by its wrapper tweet id (public), or by entity id with an auth token (owner-only).","x-inputSchema":{"id":"string, required — wrapper tweet id, or entity rest_id when authToken is set","authToken":"string, optional — owner auth token for entity-id lookups"}},{"id":"id-resolution","name":"Handle / User ID Resolution","tags":["utility","resolver"],"examples":["What's the numeric user id for @jack?"],"description":"Resolve an @handle to its numeric user id, or a numeric user id back to a username.","x-inputSchema":{"userId":"string, optional — resolves to a username (provide exactly one of username/userId)","username":"string, optional — resolves to a user id"}},{"id":"spaces","name":"Space Info","tags":["spaces","broadcast"],"examples":["Get Space 1vOxwrneqBqJB"],"description":"Fetch metadata for an X Space by id — title, host, state, listener counts, and whether audio is downloadable.","x-inputSchema":{"id":"string, required — Space id (the segment after /i/spaces/ in a Space URL)"}},{"id":"communities","name":"Community Info","tags":["communities"],"examples":["Get Community 1493446837214187523"],"description":"Fetch metadata for an X Community by id — name, description, member and moderator counts, rules, primary topic, admin and creator.","x-inputSchema":{"id":"string, required — numeric Community id (the segment after /i/communities/ in a Community URL)"}},{"id":"broadcasts","name":"Broadcasts","tags":["broadcast"],"examples":["Get broadcast abc123"],"description":"Read metadata for an X broadcast (live audio/video) by id.","x-inputSchema":{"id":"string, required — broadcast id"}}],"version":"1.0.0","provider":{"url":"https://readx.sh","organization":"ReadX"},"description":"Read-only JSON API for X (Twitter) data — user profiles, timelines, tweets and conversations, edit history, search, Lists, followers/following/mentions, trending topics, Spaces and Communities metadata, long-form articles, and broadcasts. No signup or API key: every call is paid per request in USDC via the x402 protocol, so any x402-capable agent can pay and fetch directly.","capabilities":{"streaming":false,"pushNotifications":false,"stateTransitionHistory":false},"x-invocation":"POST a Message to {url}/message:send with { \"message\": { \"role\": \"user\", \"parts\": [ { \"kind\": \"data\", \"data\": { \"skill\": \"<skill id>\", \"input\": { ... } } } ] } }. Returns a Task with status.state \"completed\" (result in artifacts[0].parts[0].data) or \"failed\" (reason in status.message). Fetch a past Task with GET {url}/tasks/{id} (retained 10 minutes). Every message:send call is paid per request — see x-payment-info.","x-payment-info":{"price":{"mode":"fixed","amount":"0.010000","currency":"USD"},"specUrl":"https://readx.sh/openapi.json","protocols":[{"x402":{"networks":["base","solana"]}}]},"protocolVersion":"0.3.0","documentationUrl":"https://readx.sh/skill.md","defaultInputModes":["application/json"],"defaultOutputModes":["application/json"],"preferredTransport":"HTTP+JSON","additionalInterfaces":[{"url":"https://readx.sh/api/a2a/v1","transport":"HTTP+JSON"}],"supportsAuthenticatedExtendedCard":false},"signature_status":"unsigned","signature_detail":"No card signature supplied","signature_key_url":null,"signature_checked_at":"2026-10-10T16:22:35.751422+00:00","domain_claimed_at":null,"domain_proof_checked_at":null,"source_name":"Agent Tools Catalog","source_url":"https://agent-tools.cloud","last_check":{"checked_at":"2026-10-10T16:22:35.751422+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},"also_published_at":[],"history_urls":["https://readx.sh/.well-known/agent-card.json"],"skills":[{"skill_id":"user-status","name":"Account Status","description":"Check whether an X account is alive, suspended, not found, or unavailable — plus its numeric id when alive.","tags":["profile","user","suspended"],"quality_warning":false},{"skill_id":"broadcasts","name":"Broadcasts","description":"Read metadata for an X broadcast (live audio/video) by id.","tags":["broadcast"],"quality_warning":false},{"skill_id":"communities","name":"Community Info","description":"Fetch metadata for an X Community by id — name, description, member and moderator counts, rules, primary topic, admin and creator.","tags":["communities"],"quality_warning":false},{"skill_id":"user-relations","name":"Followers, Following & Mentions","description":"Export a user's followers, following, web-view followers/following, verified-followers, mentions, media, or affiliates.","tags":["followers","following","social-graph","mentions","media"],"quality_warning":false},{"skill_id":"id-resolution","name":"Handle / User ID Resolution","description":"Resolve an @handle to its numeric user id, or a numeric user id back to a username.","tags":["utility","resolver"],"quality_warning":false},{"skill_id":"hashtag","name":"Hashtag Resolution","description":"Resolve a hashtag to its tweet search results.","tags":["hashtag","search"],"quality_warning":false},{"skill_id":"spaces","name":"Space Info","description":"Fetch metadata for an X Space by id — title, host, state, listener counts, and whether audio is downloadable.","tags":["spaces","broadcast"],"quality_warning":false},{"skill_id":"trend-locations","name":"Trend Locations","description":"List every location trending topics are available for — worldwide, countries, and cities — with the WOEID to pass to the trends skill.","tags":["trends","locations","woeid"],"quality_warning":false},{"skill_id":"trends","name":"Trending Topics","description":"Get trending topics for a location — worldwide by default, or filter by country name/ISO code or WOEID.","tags":["trends","trending"],"quality_warning":false},{"skill_id":"tweet-lookup","name":"Tweet & Conversation Lookup","description":"Read a single tweet, its full conversation (replies), the author's full self-thread, its edit history, or who retweeted it.","tags":["tweet","conversation","replies"],"quality_warning":false},{"skill_id":"search","name":"Tweet & User Search","description":"Search tweets or users by keyword.","tags":["search"],"quality_warning":false},{"skill_id":"user-info","name":"User Profile Info","description":"Look up an X user's profile info: id, name, bio, location, follower/following counts, and verification status.","tags":["profile","user","bio"],"quality_warning":false},{"skill_id":"profile-lookup","name":"User Profile Lookup","description":"Look up an X user's profile: bio, follower/following counts, verification status, pinned tweet, and join date.","tags":["profile","user","bio"],"quality_warning":false},{"skill_id":"timeline","name":"User Timeline","description":"Fetch a user's tweets, replies, or media-only timeline, or their recent tweets with self-threads expanded, paginated.","tags":["timeline","tweets"],"quality_warning":false},{"skill_id":"articles","name":"X Articles","description":"Read a long-form X article by its wrapper tweet id (public), or by entity id with an auth token (owner-only).","tags":["articles","long-form"],"quality_warning":false},{"skill_id":"lists","name":"X List Members","description":"Read the members of an X List by its numeric id.","tags":["lists"],"quality_warning":false}],"quality_flags":[],"check_history":{"checks":2,"passed":2},"recent_checks":[{"card_url":"https://readx.sh/.well-known/agent-card.json","checked_at":"2026-10-10T16:22:35.751422+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},{"card_url":"https://readx.sh/.well-known/agent-card.json","checked_at":"2026-10-10T13:30:26.926220+00:00","success":true,"http_status":200,"detail":"Agent Card validated"}],"endpoint_tls_check":{"checked_at":"2026-10-10T16:22:35.751422+00:00","success":true,"detail":"Valid TLS connection to advertised endpoint host; no A2A request sent"},"protocol_check":{"checked_at":"2026-10-10T13:30:26.926220+00:00","state":"unconfirmed","http_status":404,"detail":"Endpoint returned a generic not-found response"},"events":[],"relationships":[],"verification":{"agent_card_url":"https://readx.sh/.well-known/agent-card.json","last_successful_card_check":"2026-10-10T16:22:35.751422+00:00","latest_card_check":{"checked_at":"2026-10-10T16:22:35.751422+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},"signature_status":"unsigned","signature_checked_at":"2026-10-10T16:22:35.751422+00:00","task_endpoint_tested":true,"task_execution_tested":false,"endpoint_tls_checked_at":"2026-10-10T16:22:35.751422+00:00","endpoint_tls_reachable":true,"protocol_check_state":"unconfirmed","protocol_checked_at":"2026-10-10T13:30:26.926220+00:00","provider_identity_verified":false,"domain_claimed_at":null,"domain_proof_checked_at":null}}