{
  "data": {
    "id": "LNaCS08ADvud96hIn",
    "userId": "HIMU0xktu1JeZb4Xl",
    "name": "google-maps-photos-scraper",
    "username": "fetch_cat",
    "description": "Extract public Google Maps place photos, thumbnails, URLs, and visible metadata from place URLs or search queries.",
    "isPublic": true,
    "createdAt": "2026-07-10T10:14:50.221Z",
    "modifiedAt": "2026-10-14T07:44:34.867Z",
    "taggedBuilds": {
      "latest": {
        "buildId": "elEJ7bL37CALeMpVW",
        "finishedAt": "2026-10-14T07:35:48.748Z",
        "buildNumberInt": 100033,
        "buildNumber": "0.1.33"
      },
      "input-ux-20260925": {
        "buildId": "l9L3HEibGFi4oui5G",
        "finishedAt": "2026-09-25T20:27:26.190Z",
        "buildNumberInt": 200001,
        "buildNumber": "0.2.1"
      },
      "candidate-eee66532c16c46089edd": {
        "buildId": "F6fFjTwC66nF51fU3",
        "finishedAt": "2026-10-08T05:28:59.110Z",
        "buildNumberInt": 100032,
        "buildNumber": "0.1.32"
      },
      "candidate-ae7f3f22b2c84e668202": {
        "buildId": "elEJ7bL37CALeMpVW",
        "finishedAt": "2026-10-14T07:35:48.748Z",
        "buildNumberInt": 100033,
        "buildNumber": "0.1.33"
      }
    },
    "stats": {
      "totalBuilds": 34,
      "totalRuns": 2446,
      "totalUsers": 19,
      "totalUsers7Days": 4,
      "totalUsers30Days": 7,
      "totalUsers90Days": 12,
      "lastRunStartedAt": "2026-10-14T07:37:00.727Z",
      "actorReviewCount": 0,
      "actorReviewRating": 0,
      "bookmarkCount": 0,
      "publicActorRunStats30Days": {
        "ABORTED": 2,
        "FAILED": 3,
        "SUCCEEDED": 1641,
        "TIMED-OUT": 0,
        "TOTAL": 1646
      }
    },
    "versions": [
      {
        "versionNumber": "0.1",
        "sourceType": "SOURCE_FILES",
        "buildTag": "candidate-ae7f3f22b2c84e668202"
      },
      {
        "versionNumber": "0.2",
        "sourceType": "SOURCE_FILES",
        "buildTag": "input-ux-20260925"
      }
    ],
    "defaultRunOptions": {
      "build": "latest",
      "timeoutSecs": 600,
      "memoryMbytes": 1024
    },
    "exampleRunInput": {
      "body": "{\"startUrls\": [], \"queries\": [\"Empire State Building\"], \"maxPhotosPerPlace\": 5, \"includeSearchDiscovery\": true, \"proxyConfiguration\": {\"useApifyProxy\": false}}",
      "contentType": "application/json"
    },
    "categories": [
      "LEAD_GENERATION",
      "BUSINESS",
      "MARKETING"
    ],
    "isDeprecated": false,
    "title": "Google Maps Photos Scraper",
    "pictureUrl": "https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/HIMU0xktu1JeZb4Xl-actor-LNaCS08ADvud96hIn-VcxSCjQtTd-google-maps-photos-scraper-actor-icon.png",
    "seoTitle": "Google Maps Photos Scraper - Export Place Images",
    "seoDescription": "Export public Google Maps place photos, thumbnails, image URLs, captions, and metadata from place URLs or search queries to CSV, JSON, or API for analysis.",
    "pricingInfos": [
      {
        "pricingModel": "PAY_PER_EVENT",
        "pricingPerEvent": {
          "actorChargeEvents": {
            "start": {
              "eventTitle": "Start",
              "eventDescription": "One-time fee per run",
              "eventPriceUsd": 0.005,
              "isOneTimeEvent": true
            },
            "photo": {
              "eventTitle": "Photo record",
              "eventDescription": "Per Google Maps photo record saved",
              "eventTieredPricingUsd": {
                "FREE": {
                  "tieredEventPriceUsd": 0.0069
                },
                "BRONZE": {
                  "tieredEventPriceUsd": 0.006
                },
                "SILVER": {
                  "tieredEventPriceUsd": 0.00468
                },
                "GOLD": {
                  "tieredEventPriceUsd": 0.0036
                },
                "PLATINUM": {
                  "tieredEventPriceUsd": 0.0024
                },
                "DIAMOND": {
                  "tieredEventPriceUsd": 0.00168
                }
              },
              "isPrimaryEvent": true
            }
          }
        },
        "apifyMarginPercentage": 0.2,
        "startedAt": "2026-07-10T10:25:13.135Z",
        "createdAt": "2026-07-10T10:25:13.545Z"
      },
      {
        "pricingModel": "PAY_PER_EVENT",
        "pricingPerEvent": {
          "actorChargeEvents": {
            "start": {
              "eventTitle": "Run started",
              "eventDescription": "One-time fee charged when a run starts. Covers fixed startup cost (init, proxy warmup, first HTTP setup).",
              "eventPriceUsd": 0.005,
              "isOneTimeEvent": true
            },
            "photo": {
              "eventTitle": "Photo extracted",
              "eventDescription": "Charged per photo extracted.",
              "eventTieredPricingUsd": {
                "FREE": {
                  "tieredEventPriceUsd": 0.00068135
                },
                "BRONZE": {
                  "tieredEventPriceUsd": 0.00059248
                },
                "SILVER": {
                  "tieredEventPriceUsd": 0.00046213
                },
                "GOLD": {
                  "tieredEventPriceUsd": 0.00035549
                },
                "PLATINUM": {
                  "tieredEventPriceUsd": 0.00023699
                },
                "DIAMOND": {
                  "tieredEventPriceUsd": 0.00016589
                }
              },
              "isPrimaryEvent": true
            }
          }
        },
        "apifyMarginPercentage": 0.2,
        "createdAt": "2026-07-10T11:03:46.073Z",
        "startedAt": "2026-07-10T11:03:46.073Z"
      },
      {
        "pricingModel": "PAY_PER_EVENT",
        "pricingPerEvent": {
          "actorChargeEvents": {
            "start": {
              "eventTitle": "Run started",
              "eventDescription": "One-time fee charged when a run starts. Covers fixed startup cost (init, proxy warmup, first HTTP setup).",
              "eventPriceUsd": 0.005,
              "isOneTimeEvent": true
            },
            "photo": {
              "eventTitle": "Photo extracted",
              "eventDescription": "Charged per photo extracted.",
              "eventTieredPricingUsd": {
                "FREE": {
                  "tieredEventPriceUsd": 0.0015809
                },
                "BRONZE": {
                  "tieredEventPriceUsd": 0.0013747
                },
                "SILVER": {
                  "tieredEventPriceUsd": 0.0010723
                },
                "GOLD": {
                  "tieredEventPriceUsd": 0.00082483
                },
                "PLATINUM": {
                  "tieredEventPriceUsd": 0.00054989
                },
                "DIAMOND": {
                  "tieredEventPriceUsd": 0.00038492
                }
              },
              "isPrimaryEvent": true
            }
          }
        },
        "apifyMarginPercentage": 0.2,
        "startedAt": "2026-07-10T11:25:37.746Z",
        "createdAt": "2026-07-10T11:25:38.168Z"
      }
    ],
    "notice": "NONE",
    "isCritical": false,
    "isGeneric": false,
    "hasNoDataset": false,
    "isSourceCodeHidden": true,
    "standbyUrl": null,
    "actorPermissionLevel": "LIMITED_PERMISSIONS",
    "readmeSummary": "## Google Maps Photos Scraper\n\nA scraper that extracts public Google Maps place photos and associated visible metadata from place pages and search results. It accepts Google Maps URLs, share links, Place IDs, and category/location search queries, navigates map result pages and place galleries, and captures both visible gallery images and browser-delivered photo metadata. The Actor produces public image URLs and preview thumbnails at selectable resolutions, deterministic photo identifiers for deduplication across targets and retries, resolved place names and Maps URLs, the originating query or search context, photo ordering/rank and visible image dimensions, visible captions or alt text and contributor labels when present, Google Maps identifiers when available, an indicator of whether the image came from the DOM or browser photo metadata, and timestamps. Technical behaviors include browser-based extraction, photo deduplication, checkpointed progress and resume across multi-target runs, per-target warning reporting, optional regionalization via language/country settings, selectable image size variants, and configurable parallel browser pages for throughput control.\n\n## Use cases\n\n- Local SEO agencies auditing business profile photo coverage\n- Hospitality, restaurant, and retail teams monitoring public place media\n- Lead generation teams enriching place lists with visual signals\n- Reputation or media auditors comparing competitor photos by location\n- Analysts building datasets of public Maps photo links for review",
    "deploymentKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD5kWWtNOR0dqLgNUghM1Zv41+a48J6FDrLFVq5vu27jc2iOwWJVKoxC+vvUtEoMlxN47JjuAYn05WGa+hI5zRH//ra5vLfL62o0bBuOhEXpVl8RqLinyGJOLBvj81vQqFXJnJuORPfVzjJ5W2QFhnv8DDutl+AJrxSuBlggmnJozZkWKI13Q3A+P9yozsn9H+FATQYbGizFxct2IIEn/anW+jdlIo+eaAejO8nOOj6rDUI58K8EoDoCn/TpF5iCiSQ08r9kP91M8a0br1eyIVqMMrBHlo062fxdnExY2vpas78wN98IjgDGRTSYFyyWpsT2wJVtuzv/NGR4C+fFcJZ \n"
  }
}