A

Surf

datasearchsocial
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
2 issues
  • 402 response missing Cache-Control: no-store
  • POST endpoint challenge missing digest parameter (SHOULD per spec)

Paid Operations (14)

POST /api/v1/twitter/search 0.005 USDC.e
Search tweets

Search Twitter with advanced operators. Returns ~20 tweets per page with engagement summary. Use cursor for pagination.

Amount
0.005 (raw 5000)
Currency
USDC.e
Method
tempo
Intent
charge
402 Declared
Yes
Non-standard x-payment-info fields: price: 0.005 pricingMode: fixed protocols: [x402 mpp]

Input Schema

FieldTypeRequiredDescription
cursor string No Pagination cursor
end_date string No Only tweets before this date (YYYY-MM-DD)
query string Yes Search query with advanced operators
sort string No Sort order
enum: Latest, Top
default: Latest
start_date string No Only tweets on or after this date (YYYY-MM-DD)
POST /api/v1/twitter/tweet 0.005 USDC.e
Fetch tweet

Fetch a tweet with full thread context (all conversation participants), parent tweet, and optionally replies/quotes. Each section returns ~20 items per upstream page with pagination cursors.

Amount
0.005 (raw 5000)
Currency
USDC.e
Method
tempo
Intent
charge
402 Declared
Yes
Non-standard x-payment-info fields: price: 0.005 pricingMode: fixed protocols: [x402 mpp]

Input Schema

FieldTypeRequiredDescription
include array No Optional data to include
ref string Yes Tweet ID or URL
POST /api/v1/twitter/user 0.005 USDC.e
Fetch user profile

Fetch a user profile with ~20 recent tweets per page. Use cursor for pagination. Optionally include replies in timeline and mentions.

Amount
0.005 (raw 5000)
Currency
USDC.e
Method
tempo
Intent
charge
402 Declared
Yes
Non-standard x-payment-info fields: price: 0.005 pricingMode: fixed protocols: [x402 mpp]

Input Schema

FieldTypeRequiredDescription
cursor string No Pagination cursor from next_cursor
include_mentions boolean No Include mentions timeline
include_replies boolean No Include replies
ref string Yes Username or @username
POST /api/v1/reddit/search 0.005 USDC.e
Search Reddit

Search posts across Reddit with sort and time filters.

Amount
0.005 (raw 5000)
Currency
USDC.e
Method
tempo
Intent
charge
402 Declared
Yes
Non-standard x-payment-info fields: price: 0.005 pricingMode: fixed protocols: [x402 mpp]

Input Schema

FieldTypeRequiredDescription
cursor string No Pagination cursor
end_date string No Only posts before this date (YYYY-MM-DD)
limit integer No Max results
default: 25
query string Yes Search query
sort string No Sort order
enum: relevance, hot, top, new, comments
default: relevance
start_date string No Only posts on or after this date (YYYY-MM-DD)
time string No Time range
enum: hour, day, week, month, year, all
default: all
POST /api/v1/reddit/post 0.005 USDC.e
Fetch Reddit post

Fetch a Reddit post with comments, depth/sort control.

Amount
0.005 (raw 5000)
Currency
USDC.e
Method
tempo
Intent
charge
402 Declared
Yes
Non-standard x-payment-info fields: price: 0.005 pricingMode: fixed protocols: [x402 mpp]

Input Schema

FieldTypeRequiredDescription
comment_depth integer No Max nesting depth
default: 5
comment_limit integer No Max comments
default: 50
comment_sort string No Comment sort
enum: confidence, top, new, controversial, old, qa
default: confidence
ref string Yes Post ID or Reddit URL
POST /api/v1/reddit/subreddit 0.005 USDC.e
Fetch subreddit

Fetch subreddit info and top posts.

Amount
0.005 (raw 5000)
Currency
USDC.e
Method
tempo
Intent
charge
402 Declared
Yes
Non-standard x-payment-info fields: price: 0.005 pricingMode: fixed protocols: [x402 mpp]

Input Schema

FieldTypeRequiredDescription
limit integer No Max posts
default: 25
name string Yes Subreddit name
sort string No Post sort
enum: hot, new, top, rising
default: hot
time string No Time range
enum: hour, day, week, month, year, all
default: day
POST /api/v1/reddit/user 0.005 USDC.e
Fetch Reddit user

Fetch a Reddit user profile with recent posts and comments.

Amount
0.005 (raw 5000)
Currency
USDC.e
Method
tempo
Intent
charge
402 Declared
Yes
Non-standard x-payment-info fields: price: 0.005 pricingMode: fixed protocols: [x402 mpp]

Input Schema

FieldTypeRequiredDescription
include_comments boolean No Include recent comments
include_posts boolean No Include recent posts
default: true
max_results integer No Max posts/comments
default: 25
ref string Yes Reddit username
POST /api/v1/web/search 0.01 USDC.e
Web search

Search the web using Exa. Returns titles, URLs, and snippets.

Amount
0.01 (raw 10000)
Currency
USDC.e
Method
tempo
Intent
charge
402 Declared
Yes
Non-standard x-payment-info fields: price: 0.01 pricingMode: fixed protocols: [x402 mpp]

Input Schema

FieldTypeRequiredDescription
category string No Filter by content category
enum: company, research paper, news, pdf, github, tweet, personal site, linkedin profile
end_published_date string No Only before ISO date
exclude_domains array No Exclude domains
include_domains array No Restrict to domains
query string Yes Search query
start_published_date string No Only after ISO date
type string No Search depth
enum: auto, fast
default: auto
POST /api/v1/web/crawl 0.002 USDC.e
Crawl web pages

Extract content from a web page as markdown, HTML, text, or JSON.

Amount
0.002 (raw 2000)
Currency
USDC.e
Method
tempo
Intent
charge
402 Declared
Yes
Non-standard x-payment-info fields: price: 0.002 pricingMode: fixed protocols: [x402 mpp]

Input Schema

FieldTypeRequiredDescription
force_browser boolean No Skip HTTP tier, use browser rendering directly
format string No Output format (json returns structured SSR data when available)
enum: markdown, html, text, json
default: markdown
proxy boolean No Use proxy
raw_ssr_data boolean No Return raw SSR JSON payload (e.g. __NEXT_DATA__) without processing
selector string No CSS selector
url string Yes URL to crawl
wait_selector string No CSS selector to wait for in browser tier (skips HTTP probe)

Response Schema (200)

FieldTypeDescription
content array[string] -
status integer -
url string -
POST /api/v1/github/search 0.002 USDC.e
Search GitHub

Search GitHub repositories and conversations (issues + PRs). Supports GitHub search syntax.

Amount
0.002 (raw 2000)
Currency
USDC.e
Method
tempo
Intent
charge
402 Declared
Yes
Non-standard x-payment-info fields: price: 0.002 pricingMode: fixed protocols: [x402 mpp]

Input Schema

FieldTypeRequiredDescription
kind string No What to search: repos or conversations (issues+PRs)
enum: repos, conversations
default: repos
page integer No Page number
default: 1
per_page integer No Results per page
default: 20
query string Yes Search query (supports GitHub search syntax)
POST /api/v1/github/get 0.002 USDC.e
Fetch GitHub data

Fetch repository data: metadata, readme, files, tree, commits, branches, releases, PRs, or issues.

Amount
0.002 (raw 2000)
Currency
USDC.e
Method
tempo
Intent
charge
402 Declared
Yes
Non-standard x-payment-info fields: price: 0.002 pricingMode: fixed protocols: [x402 mpp]

Input Schema

FieldTypeRequiredDescription
kind string Yes What to fetch
enum: repo, readme, file, tree, commits, branches, releases, pr, issue
number integer No PR or issue number (required for kind=pr|issue)
owner string Yes Repository owner
page integer No Page number for paginated results
default: 1
path string No File path (required for kind=file)
per_page integer No Results per page
default: 30
ref string No Branch, tag, or commit SHA
repo string Yes Repository name
POST /api/v1/github/snapshot 0.005 USDC.e
Repository snapshot

Generate or retrieve a downloadable repository snapshot bundle. Returns cached by default (free). Set refresh=true to trigger new build (paid). Pass job_id to poll status.

Amount
0.005 (raw 5000)
Currency
USDC.e
Method
tempo
Intent
charge
402 Declared
Yes
Non-standard x-payment-info fields: price: 0.005 pricingMode: fixed protocols: [x402 mpp]

Input Schema

FieldTypeRequiredDescription
job_id string No Job ID to poll build status
owner string Yes Repository owner
ref string No Branch or tag (default: repo default branch)
refresh boolean No Set true to trigger a new snapshot build (paid)
repo string Yes Repository name
POST /api/v1/inference/v1/chat/completions dynamic USDC.e
Chat completion

OpenAI-compatible chat completion endpoint. Supports streaming via SSE. Dynamic pricing based on model and token usage.

Amount
dynamic
Currency
USDC.e
Method
tempo
Intent
charge
402 Declared
Yes
Non-standard x-payment-info fields: pricingMode: quote protocols: [x402 mpp]

Input Schema

FieldTypeRequiredDescription
max_completion_tokens No Max completion tokens (preferred over max_tokens)
max_tokens No Max tokens to generate
messages array Yes Chat messages
model string Yes Model identifier
stream boolean No Enable SSE streaming
temperature No Sampling temperature (0-2)
tools array No Tool definitions
top_p No Nucleus sampling

Response Schema (200)

FieldTypeDescription
choices array[object] -
created integer -
id string -
model string -
object string -
usage object -
POST /api/v1/inference/v1/messages dynamic USDC.e
Anthropic Messages API compatible chat

Anthropic Messages API compatible endpoint. Translates to OpenAI format internally, routes through OpenRouter. Supports streaming via SSE.

Amount
dynamic
Currency
USDC.e
Method
tempo
Intent
charge
402 Declared
Yes
Non-standard x-payment-info fields: pricingMode: quote protocols: [x402 mpp]

Input Schema

FieldTypeRequiredDescription
max_tokens integer Yes Maximum tokens to generate
messages array Yes Conversation messages
model string Yes Model identifier
stop_sequences array No Custom stop sequences
stream boolean No Enable SSE streaming
system No System prompt
temperature No Sampling temperature (0-1)
tool_choice No Tool selection mode
tools array No Tool definitions
top_k No Top-K sampling
top_p No Nucleus sampling

Payment Methods

Methods
tempo
Intents
charge
Currencies (discovery)
USDC.e
Currency (challenge)
USDC.e on Tempo (Tempo)
Multiple Challenges
Yes

Recipients

  • 0x2BB201f1bb056eb738718BD7A3ad1BEF24b883bb
Per-endpoint breakdown
POST /api/v1/reddit/post
0x2BB201f1bb056eb738718BD7A3ad1BEF24b883bb
POST /api/v1/reddit/search
0x2BB201f1bb056eb738718BD7A3ad1BEF24b883bb
POST /api/v1/reddit/subreddit
0x2BB201f1bb056eb738718BD7A3ad1BEF24b883bb
POST /api/v1/twitter/search
0x2BB201f1bb056eb738718BD7A3ad1BEF24b883bb
POST /api/v1/twitter/tweet
0x2BB201f1bb056eb738718BD7A3ad1BEF24b883bb
POST /api/v1/twitter/user
0x2BB201f1bb056eb738718BD7A3ad1BEF24b883bb

Security

TLS Version
TLSv1.3
Challenge ID Unique
Yes
Challenge ID Length
43
Digest Binding
-

Uptime

Discovery
Reachable (59ms)
Challenge
Reachable (94ms)
Last Checked

Schema Completeness

Paid Operations
14
With Input Schema
14
With Description
14

Documentation

Homepage
https://surf.cascade.fyi
API Reference
https://surf.cascade.fyi/openapi.json
llms.txt
https://surf.cascade.fyi/llms.txt reachable

Discovery

OpenAPI URL
https://surf.cascade.fyi/openapi.json
OpenAPI Version
3.1.0
Service Version
1.0.0
Document Size
29020 bytes
Document Hash
a3290e59b592611db0dd2b459f8c7ec298c0ac192948ddd83a648543c2eb5cb9

Version History (2 snapshots)

Scan snapshots
Date Grade Score Response Status
2026-04-06 A 90% 389ms Up
2026-04-07 A 90% 136ms Up