Apple App Store Search & Reviews
GET appstore.use.x402atlas.com/v2/product/:product_id/reviews
Why an agent can trust this route.
Sonar evidence is advisory. Paid delivery is shown as verified only when paid probes are available; otherwise route estimates use the unpaid handshake as a clearly labeled proxy.
Observed outcomes
Apple App Store reviews (path variant) — an app's user reviews by product_id in the URL: title, text, rating, version, author & date, with paging & sort, as clean JSON.
Resource: appstore.use.x402atlas.com/v2/product/:product_id/reviews
Network: eip155:8453, eip155:137, eip155:42161, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp · Asset: 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 · Pay to: 0x59ea036C64f0F54CDD14a3BE8a1a6586B58DA71c
Payment methods: — · Last validation: 2026-09-13 23:12:16.449+00
{
"input": {
"type": "object",
"required": [
"type",
"method",
"pathParams"
],
"properties": {
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"GET"
],
"type": "string"
},
"pathParams": {
"type": "object",
"required": [
"product_id"
],
"properties": {
"product_id": {
"type": "string",
"pattern": "^[0-9]+$",
"maxLength": 32,
"description": "Numeric App Store app id (from /appstore/search)"
}
}
},
"queryParams": {
"type": "object",
"properties": {
"page": {
"type": "integer",
"minimum": 1,
"description": "Optional page number"
},
"sort": {
"enum": [
"mostrecent",
"mosthelpful",
"mostfavorable",
"mostcritical"
],
"type": "string",
"default": "mostrecent",
"description": "Optional order: mostrecent (default), mosthelpful, mostfavorable, mostcritical"
},
"country": {
"type": "string",
"maxLength": 2,
"description": "Optional two-letter store country (e.g. us, gb)"
}
}
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object",
"required": [
"product_id",
"queried_at",
"reviews"
],
"properties": {
"info": {
"type": "object",
"properties": {
"results_count": {
"type": "integer"
},
"total_page_count": {
"type": "integer"
},
"reviews_for_current_version": {
"type": "integer"
}
}
},
"note": {
"type": "string",
"description": "Present only when no reviews matched: a hint that product_id must be a numeric App Store id. The paid lookup still ran."
},
"reviews": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"text": {
"type": "string"
},
"title": {
"type": "string"
},
"author": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"author_id": {
"type": "string"
}
}
},
"rating": {
"type": "number"
},
"position": {
"type": "integer"
},
"review_date": {
"type": "string"
},
"reviewed_version": {
"type": "string"
},
"helpfulness_vote_information": {
"type": "string"
}
}
}
},
"product_id": {
"type": "string"
},
"queried_at": {
"type": "string",
"format": "date-time"
}
}
}
}
},
"paymentRequirements": [
{
"raw": {
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"tier": "standard",
"version": "2",
"merchant": "x402Atlas"
},
"payTo": "0x59ea036C64f0F54CDD14a3BE8a1a6586B58DA71c",
"amount": "20000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
},
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"payTo": "0x59ea036C64f0F54CDD14a3BE8a1a6586B58DA71c",
"scheme": "exact",
"network": "eip155:8453",
"amountAtomic": "20000"
},
{
"raw": {
"asset": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
"extra": {
"name": "USD Coin",
"tier": "standard",
"version": "2",
"merchant": "x402Atlas"
},
"payTo": "0x59ea036C64f0F54CDD14a3BE8a1a6586B58DA71c",
"amount": "20000",
"scheme": "exact",
"network": "eip155:137",
"maxTimeoutSeconds": 300
},
"asset": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
"payTo": "0x59ea036C64f0F54CDD14a3BE8a1a6586B58DA71c",
"scheme": "exact",
"network": "eip155:137",
"amountAtomic": "20000"
},
{
"raw": {
"asset": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
"extra": {
"name": "USD Coin",
"tier": "standard",
"version": "2",
"merchant": "x402Atlas"
},
"payTo": "0x59ea036C64f0F54CDD14a3BE8a1a6586B58DA71c",
"amount": "20000",
"scheme": "exact",
"network": "eip155:42161",
"maxTimeoutSeconds": 300
},
"asset": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
"payTo": "0x59ea036C64f0F54CDD14a3BE8a1a6586B58DA71c",
"scheme": "exact",
"network": "eip155:42161",
"amountAtomic": "20000"
},
{
"raw": {
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"extra": {
"tier": "standard",
"feePayer": "GVJJ7rdGiXr5xaYbRwRbjfaJL7fmwRygFi1H6aGqDveb",
"merchant": "x402Atlas"
},
"payTo": "ASt6xvRyQ7ntERsmcYVMdLqZvz1GEN8Fzexzq62tXrNQ",
"amount": "20000",
"scheme": "exact",
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"maxTimeoutSeconds": 300
},
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"payTo": "ASt6xvRyQ7ntERsmcYVMdLqZvz1GEN8Fzexzq62tXrNQ",
"scheme": "exact",
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"amountAtomic": "20000"
}
]
}Source catalog records are retained separately from live endpoint observations. Sonar score, uptime, and latency are advisory metrics. CDP indexing is not inferred from validation.