Reviews
App Store에서 앱의 리뷰를 가져옵니다.
GET | POST /v1/app-store/reviews파라미터는 GET의 쿼리 문자열로도, POST의 JSON 본문으로도 보낼 수 있습니다. 둘은 같습니다.
요청
curl "https://gateway.apinoa.com/v1/app-store/reviews?id=324684580&country=US&sort=newest&limit=10" \
-H "x-api-key: $APINOA_API_KEY"파라미터
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
country | enum | The market, as an ISO 3166 country code. US GB CA AU NZ IE DE FR IT ES NL BE AT CH SE NO DK FI PL PT CZ GR HU RO TR UA IL AE SA EG ZA NG KE IN PK ID MY SG TH VN PH JP KR CN TW HK MX BR AR CL CO PE | |
cursor | string | The previous page's cursor. Pass it alone for the next page. | |
id | string | The app's App Store id: the number in its link (…/id426826309). | |
lang | string | Interface language. | |
limit | integer 1–100 | Results wanted (default 20, at most 100). More than one page is charged per page. | |
sort | enum | Review order. relevant newest highest lowest | |
url | string | The app's App Store link, instead of id. |
같은 파라미터와 모든 응답 타입은 OpenAPI 문서에도 있습니다.
응답
data에 AppReviewsPage를 돌려줍니다. 실제 응답을 줄인 것입니다. 배열은 앞쪽 항목만 남기고 긴 텍스트는 잘랐습니다.
{
"success": true,
"data": {
"engine": "app-store",
"appId": "324684580",
"sort": "newest",
"country": "US",
"lang": "en-US",
"page": {"index": 1, "size": 10},
"reviews": [
{
"id": "14721777235",
"author": "Austin’s Review 1.1",
"rating": 5,
"title": "Review",
"body": "It’s great stop asking",
"date": "2026-10-28T13:46:45Z",
"images": [],
"ext": {"edited": false}
},
{
"id": "14721750538",
"author": "Simmmmmmmmmmms",
"rating": 1,
"title": "Fix app",
"body": "The app has been so horrible this past month. Issues with CarPlay, it freezes loading the home page, I always have to delete and reinstall just to make it work…",
"date": "2026-10-28T13:39:15Z",
"images": [],
"ext": {"edited": false}
}
],
"cursor": "7eD3X9M1aKy9J_HywpfxL3WzYzxInTVvEOH-HCYmqXYZkejFy9J7umNx7C0ur-7E80ae0zDTqiweIbEGVD3ZR607BDy5qYmmdOyteewmAsbNGsb6v71HVZdnhYRRFkm1t8DL93VJVwf1k_E8Qn6pnLdKC3SEakTL…",
"fetchedAt": "2026-10-30T00:57:27.221Z"
}
}에러
| 상태 | 코드 | 의미 |
|---|---|---|
| 400 | INVALID_CURSOR | 이 오퍼레이션이 돌려준 cursor가 아닙니다. cursor 없이 처음부터 다시 호출하세요. |
| 400 | INVALID_PARAMS | 파라미터가 없거나, 알 수 없거나, 범위를 벗어났거나, 이 엔진이 받지 않는 값입니다. 메시지에 이름이 나옵니다. |
| 401 | UNAUTHORIZED | x-api-key 헤더가 없거나, 폐기되었거나 알 수 없는 키입니다. |
| 402 | INSUFFICIENT_BALANCE | 잔액이 이 호출 비용에 모자랍니다. 대시보드에서 충전하세요. |
| 404 | NOT_FOUND | 이 스토어의 해당 시장에 그 앱이 없습니다. |
| 429 | MARKETPLACE_SATURATED | 동시 호출이 너무 많습니다. Retry-After 초만큼 기다린 뒤 다시 시도하세요. |
| 502 | UPSTREAM_ERROR | 엔진이 쓸 수 없는 응답을 보냈습니다. 간격을 두고 다시 시도하세요. |
| 503 | SERVICE_UNAVAILABLE | 일시적인 장애입니다. 간격을 두고 다시 시도하세요. |
모든 코드는 Errors에 있습니다. 실패한 호출은 과금되지 않습니다.
가격
가격 호출당 $0.0012, 추가 호출마다 $0.0012 — 최대 4번 더, 합계 최대 $0.006. 정가 기준이며, 하루 1,000회를 넘으면 단가가 내려갑니다.
참고
- 앱의 숫자 id를 넘기거나 App Store 링크를
url로 넘깁니다. limit이 한 페이지보다 크면 다음 페이지들도 읽으며, 페이지마다 1단위입니다.