C
Surf Twitter
Preview responses and set spending limits for this service through use.mpp.land
Free budget controls, response samples, and reliability routing.
Compliance Checks
All paid ops declare 402 response
MUST
10pt
All x-payment-info valid
MUST
10pt
Challenge has Cache-Control: no-store
MUST
5pt
Challenge digest on POST
SHOULD
3pt
Challenge has expires
SHOULD
3pt
Challenge has Problem Details
SHOULD
2pt
Challenge has required params
MUST
5pt
Challenge has WWW-Authenticate
MUST
5pt
Challenge returns 402
MUST
10pt
Correct Content-Type
MUST
5pt
Has Cache-Control on discovery
SHOULD
5pt
Has input schemas
SHOULD
5pt
Has llms.txt
SHOULD
5pt
Has /openapi.json at root
MUST
10pt
Has required top-level fields
MUST
10pt
Served over HTTPS
MUST
10pt
Uses standard categories
SHOULD
2pt
1 issue
- 402 response missing Cache-Control: no-store
Paid Operations (26)
GET /tweets/search dynamic
Search tweets
Advanced search with 50+ operators
- Amount
- 0.005
- Currency
- -
- Method
- x402, mpp
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: 0.005 pricingMode: fixed protocols: [x402 mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| q | query | string | Yes | Search query with advanced operators |
| sort | query | string | No | Sort order |
| limit | query | integer | No | Max results |
| cursor | query | string | No | Pagination cursor |
Response Schema (200)
{
"$ref": "#/components/schemas/TweetSearchResponse"
}
GET /tweets/{id} dynamic
Fetch tweet by ID
Returns a single tweet with author, quoted tweet, and parent (if reply) auto-included
- Amount
- 0.001
- Currency
- -
- Method
- x402, mpp
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: 0.001 pricingMode: fixed protocols: [x402 mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | Yes | Tweet ID |
Response Schema (200)
{
"$ref": "#/components/schemas/SingleTweetResponse"
}
GET /tweets dynamic
Batch fetch tweets by IDs
- Amount
- 0.004
- Currency
- -
- Method
- x402, mpp
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: 0.004 pricingMode: fixed protocols: [x402 mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| ids | query | string | Yes | Comma-separated tweet IDs |
Response Schema (200)
{
"$ref": "#/components/schemas/PaginatedTweets"
}
GET /tweets/{id}/replies dynamic
Get tweet replies
Paginated replies, sortable by Relevance, Latest, or Likes
- Amount
- 0.004
- Currency
- -
- Method
- x402, mpp
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: 0.004 pricingMode: fixed protocols: [x402 mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | Yes | Tweet ID |
| sort | query | string | No | Sort order |
| cursor | query | string | No | Pagination cursor |
| since | query | integer | No | Unix timestamp (seconds) - on or after |
| until | query | integer | No | Unix timestamp (seconds) - before |
Response Schema (200)
{
"$ref": "#/components/schemas/PaginatedTweets"
}
GET /tweets/{id}/quotes dynamic
Get quote tweets
- Amount
- 0.004
- Currency
- -
- Method
- x402, mpp
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: 0.004 pricingMode: fixed protocols: [x402 mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | Yes | Tweet ID |
| cursor | query | string | No | Pagination cursor |
| since | query | integer | No | Unix timestamp (seconds) - on or after |
| until | query | integer | No | Unix timestamp (seconds) - before |
| include_replies | query | boolean | No | Include replies in results |
Response Schema (200)
{
"$ref": "#/components/schemas/PaginatedTweets"
}
GET /tweets/{id}/retweeters dynamic
Get users who retweeted
- Amount
- 0.004
- Currency
- -
- Method
- x402, mpp
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: 0.004 pricingMode: fixed protocols: [x402 mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | Yes | Tweet ID |
| cursor | query | string | No | Pagination cursor |
Response Schema (200)
{
"$ref": "#/components/schemas/PaginatedUsers"
}
GET /tweets/{id}/thread dynamic
Get thread context
Returns the full thread: parent chain and child replies
- Amount
- 0.004
- Currency
- -
- Method
- x402, mpp
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: 0.004 pricingMode: fixed protocols: [x402 mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | Yes | Tweet ID |
| cursor | query | string | No | Pagination cursor |
Response Schema (200)
{
"$ref": "#/components/schemas/PaginatedTweets"
}
GET /tweets/{id}/article dynamic
Get long-form article
Retrieve full article content for a tweet that contains a Twitter Article
- Amount
- 0.005
- Currency
- -
- Method
- x402, mpp
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: 0.005 pricingMode: fixed protocols: [x402 mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | Yes | Tweet ID |
Response Schema (200)
{
"$ref": "#/components/schemas/ArticleResponse"
}
GET /users/search dynamic
Search users by keyword
- Amount
- 0.004
- Currency
- -
- Method
- x402, mpp
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: 0.004 pricingMode: fixed protocols: [x402 mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| q | query | string | Yes | Search keyword |
| cursor | query | string | No | Pagination cursor |
Response Schema (200)
{
"$ref": "#/components/schemas/PaginatedUsers"
}
GET /users/relationship dynamic
Check follow relationship
- Amount
- 0.001
- Currency
- -
- Method
- x402, mpp
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: 0.001 pricingMode: fixed protocols: [x402 mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| source | query | string | Yes | Source username |
| target | query | string | Yes | Target username |
Response Schema (200)
{
"$ref": "#/components/schemas/RelationshipResponse"
}
GET /users/{ref} dynamic
Fetch user profile
By username or user ID (auto-detects)
- Amount
- 0.001
- Currency
- -
- Method
- x402, mpp
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: 0.001 pricingMode: fixed protocols: [x402 mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| ref | path | string | Yes | Username or user ID |
Response Schema (200)
{
"$ref": "#/components/schemas/SingleUserResponse"
}
GET /users dynamic
Batch fetch users by IDs
- Amount
- 0.004
- Currency
- -
- Method
- x402, mpp
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: 0.004 pricingMode: fixed protocols: [x402 mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| ids | query | string | Yes | Comma-separated user IDs |
Response Schema (200)
{
"$ref": "#/components/schemas/PaginatedUsers"
}
GET /users/{ref}/tweets dynamic
Get user tweets
- Amount
- 0.004
- Currency
- -
- Method
- x402, mpp
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: 0.004 pricingMode: fixed protocols: [x402 mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| ref | path | string | Yes | Username or user ID |
| cursor | query | string | No | Pagination cursor |
| include_replies | query | boolean | No | Include replies |
Response Schema (200)
{
"$ref": "#/components/schemas/PaginatedTweets"
}
GET /users/{ref}/mentions dynamic
Get tweets mentioning user
- Amount
- 0.004
- Currency
- -
- Method
- x402, mpp
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: 0.004 pricingMode: fixed protocols: [x402 mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| ref | path | string | Yes | Username or user ID |
| cursor | query | string | No | Pagination cursor |
| since | query | integer | No | Unix timestamp (seconds) - on or after |
| until | query | integer | No | Unix timestamp (seconds) - before |
Response Schema (200)
{
"$ref": "#/components/schemas/PaginatedTweets"
}
GET /users/{ref}/followers dynamic
Get user followers
- Amount
- 0.004
- Currency
- -
- Method
- x402, mpp
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: 0.004 pricingMode: fixed protocols: [x402 mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| ref | path | string | Yes | Username or user ID |
| cursor | query | string | No | Pagination cursor |
| page_size | query | integer | No | Results per page |
Response Schema (200)
{
"$ref": "#/components/schemas/PaginatedUsers"
}
GET /users/{ref}/following dynamic
Get user following
- Amount
- 0.004
- Currency
- -
- Method
- x402, mpp
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: 0.004 pricingMode: fixed protocols: [x402 mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| ref | path | string | Yes | Username or user ID |
| cursor | query | string | No | Pagination cursor |
| page_size | query | integer | No | Results per page |
Response Schema (200)
{
"$ref": "#/components/schemas/PaginatedUsers"
}
GET /users/{ref}/verified_followers dynamic
Get verified followers only
- Amount
- 0.004
- Currency
- -
- Method
- x402, mpp
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: 0.004 pricingMode: fixed protocols: [x402 mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| ref | path | string | Yes | Username or user ID |
| cursor | query | string | No | Pagination cursor |
Response Schema (200)
{
"$ref": "#/components/schemas/PaginatedUsers"
}
GET /lists/{id}/tweets dynamic
Get list tweets
- Amount
- 0.004
- Currency
- -
- Method
- x402, mpp
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: 0.004 pricingMode: fixed protocols: [x402 mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | Yes | List ID |
| cursor | query | string | No | Pagination cursor |
| since | query | integer | No | Unix timestamp (seconds) - on or after |
| until | query | integer | No | Unix timestamp (seconds) - before |
| include_replies | query | boolean | No | Include replies |
Response Schema (200)
{
"$ref": "#/components/schemas/PaginatedTweets"
}
GET /lists/{id}/members dynamic
Get list members
- Amount
- 0.004
- Currency
- -
- Method
- x402, mpp
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: 0.004 pricingMode: fixed protocols: [x402 mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | Yes | List ID |
| cursor | query | string | No | Pagination cursor |
Response Schema (200)
{
"$ref": "#/components/schemas/PaginatedUsers"
}
GET /lists/{id}/followers dynamic
Get list followers
- Amount
- 0.004
- Currency
- -
- Method
- x402, mpp
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: 0.004 pricingMode: fixed protocols: [x402 mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | Yes | List ID |
| cursor | query | string | No | Pagination cursor |
Response Schema (200)
{
"$ref": "#/components/schemas/PaginatedUsers"
}
GET /communities/search dynamic
Search community tweets
- Amount
- 0.004
- Currency
- -
- Method
- x402, mpp
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: 0.004 pricingMode: fixed protocols: [x402 mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| q | query | string | Yes | Search keyword |
| sort | query | string | No | Sort order |
| cursor | query | string | No | Pagination cursor |
Response Schema (200)
{
"$ref": "#/components/schemas/PaginatedTweets"
}
GET /communities/{id} dynamic
Get community info
- Amount
- 0.004
- Currency
- -
- Method
- x402, mpp
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: 0.004 pricingMode: fixed protocols: [x402 mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | Yes | Community ID |
Response Schema (200)
{
"$ref": "#/components/schemas/CommunityResponse"
}
GET /communities/{id}/tweets dynamic
Get community tweets
- Amount
- 0.004
- Currency
- -
- Method
- x402, mpp
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: 0.004 pricingMode: fixed protocols: [x402 mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | Yes | Community ID |
| cursor | query | string | No | Pagination cursor |
Response Schema (200)
{
"$ref": "#/components/schemas/PaginatedTweets"
}
GET /communities/{id}/members dynamic
Get community members
- Amount
- 0.004
- Currency
- -
- Method
- x402, mpp
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: 0.004 pricingMode: fixed protocols: [x402 mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | Yes | Community ID |
| cursor | query | string | No | Pagination cursor |
Response Schema (200)
{
"$ref": "#/components/schemas/PaginatedUsers"
}
GET /spaces/{id} dynamic
Get space detail
- Amount
- 0.001
- Currency
- -
- Method
- x402, mpp
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: 0.001 pricingMode: fixed protocols: [x402 mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | Yes | Space ID |
Response Schema (200)
{
"$ref": "#/components/schemas/SpaceResponse"
}
GET /trends dynamic
Get trending topics
- Amount
- 0.001
- Currency
- -
- Method
- x402, mpp
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
price: 0.001 pricingMode: fixed protocols: [x402 mpp]
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| woeid | query | integer | No | WOEID location identifier (1 = worldwide) |
| count | query | integer | No | Number of trends to return |
Response Schema (200)
{
"$ref": "#/components/schemas/TrendsResponse"
}
Payment Methods
- Methods
- tempo (from challenge)
- Intents
- charge, session (from challenge)
- Currencies (discovery)
- -
- Currency (challenge)
- USDC.e on Tempo (Tempo)
- Multiple Challenges
- Yes
Recipients
- 0x2BB201f1bb056eb738718BD7A3ad1BEF24b883bb
Per-endpoint breakdown
- GET /tweets
- 0x2BB201f1bb056eb738718BD7A3ad1BEF24b883bb
- GET /tweets/search
- 0x2BB201f1bb056eb738718BD7A3ad1BEF24b883bb
- GET /tweets/{id}
- 0x2BB201f1bb056eb738718BD7A3ad1BEF24b883bb
- GET /tweets/{id}/quotes
- 0x2BB201f1bb056eb738718BD7A3ad1BEF24b883bb
- GET /tweets/{id}/replies
- 0x2BB201f1bb056eb738718BD7A3ad1BEF24b883bb
- GET /tweets/{id}/retweeters
- 0x2BB201f1bb056eb738718BD7A3ad1BEF24b883bb
Security
- TLS Version
- TLSv1.3
- Challenge ID Unique
- Yes
- Challenge ID Length
- 43
- Digest Binding
- -
Uptime
- Discovery
- Reachable (184ms)
- Challenge
- Reachable (98ms)
- Last Checked
Schema Completeness
- Paid Operations
- 26
- With Input Schema
- 0
- With Description
- 26
26 missing schema
- GET /tweets/search
- GET /tweets/{id}
- GET /tweets
- GET /tweets/{id}/replies
- GET /tweets/{id}/quotes
- GET /tweets/{id}/retweeters
- GET /tweets/{id}/thread
- GET /tweets/{id}/article
- GET /users/search
- GET /users/relationship
- GET /users/{ref}
- GET /users
- GET /users/{ref}/tweets
- GET /users/{ref}/mentions
- GET /users/{ref}/followers
- GET /users/{ref}/following
- GET /users/{ref}/verified_followers
- GET /lists/{id}/tweets
- GET /lists/{id}/members
- GET /lists/{id}/followers
- GET /communities/search
- GET /communities/{id}
- GET /communities/{id}/tweets
- GET /communities/{id}/members
- GET /spaces/{id}
- GET /trends
Documentation
- Homepage
- -
- API Reference
- -
- llms.txt
- -
Discovery
- OpenAPI URL
- https://twitter.surf.cascade.fyi/openapi.json
- OpenAPI Version
- 3.1.0
- Service Version
- 2.0.0
- Document Size
- 31062 bytes
- Document Hash
- 76c14137e9d76cea3584702d40dd3339cf9e6235da6fc0507fe8621d77a22042
Version History (2 snapshots)
Scan snapshots
| Date | Grade | Score | Response | Status |
|---|---|---|---|---|
| 2026-04-06 | C | 66% | 448ms | Up |
| 2026-04-07 | C | 66% | 115ms | Up |