Specialist Skill

Bulk GBP Updates That Work — API Automation

API call structure for bulk operations, batch processing patterns, error handling, verification steps. Push holiday hours to 85 locations without errors.

Get on GitHub

The GBP API Automation Skill: Bulk Updates That Work

You need to push holiday hours to 85 restaurant locations before Thanksgiving. Doing it manually in GBP takes all day and introduces errors at every step.

You have API credentials but you’re uncertain about the specialHours field structure and don’t want a script that silently fails for some locations.

What Changes With the GBP API Automation Skill

Describe the bulk update task. Get back:

  • The API call structure with correct field formatting
  • The batch processing loop
  • Error handling for common failures
  • Post-run verification approach

You execute. All 85 locations update correctly.

See It Work: Holiday Hours Bulk Update

Prompt: "Push holiday hours to all 85 locations via GBP API:
Thanksgiving closed, Christmas Eve 11am–3pm, Christmas closed, NYE 11am–8pm.
I have credentials. Show me the API structure and error handling."

Skills that fire: dispatch → gbp-api-automation

GBP API BULK UPDATE: Holiday Hours — 85 Locations

ENDPOINT
PATCH https://mybusiness.googleapis.com/v4/accounts/{accountId}/
      locations/{locationId}

SPECIALHOURS STRUCTURE
{
  "specialHours": {
    "specialHourPeriods": [
      {
        "startDate": { "year": 2025, "month": 11, "day": 27 },
        "isClosed": true
      },
      {
        "startDate": { "year": 2025, "month": 12, "day": 24 },
        "openTime": "11:00",
        "closeTime": "15:00",
        "isClosed": false
      },
      {
        "startDate": { "year": 2025, "month": 12, "day": 25 },
        "isClosed": true
      },
      {
        "startDate": { "year": 2025, "month": 12, "day": 31 },
        "openTime": "11:00",
        "closeTime": "20:00",
        "isClosed": false
      }
    ]
  }
}

BATCH APPROACH
1. GET /accounts/{accountId}/locations
   → Retrieve all 85 location IDs

2. For each location ID:
   PATCH /accounts/{accountId}/locations/{locationId}
   Body: specialHours object above
   Log: success/failure with location ID

3. After batch: generate summary report

ERROR HANDLING
403 Forbidden
  → Location not owned by this account
  → Skip, log for manual review, don't retry

429 Rate Limit
  → Pause 60 seconds, then retry
  → Implement exponential backoff if repeated

400 Bad Request
  → Invalid data format
  → Log specific location ID and error message
  → Check hours format (24-hour, no AM/PM)

5xx Server Error
  → Temporary Google issue
  → Queue for retry after 5 minutes

VERIFICATION
After batch completes:
1. Spot-check 5 locations via business_profile endpoint
2. Confirm specialHours appear correctly in API response
3. Manually verify 2 locations in GBP dashboard

Feature Highlights

API call structure for common bulk operations — Holiday hours, description updates, attribute changes, post scheduling. The correct field formats and endpoint paths.

Batch processing patterns — How to iterate through a location portfolio efficiently without hitting rate limits.

Error handling for each failure type — What each error code means and how to respond. 403 vs. 429 vs. 400 require different handling.

Verification step included — Every workflow includes how to confirm the update worked.

Common use cases documented — Holiday hours, bulk attribute addition, description standardization, category updates.

When You Need It

Any bulk GBP update across 10+ locations. Manual updates don’t scale. API does.

Holiday season preparation. Thanksgiving, Christmas, New Year’s — holiday hours need to be set across portfolios.

Brand-wide standardization. New attribute available, category change approved, description template updated — push it everywhere.

Systematic GBP maintenance. Monthly portfolio maintenance touches every location. API makes it efficient.

Get This Skill

The gbp-api-automation skill is part of LocalSEOSkills.

"Push [update type] to all [N] locations via GBP API.
[Describe the specific update].
I have credentials. Show me the API structure and error handling."

Skill Documentation

For technical details on how this skill works, what data it pulls, and complete prompt reference, see the full skill documentation.

All 36 skills. Free. Open source. Get on GitHub →