mirrored listing x402 eip155:8453eip155:137eip155:42161solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp

Apple App Store reviews — pull an app's user reviews by numeric product_id: title, text, r

Apple App Store reviews — pull an app's user reviews by numeric product_id: title, text, rating, version, author & date, with paging & sort, as clean JSON.

Do you run appstore.use.x402atlas.com? This listing was mirrored from Coinbase's public Bazaar. Claim it in 30 seconds — no account required — and it becomes verified, permanently overriding the mirrored copy.

Claim this listing
20000 (raw units)
price
7
calls / 30d
5
unique payers
2026-09-16
updated

Provider

appstore.use.x402atlas.com · discovered, not yet claimed by its owner

Payment (x402 accepts[])

[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "payTo": "0x59ea036C64f0F54CDD14a3BE8a1a6586B58DA71c",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "20000",
    "maxTimeoutSeconds": 300
  },
  {
    "scheme": "exact",
    "network": "eip155:137",
    "payTo": "0x59ea036C64f0F54CDD14a3BE8a1a6586B58DA71c",
    "asset": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
    "amount": "20000",
    "maxTimeoutSeconds": 300
  },
  {
    "scheme": "exact",
    "network": "eip155:42161",
    "payTo": "0x59ea036C64f0F54CDD14a3BE8a1a6586B58DA71c",
    "asset": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
    "amount": "20000",
    "maxTimeoutSeconds": 300
  },
  {
    "scheme": "exact",
    "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
    "payTo": "ASt6xvRyQ7ntERsmcYVMdLqZvz1GEN8Fzexzq62tXrNQ",
    "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "amount": "20000",
    "maxTimeoutSeconds": 300
  }
]

Output schema

{
  "bazaar": {
    "category": "search",
    "info": {
      "input": {
        "method": "GET",
        "queryParams": {
          "country": "us",
          "page": 1,
          "product_id": "1069513131",
          "sort": "mostrecent"
        },
        "type": "http"
      },
      "output": {
        "example": {
          "info": {
            "results_count": 500,
            "total_page_count": 10
          },
          "product_id": "1069513131",
          "queried_at": "2026-07-11T12:00:00Z",
          "reviews": [
            {
              "author": {
                "name": "rainlover"
              },
              "id": "7417861364",
              "rating": 5,
              "review_date": "2026-07-01",
              "reviewed_version": "5.9.0",
              "text": "Accurate and hilarious.",
              "title": "Best weather app"
            }
          ]
        },
        "type": "json"
      }
    },
    "schema": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "input": {
          "additionalProperties": false,
          "properties": {
            "method": {
              "enum": [
                "GET"
              ],
              "type": "string"
            },
            "queryParams": {
              "properties": {
                "country": {
                  "description": "Optional two-letter store country (e.g. us, gb)",
                  "maxLength": 2,
                  "type": "string"
                },
                "page": {
                  "description": "Optional page number",
                  "minimum": 1,
                  "type": "integer"
                },
                "product_id": {
                  "description": "Numeric App Store app id (from /appstore/search)",
                  "maxLength": 32,
                  "pattern": "^[0-9]+$",
                  "type": "string"
                },
                "sort": {
                  "default": "mostrecent",
                  "description": "Optional order: mostrecent (default), mosthelpful, mostfavorable, mostcritical",
                  "enum": [
                    "mostrecent",
                    "mosthelpful",
                    "mostfavorable",
                    "mostcritical"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "product_id"
              ],
              "type": "object"
            },
            "type": {
              "const": "http",
              "type": "string"
            }
          },
          "required": [
            "type",
            "method"
          ],
          "type": "object"
        },
        "output": {
          "properties": {
            "example": {
              "properties": {
                "info": {
                  "properties": {
                    "results_count": {
                      "type": "integer"
                    },
                    "reviews_for_current_version": {
                      "type": "integer"
                    },
                    "total_page_count": {
                      "type": "integer"
                    }
                  },
                  "type": "object"
                },
                "product_id": {
                  "type": "string"
                },
                "queried_at": {
                  "format": "date-time",
                  "type": "string"
                },
                "reviews": {
                  "items": {
                    "properties": {
                      "author": {
                        "properties": {
                          "author_id": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "helpfulness_vote_information": {
                        "type": "string"
                      },
                      "id": {
                        "type": "string"
                      },
                      "position": {
                        "type": "integer"
                      },
                      "rating": {
                        "type": "number"
                      },
                      "review_date": {
                        "type": "string"
                      },
                      "reviewed_version": {
                        "type": "string"
                      },
                      "text": {
                        "type": "string"
                      },
                      "title": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              },
              "required": [
                "product_id",
                "queried_at",
                "reviews"
              ],
              "type": "object"
            },
            "type": {
              "type": "string"
            }
          },
          "required": [
            "type"
          ],
          "type": "object"
        }
      },
      "required": [
        "input"
      ],
      "type": "object"
    },
    "tags": [
      "app-store",
      "apple",
      "ios",
      "app-reviews",
      "reviews",
      "ratings",
      "user-reviews",
      "aso",
      "mobile-apps",
      "appstore"
    ]
  }
}

Use it

curl

curl "https://appstore.use.x402atlas.com/reviews"
# -> 402 Payment Required, accepts[] lists how to pay
# retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid

JavaScript

const res = await fetch("https://appstore.use.x402atlas.com/reviews");
if (res.status === 402) {
  const { accepts } = await res.json();
  // pay one of accepts[] via an x402 client, then retry with the payment header
}

Python

import httpx
res = httpx.get("https://appstore.use.x402atlas.com/reviews")
if res.status_code == 402:
    accepts = res.json()["accepts"]
    # pay one of accepts[] via an x402 client, then retry with the payment header

Machine-readable

Everything on this page is also available as clean JSON at /resources/2966.json, and this resource appears in /discovery/resources and /discovery/search.