# Google Play Books API (google_play.books)

- Canonical page: https://everyinfra.com/en/google-play-api/books
- Endpoint: POST /api/v1/social with {"platform": "google_play", "action": "books", "params": {...}}
- Price: $0.000556 per call ($0.56 per 1,000 requests); failed and empty results are not charged
- Returns: list, default 20, max 40 per call (larger values are capped)
- Mode: sync; add "mode": "async" for slow tasks

## Health

- Live health (24h percent, hourly and daily trends): https://api.everyinfra.com/api/v1/social/availability?platform=google_play&action=books

## Parameters

| name | type | required | default | description |
|---|---|---|---|---|
| keyword | not declared | yes | not declared | What to look for in Google Play Books: a title, an author or a topic, such as `stoicism`. |
| country | not declared | no | not declared | Selects the Google Play storefront country or region using a lowercase code such as us. The default is us. For search and profile it changes the storefront being queried, not the user's phone region or the developer's nationality. For reviews it does not change which reviews come back: reviews vary only with `language`, so us and gb return the same reviews for the same language. To compare reviews across markets, change `language`, not only `country`. |
| language | not declared | no | not declared | Selects the language used for Play Store content and review queries, such as en or zh. The default is en. It does not change country automatically or guarantee that every returned review was written in that language. |
| limit | integer (1–40) | no | 20 | The most rows to return in this call, an integer from 1 to 40. The default applies when you leave it out, and a call can return fewer rows. Larger values are accepted and capped at the maximum. |

## Response fields (items in `results`)

| field | meaning |
|---|---|
| book_id | platform-native meaning |
| title | Title. null when the platform has no titles (for example text-only posts). |
| author | platform-native meaning |
| url | Link to the record on the platform. |
| format | platform-native meaning |
| category | Category name in the platform's own taxonomy, not normalized across platforms. |
| rating | Rating. **The scale varies by platform**: rating_scale on the same row gives the maximum (usually 5; Booking, Douban, iQIYI and NAVER use 10). Convert with rating_scale before comparing across platforms, or the comparison can come out backwards. |
| rating_scale | Maximum of rating in the same row: 5 for five-star scales, 10 for ten-point scales. Present only when the row has a rating. |
| price | Price as a number without a currency symbol; see currency. |
| currency | Currency code of the price (for example CNY, USD). If price is present but currency is null, do not assume a currency. |
| cover_url | platform-native meaning |
| description | Summary or description, usually shorter than text. |
| platform | Source platform identifier, the same as platform in the request (for example xiaohongshu, tiktok). |

## Example

```bash
curl -X POST 'https://api.everyinfra.com/api/v1/social' \
  -H "Authorization: Bearer $EVERYINFRA_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "platform": "google_play",
  "action": "books",
  "params": {
    "keyword": "notes"
  }
}'
```

```python
import os
import requests

response = requests.post(
    "https://api.everyinfra.com/api/v1/social",
    headers={"Authorization": f"Bearer {os.environ['EVERYINFRA_API_KEY']}"},
    json={
        "platform": "google_play",
        "action": "books",
        "params": {
            "keyword": "notes",
        },
    },
    timeout=120,
)
print(response.status_code)
print(response.json())
```

## Response example

No real sample for these example parameters yet: structure only, every value is a placeholder (…).

```text
{
  "id": "req_…",
  "platform": "google_play",
  "action": "books",
  "results": [
    {
      "book_id": …,
      "title": …,
      "author": …,
      "url": …,
      "format": …,
      "category": …,
      "rating": …,
      "rating_scale": …,
      "price": …,
      "currency": …,
      "cover_url": …,
      "description": …,
      "platform": …
    }
  ],
  "count": …,
  "billing": {
    "charged": …,
    "charged_usd": …,
    "balance_after_usd": …,
    …
  },
  "quota": { … }
}
```

## Also

- Capability catalog (no key): https://api.everyinfra.com/api/v1/social/catalog?platform=google_play
- OpenAPI: https://everyinfra.com/openapi.json · Agents guide: https://everyinfra.com/agents.md
