MOBILE SERP TRACKER

Real Google mobile search results from 4G/5G carrier IPs. $0.003/query. Pay with USDC.
$0.003 per query
13 data types
USDC Base + Solana
LIVE

WHAT IT DOES

Returns real Google mobile search results as structured JSON. Every query is executed through a real 4G/5G mobile carrier IP, so you get the same results a real mobile user would see — including mobile-specific features like AI Overviews, app carousels, and mobile ad placements.

FeatureDescription
Real Mobile IPsQueries run through 4G/5G carrier connections, not datacenter proxies
13 Data TypesOrganic, ads, PAA, featured snippets, AI Overviews, map packs, knowledge panels, related searches, and more
Country + LanguageTarget any country and language with 2-letter ISO codes
Location TargetingOptional local search targeting (e.g., "Austin TX")
PaginationNavigate through result pages with start offset
No Accountx402 payment — no registration, no API key, no subscription

PRICING

PlanPricePaymentNote
Per Query (x402)$0.003USDC on Base or SolanaNo minimum, pay as you go

Competitor Comparison

ProviderPrice/QueryAccount RequiredReal Mobile IPsAI Overview Data
Proxies.sx SERP$0.003NoYes (4G/5G)Yes
SerpApi$0.01-$0.025Yes + API keyNoLimited
DataForSEO$0.003-$0.01Yes + API keyNoPartial
Bright Data SERP$0.003-$0.005Yes + contractOptional (extra $)No
ScraperAPI$0.005-$0.01Yes + API keyNoNo

Proxies.sx advantage: real mobile carrier IPs by default (others use datacenter), includes AI Overviews + PAA, no account needed, pay per query with USDC.


API REFERENCE

Endpoint

GET https://api.proxies.sx/v1/x402/serp

Parameters

ParameterTypeRequiredDescription
querystringYesSearch query (e.g., "best coffee shops")
countrystringNo2-letter country code (default: "us")
languagestringNo2-letter language code (default: "en")
locationstringNoLocal search location (e.g., "Austin TX")
startnumberNoPagination offset (default: 0, increments of 10)

Authentication

No API key needed. Uses x402 protocol — HTTP 402 Payment Required flow:

# Step 1: Request without payment → get 402 with price + wallet
curl "https://api.proxies.sx/v1/x402/serp?query=best+coffee+shops&country=us"

# Step 2: Send $0.003 USDC to the recipient wallet on Solana or Base

# Step 3: Retry with payment signature
curl "https://api.proxies.sx/v1/x402/serp?query=best+coffee+shops&country=us" \
  -H "Payment-Signature: <solana_or_base_tx_hash>"

Payment Networks

NetworkSettlementRecipient WalletUSDC Contract
Solana~400ms6eUdVwsPArTxwVqEARYGCh4S2qwW2zCs7jSEDRpxydnvEPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
Base~2s0xF8cD900794245fc36CBE65be9afc23CDF51030420x833589fcd6edb6e08f4c7c32d4f71b54bda02913

DATA FIELDS

Response Structure

FieldTypeDescription
querystringThe search query used
countrystringCountry code used
languagestringLanguage code used
locationstring | nullLocation used
totalResultsstring | nullApproximate total result count
organicarrayOrganic search results
adsarrayPaid ad results
peopleAlsoAskarrayPeople Also Ask questions
featuredSnippetobject | nullFeatured snippet if present
aiOverviewobject | nullGoogle AI Overview if present
mapPackarrayLocal map pack results
knowledgePanelobject | nullKnowledge panel data
relatedSearchesstring[]Related search suggestions
proxyobjectProxy info (country, type)
paymentobjectPayment confirmation

Organic Result Fields

FieldTypeDescription
positionnumberRanking position (1-based)
titlestringPage title
urlstringPage URL
displayUrlstringDisplay URL (domain + path)
snippetstringDescription snippet
sitelinksarraySitelinks (title, url)
datestring | nullPublished date if shown
cachedbooleanWhether cached version is available

Ad Result Fields

FieldTypeDescription
positionnumberAd position
titlestringAd headline
urlstringLanding page URL
displayUrlstringDisplay URL
descriptionstringAd description
isTopbooleanWhether ad is above organic results

Map Pack Result Fields

FieldTypeDescription
namestringBusiness name
addressstring | nullAddress
ratingnumber | nullGoogle rating
reviewCountnumber | nullReview count
categorystring | nullBusiness category
phonestring | nullPhone number

EXAMPLES

curl

# Basic search
curl "https://api.proxies.sx/v1/x402/serp?query=best+coffee+shops&country=us"

# With location targeting
curl "https://api.proxies.sx/v1/x402/serp?query=plumbers&country=us&location=Austin+TX"

# German results in German
curl "https://api.proxies.sx/v1/x402/serp?query=beste+restaurants&country=de&language=de"

# Page 2 results
curl "https://api.proxies.sx/v1/x402/serp?query=web+scraping+tools&start=10"

Python

import requests

# Step 1: Get payment requirements
r = requests.get("https://api.proxies.sx/v1/x402/serp", params={
    "query": "best coffee shops",
    "country": "us",
    "language": "en"
})

if r.status_code == 402:
    payment_info = r.json()
    # payment_info contains: price, networks, recipient wallet
    print(f"Price: ${payment_info['price']['amount']} USDC")
    print(f"Solana wallet: {payment_info['networks'][0]['recipient']}")

    # Step 2: Send USDC payment on Solana or Base
    # tx_hash = send_usdc(...)

    # Step 3: Retry with payment
    r = requests.get("https://api.proxies.sx/v1/x402/serp", params={
        "query": "best coffee shops",
        "country": "us",
    }, headers={
        "Payment-Signature": tx_hash
    })
    data = r.json()
    for result in data["organic"]:
        print(f"#{result['position']}: {result['title']}")
        print(f"  {result['url']}")
        print(f"  {result['snippet'][:100]}...")

Node.js

// Step 1: Get 402 payment requirements
const res = await fetch(
  "https://api.proxies.sx/v1/x402/serp?query=best+coffee+shops&country=us"
);

if (res.status === 402) {
  const paymentInfo = await res.json();
  console.log(`Price: $${paymentInfo.price.amount} USDC`);

  // Step 2: Send USDC payment
  // const txHash = await sendUSDC(...)

  // Step 3: Retry with payment signature
  const result = await fetch(
    "https://api.proxies.sx/v1/x402/serp?query=best+coffee+shops&country=us",
    { headers: { "Payment-Signature": txHash } }
  );
  const data = await result.json();

  // Access all SERP features
  console.log(`Organic results: ${data.organic.length}`);
  console.log(`Ads: ${data.ads.length}`);
  console.log(`PAA: ${data.peopleAlsoAsk.length}`);
  if (data.aiOverview) console.log("AI Overview present");
  if (data.featuredSnippet) console.log("Featured snippet present");
  if (data.mapPack.length) console.log(`Map pack: ${data.mapPack.length} results`);
}

USE CASES

Use CaseHowCost
SEO Rank TrackingTrack keyword positions daily across countries$0.003/keyword/day
Competitor MonitoringMonitor competitor SERP features (snippets, PAA)$0.003/query
AI Overview ResearchTrack which queries trigger Google AI Overviews$0.003/query
Ad IntelligenceMonitor competitor ad placements and copy$0.003/query
Local SEOTrack map pack rankings for local businesses$0.003/query
Content Gap AnalysisFind PAA questions to create content for$0.003/query

At $0.003/query, tracking 1,000 keywords daily costs $3/day ($90/month) — vs $100-500/month for SerpApi or SEMrush.


WHY MOBILE SERP

FactorDesktop SERPMobile SERP (this API)
Search volume28% of searches72% of searches
LayoutTraditional 10 blue linksCards, carousels, app installs
AI OverviewsSometimes presentMore frequently shown on mobile
Map Pack3 results, sidebarProminent, full-width display
AdsTop + sidebarTop + bottom, different format
CAPTCHA rateHigh for datacenter IPsNear-zero for carrier IPs

Mobile-first indexing means Google treats mobile as the primary version. Tracking mobile results gives you the most accurate picture of what users see.


FAQ

How fast is it?

Typical response time is 5-15 seconds. The query goes through a real mobile proxy, hits Google, parses the HTML, and returns structured JSON.

What if Google serves a CAPTCHA?

CAPTCHAs are rare on real carrier IPs (under 5% of requests). If one occurs, the API returns a 502 with a hint to retry. Real mobile IPs have much better CAPTCHA rates than datacenter or residential proxies.

Can I scrape thousands of queries?

Yes. There's no rate limit on the API itself — each request costs $0.003. For high volume, use Solana for faster settlement (~400ms vs ~2s on Base).

Is pagination supported?

Yes. Use the start parameter with increments of 10 (0 = page 1, 10 = page 2, 20 = page 3, etc.).

What countries work best?

All countries work. The proxy rotates through real carrier IPs. US, UK, Germany, France, Spain, and Poland have the highest device counts.


LINKS

ResourceURL
API Endpointapi.proxies.sx/v1/x402/serp
Marketplace/marketplace/
GitHub (Template)marketplace-service-template
x402 Protocol/.well-known/x402.json
Master Skill/skill.md

Proxies.sx — Mobile SERP Tracker | Marketplace | skill.md