cloro WebsiteAPI Get an API key
API Reference › ChatGPT › Map entries

Map entries

Structured business and place records that cloro pulls out of ChatGPT answers — covering location, ratings, hours, contact details, and imagery sourced from providers such as Yelp and Google Business.

POST https://api.cloro.cloud/v1/extract/chatgpt

Overview

Map entries are not requested through a dedicated endpoint. Whenever ChatGPT surfaces business or place results for a prompt, cloro parses that content and returns it inside the map array of the standard ChatGPT extraction response. No extra flag or parameter is needed — if place data is present, it is included automatically.

Each object in the map array describes a single business or location. Field coverage varies with the underlying provider and with whatever ChatGPT actually exposed for that place, so treat most fields as optional and guard access accordingly.

Request

FieldTypeDescription
promptstringThe query sent to ChatGPT that should trigger place results.
modelstringTarget engine identifier; use CHATGPT for this endpoint.
countrystringTwo-letter country code used to localize results (e.g. US).

Map entry — core fields

FieldTypeDescription
namestringDisplay name of the business.
idstringProvider identifier — a Yelp ID or a Google Place ID.
providerstringOrigin of the record: yelp, b1/b3 (Google), or yelp-feed.
positionintRank of the entry within the returned list, assigned during parsing.

Location fields

FieldTypeDescription
addressstringComplete street address.
citystringCity name.
statestringState or province code.
zipcodestringPostal or ZIP code.
countryCodestringCountry code such as US or GB.
countryNamestringFull country name.
latitudefloatGPS latitude.
longitudefloatGPS longitude.
locationstringReadable location label.
distanceMetersfloatDistance from the user's location when known.

Ratings and reviews

FieldTypeDescription
ratingfloatAverage rating, normally on a 0–5 scale.
reviewCountintTotal number of reviews.
ratingScaleintMaximum of the rating scale, usually 5.
reviewsBusinessReview[]Detailed individual reviews.
reviewHighlightsReviewHighlight[]Highlighted snippets pulled from reviews.

Business info

FieldTypeDescription
categoriesarrayList of business categories.
descriptionstringShort business description.
enrichedDescriptionstringExpanded description with extra context.
descriptionCitestringSource reference for the description.
priceintPrice tier from 1 to 4.
priceStrstringPrice shown as dollar signs, e.g. $$.

Contact and URLs

FieldTypeDescription
phonestringContact phone number.
websiteUrlstringThe business's own website.
providerUrlstringYelp or Google Business listing URL.
providerLogoUrlstringProvider logo for light backgrounds.
providerLogoDarkUrlstringProvider logo for dark backgrounds.
imageUrlstringPrimary business photo.
imageUrlsarrayAll available business photos.
providerImagesProviderImage[]Provider-hosted images with metadata.
yelpMenuUrlstringMenu URL, present for Yelp results only.

Hours and status

FieldTypeDescription
hoursBusinessHour[]Regular operating hours.
isOpenbooleanWhether the business is currently open.
isClosedPermanentlybooleanWhether the listing is permanently closed.
isClosedTemporarilybooleanWhether the listing is temporarily closed.
nextOpenHourBusinessHourThe next window during which the business opens.
specialHoursBusinessHour[]Holiday or exception hours.

Additional fields

FieldTypeDescription
attributesobjectProvider-specific traits such as parking, Wi-Fi, or accepted payment methods.
tagsarrayDescriptive business tags.
rankintRanking reported by the provider.
popularityScorefloatProvider popularity score.
isClaimedbooleanWhether the owner has claimed the listing.
dateOpenedstringDate the business opened.
dateClosedstringDate the business closed, when applicable.
reservationProvidersReservationProvider[]Reservation services available for the business.
fromCachebooleanWhether the record was served from cache.

BusinessHour

Used by hours, nextOpenHour, and specialHours.

FieldTypeDescription
dayintDay of week; 0–6 (0 = Sunday) or 1–7 depending on the provider.
startstringOpening time in HHmm form, e.g. 0600.
endstringClosing time in HHmm form, e.g. 2200.

BusinessReview

Used by reviews.

FieldTypeDescription
idstringReview identifier from the provider.
urlstringLink to the review; may be null.
textstringBody text of the review.
ratingintReview score from 1 to 5.
time_createdstringCreation timestamp in ISO 8601.

ReviewHighlight

Used by reviewHighlights.

FieldTypeDescription
photostringURL of an associated photo.
sentencestringSnippet wrapped with [[HIGHLIGHT]]…[[ENDHIGHLIGHT]] markers.
review_countintNumber of reviews mentioning the highlight.

ProviderImage

Used by providerImages.

FieldTypeDescription
captionstringImage caption.
idstringImage identifier.
is_user_submittedbooleanWhether the image was uploaded by a user.
labelstringImage category such as food, inside, or outside.
large_urlstringLarge-size image URL.
medium_urlstringMedium-size image URL.
original_urlstringOriginal-size image URL.
urlstringStandard image URL.
slideshow_orderintDisplay order within a slideshow.

ReservationProvider

Used by reservationProviders.

FieldTypeDescription
providerstringService key, e.g. yelp or opentable.
provider_restaurant_idstringRestaurant identifier on the reservation service.
provider_reservation_urlstringURL to book a reservation.
provider_namestringHuman-readable service name.
provider_logostringLogo URL for the service.
launcherPayloadanyExtra provider-specific data.

Response example

{
  "success": true,
  "result": {
    "text": "Here are some well-reviewed laundromats in Portland...",
    "map": [
      {
        "id": "rVKID2OBQMyVpraqSjz9sg",
        "provider": "yelp",
        "name": "Spin Laundry Lounge",
        "position": 1,
        "address": "750 N Fremont St, Portland, OR 97227",
        "city": "Portland",
        "state": "OR",
        "zipcode": "97227",
        "countryCode": "US",
        "countryName": "United States",
        "latitude": 45.54764,
        "longitude": -122.67432,
        "location": "Portland, Oregon, United States",
        "rating": 4.2,
        "reviewCount": 381,
        "ratingScale": 5,
        "categories": ["Laundromat"],
        "price": 2,
        "priceStr": "$$",
        "phone": "+15032844794",
        "websiteUrl": "https://spinlaundrylounge.com",
        "providerUrl": "https://www.yelp.com/biz/spin-laundry-lounge-portland",
        "imageUrl": "https://example-cdn.com/photos/spin-lounge/o.jpg",
        "imageUrls": ["https://example-cdn.com/photos/spin-lounge/o.jpg"],
        "isOpen": true,
        "isClosedPermanently": false,
        "hours": [
          { "day": 1, "start": "0700", "end": "2100" },
          { "day": 2, "start": "0700", "end": "2100" },
          { "day": 0, "start": "0700", "end": "2100" }
        ],
        "nextOpenHour": { "day": 2, "start": "0700", "end": "2100" },
        "attributes": {
          "wi_fi": "free",
          "business_accepts_credit_cards": true,
          "business_parking": { "street": true, "lot": false }
        },
        "fromCache": false
      }
    ]
  }
}

Notes

Only name and position are guaranteed on a map entry. Every other field is optional and depends on the provider and on what data ChatGPT exposed for that place, so check for existence or use optional chaining before reading a value.

Questions about place extraction or unexpected field gaps can go to [email protected].