Products

Business Details API: the whole record for one place

Pass a place id from search and get everything the listing shows plus what the business publishes on its own website. One credit per call, website contacts included, cached per site for 30 days and refreshable on demand.

GET/v1/places/{place_id}

200GET /v1/places/ChIJPy04-ZkzGQ0RvdLuGmOMygg
{
  "data": {
    "place_id": "ChIJPy04-ZkzGQ0RvdLuGmOMygg",
    "name": "CDL - Dental Clinic Lisbon",
    "categories": [
      "Dental implants provider",
      "Cosmetic dentist",
      "Dental clinic"
    ],
    "address": {
      "full": "R. Ferreira da Silva 9B, 1900-228 Lisboa, Portugal",
      "street": "R. Ferreira da Silva 9B",
      "city": "Lisbon",
      "country_code": "PT"
    },
    "phone_e164": "+351213540059",
    "website": "https://dentistalisboa.com/",
    "rating": 4.8,
    "review_count": 272,
    "plus_code": "8CCGPVP8+6H",
    "timezone": "Europe/Lisbon",
    "photos_count": 2,
    "enrichment": {
      "socials": {
        "facebook": "https://www.facebook.com/ClinicaDentariaLisboa",
        "instagram": "https://www.instagram.com/clinicadentarialisboa",
        "linkedin": "https://pt.linkedin.com/company/clinica-dentaria-lisboa"
      },
      "whatsapp": "+351916423353",
      "contact_form_url": "https://dentistalisboa.com/contactos/",
      "tech_stack": [
        "wordpress",
        "jquery",
        "google-tag-manager",
        "cloudflare"
      ],
      "website_status": "ok"
    }
  },
  "meta": {
    "request_id": "req_b787c9bb7b08",
    "credits_used": 1,
    "source": "maps_public"
  }
}

What you get

Every field in the response.

FieldMeaning
Everything from searchIdentity, categories, address, coordinates, phone, website, rating, status
hoursOpening periods per weekday in HH:MM, all seven days when the listing publishes them
description, plus_code, timezoneThe listing's own description, Plus Code and IANA timezone
photo_urls[], photos_count, attributes{}Photo links, count, and attribute flags (wheelchair access, delivery, and so on)
enrichmentemails[], socials{}, whatsapp, contact_form_url, tech_stack[], website_status, crawled_at
snapshot_id, first_seen_atEvery fetch is stored, so change history exists from day one

How it works

What happens between your request and the response.

Decode the id locally

The place id decodes to the listing without a lookup, so an unknown id costs nothing and returns 404.

Fetch the listing

One request through the residential tier returns the full record, including the weekly hours.

Read the website

The homepage and, if needed, the contact page are fetched from a datacenter address with a 12 second budget. Role mailboxes, socials, WhatsApp click-to-chat links and the technology signatures are extracted.

Cache and refresh

The website part is cached per host for 30 days. refresh=true forces a new crawl for one extra credit.

Pricing

One credit system for every endpoint.

One credit per call, two with refresh=true. Website contacts are part of the record, not an add-on, on every plan including Free.

See all plans

Questions

Things people ask about the Business Details API.

Do I get opening hours for the whole week?

When the listing publishes a weekly schedule, yes: seven days of open and close times. Some listings publish today only, and some publish nothing; those come back null rather than guessed.

Which contacts come from the website?

Role mailboxes such as info@, sales@ or booking@ on the business's own domain, Facebook, Instagram, LinkedIn, X, YouTube and TikTok profiles, a WhatsApp number when the site has a click-to-chat link, the contact page URL and the technologies the site runs on. Person-named mailboxes are dropped by design.

What happens when the website is down?

website_status says so: unreachable, parked, redirect_social or no_website. You are charged the one credit for the record; a failed crawl is retried after an hour, not in 30 days.