local-search
Search for places, businesses, and locations using Google Maps APIs via x402. USE FOR: - Finding businesses by name or type - Searching nearby places - Getting detailed place information (address, hours, reviews) - Finding restaurants, stores, services in an area - Getting business ratings and reviews TRIGGERS: - "find", "search for", "locate", "nearby" - "restaurants near", "hotels in", "stores around" - "business details", "opening hours", "reviews for" - "places in", "what's near", "directions to" Use agentcash.fetch for Google Maps endpoints. Choose partial ($0.02) vs full ($0.05-0.08) based on data needs.
What this skill does
# Local Search with Google Maps
Access Google Maps Places API through x402-protected endpoints.
## Setup
See [rules/getting-started.md](rules/getting-started.md) for installation and wallet setup.
## Quick Reference
| Task | Endpoint | Price | Data Included |
|------|----------|-------|---------------|
| Text search (basic) | `https://stableenrich.dev/api/google-maps/text-search/partial` | $0.02 | Name, address, rating |
| Text search (full) | `https://stableenrich.dev/api/google-maps/text-search/full` | $0.08 | + reviews, atmosphere |
| Nearby search (basic) | `https://stableenrich.dev/api/google-maps/nearby-search/partial` | $0.02 | Name, address, rating |
| Nearby search (full) | `https://stableenrich.dev/api/google-maps/nearby-search/full` | $0.08 | + reviews, atmosphere |
| Place details (basic) | `https://stableenrich.dev/api/google-maps/place-details/partial` | $0.02 | Core info |
| Place details (full) | `https://stableenrich.dev/api/google-maps/place-details/full` | $0.05 | All fields |
See [rules/partial-vs-full.md](rules/partial-vs-full.md) for tier selection guidance.
## Text Search
Search for places by text query:
```mcp
agentcash.fetch(
url="https://stableenrich.dev/api/google-maps/text-search/partial",
method="POST",
body={
"textQuery": "coffee shops in downtown Seattle"
}
)
```
**Parameters:**
- `textQuery` - Search query (required)
- `locationBias` - Prefer results near a location
- `minRating` - Minimum rating filter (1-5)
- `openNow` - Only open places
- `maxResultCount` - Limit results (default: 20)
**Full tier** adds: reviews, atmosphere data, photos, price level.
## Nearby Search
Search for places near a location:
```mcp
agentcash.fetch(
url="https://stableenrich.dev/api/google-maps/nearby-search/partial",
method="POST",
body={
"locationRestriction": {
"circle": {
"center": {
"latitude": 47.6062,
"longitude": -122.3321
},
"radius": 1000
}
},
"includedTypes": ["restaurant", "cafe"]
}
)
```
**Parameters:**
- `locationRestriction` - Circle with center (lat/lng) and radius in meters
- `includedTypes` - Place types to include
- `excludedTypes` - Place types to exclude
- `minRating` - Minimum rating
- `openNow` - Only open places
## Place Details
Get detailed info for a specific place:
```mcp
agentcash.fetch(
url="https://stableenrich.dev/api/google-maps/place-details/partial?placeId=ChIJN1t_tDeuEmsRUsoyG83frY4",
method="GET"
)
```
**Input:**
- `placeId` - Google Place ID (from search results)
**Partial returns:** Name, address, phone, website, hours, rating, types.
**Full returns:** + reviews, atmosphere (wheelchair access, pets allowed), photos, price level.
## Common Place Types
Use these with `includedTypes` / `excludedTypes`:
**Food & Drink:** restaurant, cafe, bar, bakery, coffee_shop
**Lodging:** hotel, motel, lodging, guest_house
**Shopping:** shopping_mall, store, supermarket, clothing_store
**Services:** bank, atm, gas_station, car_repair, car_wash
**Health:** hospital, pharmacy, doctor, dentist
**Entertainment:** movie_theater, museum, park, gym
## Workflows
### Find Businesses in Area
- [ ] (Optional) Check balance: `agentcash.get_balance`
- [ ] Text search (partial) to find options
- [ ] Review results and select top picks
- [ ] Get full details for selected places
```mcp
agentcash.fetch(
url="https://stableenrich.dev/api/google-maps/text-search/partial",
method="POST",
body={"textQuery": "Italian restaurants downtown Portland"}
)
```
```mcp
agentcash.fetch(
url="https://stableenrich.dev/api/google-maps/place-details/full?placeId=ChIJ...",
method="GET"
)
```
### Nearby Search with Filters
- [ ] Get coordinates for the area
- [ ] Search with location restriction and filters
- [ ] Present sorted results
```mcp
agentcash.fetch(
url="https://stableenrich.dev/api/google-maps/nearby-search/partial",
method="POST",
body={
"locationRestriction": {
"circle": {
"center": {"latitude": 40.7128, "longitude": -74.0060},
"radius": 500
}
},
"includedTypes": ["restaurant"],
"minRating": 4.0,
"openNow": true
}
)
```
### Compare Places with Reviews
- [ ] Search to get place IDs
- [ ] Fetch full details for each candidate
- [ ] Compare ratings, reviews, and amenities
```mcp
agentcash.fetch(
url="https://stableenrich.dev/api/google-maps/place-details/full?placeId=place_id_here",
method="GET"
)
```
## Cost Optimization
### Use Partial Tier When:
- Just need name, address, basic info
- Browsing/discovering options
- Initial search before drilling down
### Use Full Tier When:
- Need reviews/ratings details
- Need atmosphere info (accessibility, etc.)
- Final decision-making
### Efficient Patterns
1. **Search partial, detail full:**
- Text search (partial) to find places
- Place details (full) for the one you care about
2. **Batch searches:**
- Combine filters to reduce calls
- Use `maxResultCount` to limit results
3. **Cache place IDs:**
- Place IDs are stable
- Re-fetch details only when needed
## Response Data
### Partial Tier Fields
- `name` - Place name
- `formattedAddress` - Full address
- `location` - Lat/lng coordinates
- `rating` - Average rating (1-5)
- `userRatingCount` - Number of ratings
- `types` - Place type categories
- `businessStatus` - OPERATIONAL, CLOSED, etc.
- `regularOpeningHours` - Hours of operation
- `nationalPhoneNumber` - Phone number
- `websiteUri` - Website URL
### Full Tier Additional Fields
- `reviews` - User reviews with text and ratings
- `priceLevel` - $ to $$$$
- `accessibilityOptions` - Wheelchair accessible, etc.
- `parkingOptions` - Parking availability
- `paymentOptions` - Accepted payment methods
- `photos` - Photo references
Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.