X-Payment header.WWW-Authenticate body describing available payment options (amount, asset, payTo, network).transferWithAuthorization for EVM (Base), or a USDC SPL transfer transaction for SVM (Solana).X-Payment header and re-send the request.Fetch details for a single place by its Google Place ID. Returns structured place data from the Google Places API v1.
| Header | Required | Description |
|---|---|---|
| X-Payment | required | Signed x402 payment authorization |
| X-Goog-FieldMask | optional | Comma-separated fields to return. Default: displayName,formattedAddress,location |
GET /places/ChIJN1t_tDeuEmsRUsoyG83frY4 X-Goog-FieldMask: displayName,formattedAddress,location,rating,websiteUri X-Payment: <signed-x402-authorization>
{
"displayName": {
"text": "Sydney Opera House",
"languageCode": "en"
},
"formattedAddress": "Bennelong Point, Sydney NSW 2000, Australia",
"location": {
"latitude": -33.8567844,
"longitude": 151.2152967
}
}
Full-text place search via Google Places API Text Search. Accepts a JSON body and returns a list of matching places.
| Header | Required | Description |
|---|---|---|
| Content-Type | required | application/json |
| X-Payment | required | Signed x402 payment authorization |
| X-Goog-FieldMask | optional | Comma-separated fields to return. Default: places.displayName,places.formattedAddress |
| Body field | Required | Description |
|---|---|---|
| textQuery | required | Natural language search query |
| languageCode | optional | BCP-47 language code for results (e.g. "en") |
| locationBias | optional | Prefer results near a given location |
| maxResultCount | optional | Max results to return (1–20, default 20) |
POST /places/search Content-Type: application/json X-Goog-FieldMask: places.displayName,places.formattedAddress,places.rating X-Payment: <signed-x402-authorization> { "textQuery": "coffee shops near downtown Portland", "maxResultCount": 5 }
{
"places": [
{
"displayName": { "text": "Stumptown Coffee Roasters" },
"formattedAddress": "128 SW 3rd Ave, Portland, OR 97204, USA",
"rating": 4.5
},
// …up to maxResultCount entries
]
}
Use X-Goog-FieldMask to request only the fields you need.
Unmask only what you use — billed per request regardless of field count.
Full reference: Google Places Field Reference
| Field | Description |
|---|---|
| displayName | Localized place name |
| formattedAddress | Full human-readable address |
| location | Latitude / longitude |
| rating | Aggregate user rating (1.0 – 5.0) |
| websiteUri | Place's own website URL |
| internationalPhoneNumber | E.164 formatted phone number |
| regularOpeningHours | Opening hours with periods array |
| priceLevel | PRICE_LEVEL_FREE … PRICE_LEVEL_VERY_EXPENSIVE |
| types | Place type array (e.g. restaurant, locality) |
| photos | Photo references (up to 10) |
| Status | Meaning |
|---|---|
| 402 Payment Required | No or invalid X-Payment header — inspect body for payment requirements |
| 400 Bad Request | Malformed request body or missing required field |
| 404 Not Found | Place ID not found in Google Places |
| 500 Internal Server Error | Upstream Google API error or facilitator failure |