openapi: 3.2.0 info: title: Monocrawl Google Places API version: 0.1.0 description: One key, one envelope, one credit meter across social, search, commerce and web data. contact: name: Monocrawl support url: https://www.monocrawl.com/contact termsOfService: https://www.monocrawl.com/legal/terms-and-conditions servers: - url: https://www.monocrawl.com security: - ApiKeyHeader: [] tags: - name: Google Places paths: /v1/google_places/hotel: get: operationId: google_places_hotel tags: - Google Places summary: Google hotel description: One hotel on Google Hotels with prices by seller, amenities, rating and contact details. Costs 4 credits per successful live response. parameters: - name: hotel_id in: query required: true schema: type: string example: ChkIoYjXwK-S_okHGg0vZy8xMW1fd3MzY243EAE description: Hotel identifier from a hotels search - name: check_in in: query required: false schema: type: string example: '2026-10-10' description: Check-in date - name: check_out in: query required: false schema: type: string example: '2026-10-12' description: Check-out date - name: location in: query required: false schema: type: string example: United Kingdom description: Location name - name: language in: query required: false schema: type: string example: en description: Language code - name: dry_run in: query required: false schema: type: string enum: - '1' - '0' - 'true' - 'false' example: '1' description: 'Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable.' - name: X-Max-Credits in: header required: false schema: type: integer minimum: 0 maximum: 9007199254740991 example: 5 description: Optional credit reservation ceiling for this individual request. Send a non-negative integer in decimal digits. Live execution checks the required reservation after resolving free cache hits or buffered continuation, before charging or calling a supplier. A higher reservation returns HTTP 422 INVALID_PARAMETERS with reason max_credits_exceeded and charges nothing. Invalid header values also return 422. Zero permits only a zero-credit reservation; omitting the header uses normal pricing. dry_run remains a free preview. This does not cap later requests, batches or scheduled runs. security: - ApiKeyHeader: [] - BearerKey: [] responses: '200': description: 'The common success envelope; `data` is endpoint-specific. Many lists use items/count/cursor; bundles use named collections and their documented continuation metadata. HTTP 200 can contain a partial bundle: inspect complete, partial and legs where supplied.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: data: $schema: https://json-schema.org/draft/2020-12/schema $id: https://www.monocrawl.com/schemas/google_places/hotel.json title: google_places/hotel data fields description: Optional data supplied by this operation. Null means unknown. type: object properties: address: description: Optional address supplied by this operation. Null means unknown. type: - string - 'null' amenities: description: Source array was empty in the reviewed captures; item fields remain unspecified. type: - array - 'null' items: {} hotel_id: description: Optional hotel id supplied by this operation. Null means unknown. type: - string - 'null' images: description: Optional images supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' location: description: Optional location supplied by this operation. Null means unknown. type: - object - 'null' properties: latitude: description: Optional latitude supplied by this operation. Null means unknown. type: - number - 'null' location_chain: description: Optional location chain supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - object - 'null' properties: card_id: description: Optional card id supplied by this operation. Null means unknown. type: - string - 'null' cid: description: Optional cid supplied by this operation. Null means unknown. type: - string - 'null' feature_id: description: Optional feature id supplied by this operation. Null means unknown. type: - string - 'null' title: description: Source title when supplied. type: - string - 'null' additionalProperties: true longitude: description: Optional longitude supplied by this operation. Null means unknown. type: - number - 'null' maps_url: description: Optional maps url supplied by this operation. Null means unknown. type: - string - 'null' neighborhood: description: Optional neighborhood supplied by this operation. Null means unknown. type: - string - 'null' neighborhood_description: description: Optional neighborhood description supplied by this operation. Null means unknown. type: - string - 'null' overall_score: description: Optional overall score supplied by this operation. Null means unknown. type: - number - 'null' score_by_categories: description: Optional score by categories supplied by this operation. Null means unknown. type: - object - 'null' properties: airport_access: description: Optional airport access supplied by this operation. Null means unknown. type: - number - 'null' overall: description: Optional overall supplied by this operation. Null means unknown. type: - number - 'null' restaurants: description: Optional restaurants supplied by this operation. Null means unknown. type: - number - 'null' things_to_do: description: Optional things to do supplied by this operation. Null means unknown. type: - number - 'null' transit: description: Optional transit supplied by this operation. Null means unknown. type: - number - 'null' additionalProperties: true additionalProperties: true name: description: Optional name supplied by this operation. Null means unknown. type: - string - 'null' phone: description: Optional phone supplied by this operation. Null means unknown. type: - string - 'null' platform: description: Optional platform supplied by this operation. Null means unknown. type: - string - 'null' prices: description: Source array was empty in the reviewed captures; item fields remain unspecified. type: - array - 'null' items: {} rating: description: Source rating; read its accompanying scale and vote count. type: - object - 'null' properties: value: description: Optional value supplied by this operation. Null means unknown. type: - number - 'null' votes: description: Optional votes supplied by this operation. Null means unknown. type: - number - 'null' additionalProperties: true reviews_summary: description: Optional reviews summary supplied by this operation. Null means unknown. type: - object - 'null' properties: mentions: description: Optional mentions supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - object - 'null' properties: negative_count: description: Optional negative count supplied by this operation. Null means unknown. type: - number - 'null' positive_count: description: Optional positive count supplied by this operation. Null means unknown. type: - number - 'null' positive_score: description: Optional positive score supplied by this operation. Null means unknown. type: - number - 'null' title: description: Source title when supplied. type: - string - 'null' total_count: description: Optional total count supplied by this operation. Null means unknown. type: - number - 'null' visible_by_default: description: Optional visible by default supplied by this operation. Null means unknown. type: - boolean - 'null' additionalProperties: true rating_distribution: description: Optional rating distribution supplied by this operation. Null means unknown. type: - object - 'null' properties: {} additionalProperties: true value: description: Optional value supplied by this operation. Null means unknown. type: - number - 'null' votes_count: description: Optional votes count supplied by this operation. Null means unknown. type: - number - 'null' additionalProperties: true sponsored: description: Optional sponsored supplied by this operation. Null means unknown. type: - boolean - 'null' stars: description: Optional stars supplied by this operation. Null means unknown. type: - number - 'null' additionalProperties: true allOf: - anyOf: - required: - address properties: address: description: Optional address supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - amenities properties: amenities: description: Source array was empty in the reviewed captures; item fields remain unspecified. type: - array items: {} - required: - hotel_id properties: hotel_id: description: Optional hotel id supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - images properties: images: description: Optional images supplied by this operation. Null means unknown. type: - array items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' - required: - location properties: location: description: Optional location supplied by this operation. Null means unknown. type: - object properties: latitude: description: Optional latitude supplied by this operation. Null means unknown. type: - number - 'null' location_chain: description: Optional location chain supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - object - 'null' properties: card_id: description: Optional card id supplied by this operation. Null means unknown. type: - string - 'null' cid: description: Optional cid supplied by this operation. Null means unknown. type: - string - 'null' feature_id: description: Optional feature id supplied by this operation. Null means unknown. type: - string - 'null' title: description: Source title when supplied. type: - string - 'null' additionalProperties: true longitude: description: Optional longitude supplied by this operation. Null means unknown. type: - number - 'null' maps_url: description: Optional maps url supplied by this operation. Null means unknown. type: - string - 'null' neighborhood: description: Optional neighborhood supplied by this operation. Null means unknown. type: - string - 'null' neighborhood_description: description: Optional neighborhood description supplied by this operation. Null means unknown. type: - string - 'null' overall_score: description: Optional overall score supplied by this operation. Null means unknown. type: - number - 'null' score_by_categories: description: Optional score by categories supplied by this operation. Null means unknown. type: - object - 'null' properties: airport_access: description: Optional airport access supplied by this operation. Null means unknown. type: - number - 'null' overall: description: Optional overall supplied by this operation. Null means unknown. type: - number - 'null' restaurants: description: Optional restaurants supplied by this operation. Null means unknown. type: - number - 'null' things_to_do: description: Optional things to do supplied by this operation. Null means unknown. type: - number - 'null' transit: description: Optional transit supplied by this operation. Null means unknown. type: - number - 'null' additionalProperties: true additionalProperties: true - required: - name properties: name: description: Optional name supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - phone properties: phone: description: Optional phone supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - prices properties: prices: description: Source array was empty in the reviewed captures; item fields remain unspecified. type: - array items: {} - required: - rating properties: rating: description: Source rating; read its accompanying scale and vote count. type: - object properties: value: description: Optional value supplied by this operation. Null means unknown. type: - number - 'null' votes: description: Optional votes supplied by this operation. Null means unknown. type: - number - 'null' additionalProperties: true - required: - reviews_summary properties: reviews_summary: description: Optional reviews summary supplied by this operation. Null means unknown. type: - object properties: mentions: description: Optional mentions supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - object - 'null' properties: negative_count: description: Optional negative count supplied by this operation. Null means unknown. type: - number - 'null' positive_count: description: Optional positive count supplied by this operation. Null means unknown. type: - number - 'null' positive_score: description: Optional positive score supplied by this operation. Null means unknown. type: - number - 'null' title: description: Source title when supplied. type: - string - 'null' total_count: description: Optional total count supplied by this operation. Null means unknown. type: - number - 'null' visible_by_default: description: Optional visible by default supplied by this operation. Null means unknown. type: - boolean - 'null' additionalProperties: true rating_distribution: description: Optional rating distribution supplied by this operation. Null means unknown. type: - object - 'null' properties: {} additionalProperties: true value: description: Optional value supplied by this operation. Null means unknown. type: - number - 'null' votes_count: description: Optional votes count supplied by this operation. Null means unknown. type: - number - 'null' additionalProperties: true - required: - sponsored properties: sponsored: description: Optional sponsored supplied by this operation. Null means unknown. type: - boolean - required: - stars properties: stars: description: Optional stars supplied by this operation. Null means unknown. type: - number x-contract-version: '2026-09-22' x-validation-scope: Required success payload structure; optional fields and source completeness remain separate. examples: - address: example amenities: [] hotel_id: example images: - example location: latitude: 0 location_chain: - card_id: example cid: example feature_id: example title: example longitude: 0 maps_url: https://example.com/example neighborhood: example neighborhood_description: example overall_score: 0 score_by_categories: airport_access: 0 overall: 0 restaurants: 0 things_to_do: 0 transit: 0 name: example phone: example platform: example prices: [] rating: value: 0 votes: 0 reviews_summary: mentions: - negative_count: 0 positive_count: 0 positive_score: 0 title: example total_count: 0 visible_by_default: false rating_distribution: {} value: 0 votes_count: 0 sponsored: false stars: 0 default: description: The error envelope — the same shape for every non-2xx status. content: application/json: schema: $ref: '#/components/schemas/Error' x-credits: 4 x-production-available: true x-capacity: status: not_assessed message: Capacity is workload-dependent; configured routes do not establish sustained throughput or an availability guarantee. x-availability-scope: Structural check of the effective registered chain, production permission, adapter, configured cost and quality floor without request parameters. True is not a live-health, credential, quota, subscription-entitlement, complete-data or deployment-exposure guarantee. False means no structurally eligible candidate; null means metadata could not establish availability. Composite child capability still depends on its component routes. x-live-proven: true /v1/google_places/hotels-search: get: operationId: google_places_hotels_search tags: - Google Places summary: Google Hotels search description: Hotels for a query on Google Hotels with price, stars, rating and amenities. Costs 4 credits per successful live response. parameters: - name: query in: query required: true schema: type: string example: hotels in Bath description: Search terms - name: check_in in: query required: false schema: type: string example: '2026-10-10' description: Check-in date - name: check_out in: query required: false schema: type: string example: '2026-10-12' description: Check-out date - name: location in: query required: false schema: type: string example: United Kingdom description: Location name - name: language in: query required: false schema: type: string example: en description: Language code - name: limit in: query required: false schema: type: string example: '5' description: Requested rows per response, 1–1000. The source may return fewer. Remaining rows from an already purchased page use a saved cursor and cost zero to retrieve for up to one hour; further native source pages use this endpoint’s normal price. - name: cursor in: query required: false schema: type: string example: '' description: Use the returned cursor unchanged, retaining the original query, filters and limit. Saved mlo1. cursors retrieve already purchased rows at zero credits for up to one hour. A native source cursor, when supplied, starts a normally priced source page. Quote with dry_run before continuing. - name: dry_run in: query required: false schema: type: string enum: - '1' - '0' - 'true' - 'false' example: '1' description: 'Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable.' - name: X-Max-Credits in: header required: false schema: type: integer minimum: 0 maximum: 9007199254740991 example: 5 description: Optional credit reservation ceiling for this individual request. Send a non-negative integer in decimal digits. Live execution checks the required reservation after resolving free cache hits or buffered continuation, before charging or calling a supplier. A higher reservation returns HTTP 422 INVALID_PARAMETERS with reason max_credits_exceeded and charges nothing. Invalid header values also return 422. Zero permits only a zero-credit reservation; omitting the header uses normal pricing. dry_run remains a free preview. This does not cap later requests, batches or scheduled runs. security: - ApiKeyHeader: [] - BearerKey: [] responses: '200': description: 'The common success envelope; `data` is endpoint-specific. Many lists use items/count/cursor; bundles use named collections and their documented continuation metadata. HTTP 200 can contain a partial bundle: inspect complete, partial and legs where supplied.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: data: $schema: https://json-schema.org/draft/2020-12/schema $id: https://www.monocrawl.com/schemas/google_places/hotels-search.json title: google_places/hotels-search data fields description: Optional data supplied by this operation. Null means unknown. type: object properties: check_in: description: Optional check in supplied by this operation. Null means unknown. type: - string - 'null' check_out: description: Optional check out supplied by this operation. Null means unknown. type: - string - 'null' count: description: Number of records in this response, not lifetime or total matches. type: - number - 'null' has_more: description: Source continuation indicator; null means unknown. type: - boolean - 'null' items: description: Returned records. Source coverage and completeness vary. type: - array items: description: Optional record supplied by this operation. Null means unknown. type: object properties: amenities: description: Source array was empty in the reviewed captures; item fields remain unspecified. type: - array - 'null' items: {} hotel_id: description: Optional hotel id supplied by this operation. Null means unknown. type: - string - 'null' images: description: Optional images supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' location: description: Optional location supplied by this operation. Null means unknown. type: - object - 'null' properties: latitude: description: Optional latitude supplied by this operation. Null means unknown. type: - number - 'null' longitude: description: Optional longitude supplied by this operation. Null means unknown. type: - number - 'null' additionalProperties: true name: description: Optional name supplied by this operation. Null means unknown. type: - string - 'null' platform: description: Optional platform supplied by this operation. Null means unknown. type: - string - 'null' rating: description: Source rating; read its accompanying scale and vote count. type: - object - 'null' properties: value: description: Optional value supplied by this operation. Null means unknown. type: - number - 'null' votes: description: Optional votes supplied by this operation. Null means unknown. type: - number - 'null' additionalProperties: true sponsored: description: Optional sponsored supplied by this operation. Null means unknown. type: - boolean - 'null' stars: description: Optional stars supplied by this operation. Null means unknown. type: - number - 'null' additionalProperties: true allOf: - anyOf: - required: - amenities properties: amenities: description: Source array was empty in the reviewed captures; item fields remain unspecified. type: - array items: {} - required: - hotel_id properties: hotel_id: description: Optional hotel id supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - images properties: images: description: Optional images supplied by this operation. Null means unknown. type: - array items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' - required: - location properties: location: description: Optional location supplied by this operation. Null means unknown. type: - object properties: latitude: description: Optional latitude supplied by this operation. Null means unknown. type: - number - 'null' longitude: description: Optional longitude supplied by this operation. Null means unknown. type: - number - 'null' additionalProperties: true - required: - name properties: name: description: Optional name supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - rating properties: rating: description: Source rating; read its accompanying scale and vote count. type: - object properties: value: description: Optional value supplied by this operation. Null means unknown. type: - number - 'null' votes: description: Optional votes supplied by this operation. Null means unknown. type: - number - 'null' additionalProperties: true - required: - sponsored properties: sponsored: description: Optional sponsored supplied by this operation. Null means unknown. type: - boolean - required: - stars properties: stars: description: Optional stars supplied by this operation. Null means unknown. type: - number query: description: Optional query supplied by this operation. Null means unknown. type: - string - 'null' additionalProperties: true required: - items x-contract-version: '2026-09-22' x-validation-scope: Required success payload structure; optional fields and source completeness remain separate. examples: - check_in: example check_out: example count: 0 has_more: false items: - amenities: [] hotel_id: example images: - example location: latitude: 0 longitude: 0 name: example platform: example rating: value: 0 votes: 0 sponsored: false stars: 0 query: example default: description: The error envelope — the same shape for every non-2xx status. content: application/json: schema: $ref: '#/components/schemas/Error' x-credits: 4 x-production-available: true x-capacity: status: not_assessed message: Capacity is workload-dependent; configured routes do not establish sustained throughput or an availability guarantee. x-availability-scope: Structural check of the effective registered chain, production permission, adapter, configured cost and quality floor without request parameters. True is not a live-health, credential, quota, subscription-entitlement, complete-data or deployment-exposure guarantee. False means no structurally eligible candidate; null means metadata could not establish availability. Composite child capability still depends on its component routes. x-live-proven: true /v1/google_places/listing: get: operationId: google_places_listing tags: - Google Places summary: Google business listing description: 'A business''s Google listing: categories, description, hours, attributes, rating, contact details and images. Costs 4 credits per successful live response.' parameters: - name: query in: query required: true schema: type: string example: Dishoom Shoreditch description: Business name, optionally with a place - name: location in: query required: false schema: type: string example: London,England,United Kingdom description: Location name - name: language in: query required: false schema: type: string example: en description: Language code - name: dry_run in: query required: false schema: type: string enum: - '1' - '0' - 'true' - 'false' example: '1' description: 'Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable.' - name: X-Max-Credits in: header required: false schema: type: integer minimum: 0 maximum: 9007199254740991 example: 5 description: Optional credit reservation ceiling for this individual request. Send a non-negative integer in decimal digits. Live execution checks the required reservation after resolving free cache hits or buffered continuation, before charging or calling a supplier. A higher reservation returns HTTP 422 INVALID_PARAMETERS with reason max_credits_exceeded and charges nothing. Invalid header values also return 422. Zero permits only a zero-credit reservation; omitting the header uses normal pricing. dry_run remains a free preview. This does not cap later requests, batches or scheduled runs. security: - ApiKeyHeader: [] - BearerKey: [] responses: '200': description: 'The common success envelope; `data` is endpoint-specific. Many lists use items/count/cursor; bundles use named collections and their documented continuation metadata. HTTP 200 can contain a partial bundle: inspect complete, partial and legs where supplied.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: data: $schema: https://json-schema.org/draft/2020-12/schema $id: https://www.monocrawl.com/schemas/google_places/listing.json title: google_places/listing data fields description: Optional data supplied by this operation. Null means unknown. type: object properties: address: description: Optional address supplied by this operation. Null means unknown. type: - string - 'null' attributes: description: Optional attributes supplied by this operation. Null means unknown. type: - object - 'null' properties: available_attributes: description: Optional available attributes supplied by this operation. Null means unknown. type: - object - 'null' properties: accessibility: description: Optional accessibility supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' amenities: description: Optional amenities supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' atmosphere: description: Optional atmosphere supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' children: description: Optional children supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' crowd: description: Optional crowd supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' dining_options: description: Optional dining options supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' highlights: description: Optional highlights supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' offerings: description: Optional offerings supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' parking: description: Optional parking supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' payments: description: Optional payments supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' pets: description: Optional pets supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' planning: description: Optional planning supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' popular_for: description: Optional popular for supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' service_options: description: Optional service options supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' additionalProperties: true unavailable_attributes: description: Optional unavailable attributes supplied by this operation. Null means unknown. type: - object - 'null' properties: accessibility: description: Optional accessibility supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' additionalProperties: true additionalProperties: true categories: description: Optional categories supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' category: description: Optional category supplied by this operation. Null means unknown. type: - string - 'null' cid: description: Optional cid supplied by this operation. Null means unknown. type: - string - 'null' description: description: Source description; null or absent means not supplied. type: - string - 'null' domain: description: Optional domain supplied by this operation. Null means unknown. type: - string - 'null' hours: description: Optional hours supplied by this operation. Null means unknown. type: - object - 'null' properties: current_status: description: Optional current status supplied by this operation. Null means unknown. type: - string - 'null' timetable: description: Optional timetable supplied by this operation. Null means unknown. type: - object - 'null' properties: friday: description: Optional friday supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - object - 'null' properties: {} additionalProperties: true monday: description: Optional monday supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - object - 'null' properties: {} additionalProperties: true saturday: description: Optional saturday supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - object - 'null' properties: {} additionalProperties: true sunday: description: Optional sunday supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - object - 'null' properties: {} additionalProperties: true thursday: description: Optional thursday supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - object - 'null' properties: {} additionalProperties: true tuesday: description: Optional tuesday supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - object - 'null' properties: {} additionalProperties: true wednesday: description: Optional wednesday supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - object - 'null' properties: {} additionalProperties: true additionalProperties: true additionalProperties: true is_claimed: description: Optional is claimed supplied by this operation. Null means unknown. type: - boolean - 'null' latitude: description: Optional latitude supplied by this operation. Null means unknown. type: - number - 'null' logo: description: Optional logo supplied by this operation. Null means unknown. type: - string - 'null' longitude: description: Optional longitude supplied by this operation. Null means unknown. type: - number - 'null' main_image: description: Optional main image supplied by this operation. Null means unknown. type: - string - 'null' name: description: Optional name supplied by this operation. Null means unknown. type: - string - 'null' open_now: description: Optional open now supplied by this operation. Null means unknown. type: - string - 'null' phone: description: Optional phone supplied by this operation. Null means unknown. type: - string - 'null' place_id: description: Optional place id supplied by this operation. Null means unknown. type: - string - 'null' platform: description: Optional platform supplied by this operation. Null means unknown. type: - string - 'null' rating: description: Source rating; read its accompanying scale and vote count. type: - object - 'null' properties: max: description: Optional max supplied by this operation. Null means unknown. type: - number - 'null' value: description: Optional value supplied by this operation. Null means unknown. type: - number - 'null' votes: description: Optional votes supplied by this operation. Null means unknown. type: - number - 'null' additionalProperties: true url: description: Original source URL when supplied. type: - string - 'null' additionalProperties: true allOf: - anyOf: - required: - address properties: address: description: Optional address supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - attributes properties: attributes: description: Optional attributes supplied by this operation. Null means unknown. type: - object properties: available_attributes: description: Optional available attributes supplied by this operation. Null means unknown. type: - object - 'null' properties: accessibility: description: Optional accessibility supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' amenities: description: Optional amenities supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' atmosphere: description: Optional atmosphere supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' children: description: Optional children supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' crowd: description: Optional crowd supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' dining_options: description: Optional dining options supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' highlights: description: Optional highlights supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' offerings: description: Optional offerings supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' parking: description: Optional parking supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' payments: description: Optional payments supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' pets: description: Optional pets supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' planning: description: Optional planning supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' popular_for: description: Optional popular for supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' service_options: description: Optional service options supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' additionalProperties: true unavailable_attributes: description: Optional unavailable attributes supplied by this operation. Null means unknown. type: - object - 'null' properties: accessibility: description: Optional accessibility supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' additionalProperties: true additionalProperties: true - required: - categories properties: categories: description: Optional categories supplied by this operation. Null means unknown. type: - array items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' - required: - category properties: category: description: Optional category supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - cid properties: cid: description: Optional cid supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - description properties: description: description: Source description; null or absent means not supplied. type: - string minLength: 1 - required: - domain properties: domain: description: Optional domain supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - hours properties: hours: description: Optional hours supplied by this operation. Null means unknown. type: - object properties: current_status: description: Optional current status supplied by this operation. Null means unknown. type: - string - 'null' timetable: description: Optional timetable supplied by this operation. Null means unknown. type: - object - 'null' properties: friday: description: Optional friday supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - object - 'null' properties: {} additionalProperties: true monday: description: Optional monday supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - object - 'null' properties: {} additionalProperties: true saturday: description: Optional saturday supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - object - 'null' properties: {} additionalProperties: true sunday: description: Optional sunday supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - object - 'null' properties: {} additionalProperties: true thursday: description: Optional thursday supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - object - 'null' properties: {} additionalProperties: true tuesday: description: Optional tuesday supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - object - 'null' properties: {} additionalProperties: true wednesday: description: Optional wednesday supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - object - 'null' properties: {} additionalProperties: true additionalProperties: true additionalProperties: true - required: - is_claimed properties: is_claimed: description: Optional is claimed supplied by this operation. Null means unknown. type: - boolean - required: - latitude properties: latitude: description: Optional latitude supplied by this operation. Null means unknown. type: - number - required: - logo properties: logo: description: Optional logo supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - longitude properties: longitude: description: Optional longitude supplied by this operation. Null means unknown. type: - number - required: - main_image properties: main_image: description: Optional main image supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - name properties: name: description: Optional name supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - open_now properties: open_now: description: Optional open now supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - phone properties: phone: description: Optional phone supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - place_id properties: place_id: description: Optional place id supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - rating properties: rating: description: Source rating; read its accompanying scale and vote count. type: - object properties: max: description: Optional max supplied by this operation. Null means unknown. type: - number - 'null' value: description: Optional value supplied by this operation. Null means unknown. type: - number - 'null' votes: description: Optional votes supplied by this operation. Null means unknown. type: - number - 'null' additionalProperties: true - required: - url properties: url: description: Original source URL when supplied. type: - string minLength: 1 x-contract-version: '2026-09-22' x-validation-scope: Required success payload structure; optional fields and source completeness remain separate. examples: - address: example attributes: available_attributes: accessibility: - example amenities: - example atmosphere: - example children: - example crowd: - example dining_options: - example highlights: - example offerings: - example parking: - example payments: - example pets: - example planning: - example popular_for: - example service_options: - example unavailable_attributes: accessibility: - example categories: - example category: example cid: example description: example domain: example hours: current_status: example timetable: friday: - {} monday: - {} saturday: - {} sunday: - {} thursday: - {} tuesday: - {} wednesday: - {} is_claimed: false latitude: 0 logo: example longitude: 0 main_image: https://example.com/example name: example open_now: example phone: example place_id: example platform: example rating: max: 0 value: 0 votes: 0 url: https://example.com/example default: description: The error envelope — the same shape for every non-2xx status. content: application/json: schema: $ref: '#/components/schemas/Error' x-credits: 4 x-production-available: true x-capacity: status: not_assessed message: Capacity is workload-dependent; configured routes do not establish sustained throughput or an availability guarantee. x-availability-scope: Structural check of the effective registered chain, production permission, adapter, configured cost and quality floor without request parameters. True is not a live-health, credential, quota, subscription-entitlement, complete-data or deployment-exposure guarantee. False means no structurally eligible candidate; null means metadata could not establish availability. Composite child capability still depends on its component routes. x-live-proven: true /v1/google_places/place: get: operationId: google_places_place tags: - Google Places summary: Place details description: 'Full place record: contact details, opening hours, price level, rating and business status. Costs 6 credits per successful live response.' parameters: - name: id in: query required: true schema: type: string example: ChIJl1wfOSCjdUgRhrFnqMsMhQM description: Google place id from a search result. - name: dry_run in: query required: false schema: type: string enum: - '1' - '0' - 'true' - 'false' example: '1' description: 'Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable.' - name: X-Max-Credits in: header required: false schema: type: integer minimum: 0 maximum: 9007199254740991 example: 5 description: Optional credit reservation ceiling for this individual request. Send a non-negative integer in decimal digits. Live execution checks the required reservation after resolving free cache hits or buffered continuation, before charging or calling a supplier. A higher reservation returns HTTP 422 INVALID_PARAMETERS with reason max_credits_exceeded and charges nothing. Invalid header values also return 422. Zero permits only a zero-credit reservation; omitting the header uses normal pricing. dry_run remains a free preview. This does not cap later requests, batches or scheduled runs. security: - ApiKeyHeader: [] - BearerKey: [] responses: '200': description: 'The common success envelope; `data` is endpoint-specific. Many lists use items/count/cursor; bundles use named collections and their documented continuation metadata. HTTP 200 can contain a partial bundle: inspect complete, partial and legs where supplied.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: data: $schema: https://json-schema.org/draft/2020-12/schema $id: https://www.monocrawl.com/schemas/google_places/place.json title: google_places/place data fields description: Optional data supplied by this operation. Null means unknown. type: object properties: additional_categories: description: Optional additional categories supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' address: description: Optional address supplied by this operation. Null means unknown. type: - string - 'null' attributes: description: Optional attributes supplied by this operation. Null means unknown. type: - object - 'null' properties: available_attributes: description: Optional available attributes supplied by this operation. Null means unknown. type: - object - 'null' properties: accessibility: description: Optional accessibility supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' atmosphere: description: Optional atmosphere supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' dining_options: description: Optional dining options supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' highlights: description: Optional highlights supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' offerings: description: Optional offerings supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' payments: description: Optional payments supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' pets: description: Optional pets supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' popular_for: description: Optional popular for supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' service_options: description: Optional service options supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' additionalProperties: true unavailable_attributes: description: Optional unavailable attributes supplied by this operation. Null means unknown. type: - object - 'null' properties: service_options: description: Optional service options supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' additionalProperties: true additionalProperties: true category: description: Optional category supplied by this operation. Null means unknown. type: - string - 'null' cid: description: Optional cid supplied by this operation. Null means unknown. type: - string - 'null' description: description: Source description; null or absent means not supplied. type: - string - 'null' id: description: Source identifier. Preserve the supplied type and exact value. type: - string - 'null' is_claimed: description: Optional is claimed supplied by this operation. Null means unknown. type: - boolean - 'null' lat: description: Optional lat supplied by this operation. Null means unknown. type: - number - 'null' lng: description: Optional lng supplied by this operation. Null means unknown. type: - number - 'null' logo: description: Optional logo supplied by this operation. Null means unknown. type: - string - 'null' main_image: description: Optional main image supplied by this operation. Null means unknown. type: - string - 'null' name: description: Optional name supplied by this operation. Null means unknown. type: - string - 'null' open_now: description: Optional open now supplied by this operation. Null means unknown. type: - boolean - 'null' opening_hours: description: Optional opening hours supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' phone: description: Optional phone supplied by this operation. Null means unknown. type: - string - 'null' price_level: description: Optional price level supplied by this operation. Null means unknown. type: - number - 'null' primary_type: description: Optional primary type supplied by this operation. Null means unknown. type: - string - 'null' rating: description: Source rating; read its accompanying scale and vote count. type: - number - 'null' rating_count: description: Optional rating count supplied by this operation. Null means unknown. type: - number - 'null' types: description: Optional types supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' url: description: Original source URL when supplied. type: - string - 'null' website: description: Optional website supplied by this operation. Null means unknown. type: - string - 'null' additionalProperties: true allOf: - anyOf: - required: - additional_categories properties: additional_categories: description: Optional additional categories supplied by this operation. Null means unknown. type: - array items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' - required: - address properties: address: description: Optional address supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - attributes properties: attributes: description: Optional attributes supplied by this operation. Null means unknown. type: - object properties: available_attributes: description: Optional available attributes supplied by this operation. Null means unknown. type: - object - 'null' properties: accessibility: description: Optional accessibility supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' atmosphere: description: Optional atmosphere supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' dining_options: description: Optional dining options supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' highlights: description: Optional highlights supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' offerings: description: Optional offerings supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' payments: description: Optional payments supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' pets: description: Optional pets supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' popular_for: description: Optional popular for supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' service_options: description: Optional service options supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' additionalProperties: true unavailable_attributes: description: Optional unavailable attributes supplied by this operation. Null means unknown. type: - object - 'null' properties: service_options: description: Optional service options supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' additionalProperties: true additionalProperties: true - required: - category properties: category: description: Optional category supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - cid properties: cid: description: Optional cid supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - description properties: description: description: Source description; null or absent means not supplied. type: - string minLength: 1 - required: - id properties: id: description: Source identifier. Preserve the supplied type and exact value. type: - string minLength: 1 - required: - is_claimed properties: is_claimed: description: Optional is claimed supplied by this operation. Null means unknown. type: - boolean - required: - lat properties: lat: description: Optional lat supplied by this operation. Null means unknown. type: - number - required: - lng properties: lng: description: Optional lng supplied by this operation. Null means unknown. type: - number - required: - logo properties: logo: description: Optional logo supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - main_image properties: main_image: description: Optional main image supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - name properties: name: description: Optional name supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - open_now properties: open_now: description: Optional open now supplied by this operation. Null means unknown. type: - boolean - required: - opening_hours properties: opening_hours: description: Optional opening hours supplied by this operation. Null means unknown. type: - array items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' - required: - phone properties: phone: description: Optional phone supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - price_level properties: price_level: description: Optional price level supplied by this operation. Null means unknown. type: - number - required: - primary_type properties: primary_type: description: Optional primary type supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - rating properties: rating: description: Source rating; read its accompanying scale and vote count. type: - number - required: - rating_count properties: rating_count: description: Optional rating count supplied by this operation. Null means unknown. type: - number - required: - types properties: types: description: Optional types supplied by this operation. Null means unknown. type: - array items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' - required: - url properties: url: description: Original source URL when supplied. type: - string minLength: 1 - required: - website properties: website: description: Optional website supplied by this operation. Null means unknown. type: - string minLength: 1 x-contract-version: '2026-09-22' x-validation-scope: Required success payload structure; optional fields and source completeness remain separate. examples: - additional_categories: - example address: example attributes: available_attributes: accessibility: - example atmosphere: - example dining_options: - example highlights: - example offerings: - example payments: - example pets: - example popular_for: - example service_options: - example unavailable_attributes: service_options: - example category: example cid: example description: example id: example is_claimed: false lat: 0 lng: 0 logo: example main_image: https://example.com/example name: example open_now: false opening_hours: - example phone: example price_level: 0 primary_type: example rating: 0 rating_count: 0 types: - example url: https://example.com/example website: example default: description: The error envelope — the same shape for every non-2xx status. content: application/json: schema: $ref: '#/components/schemas/Error' x-credits: 6 x-production-available: true x-capacity: status: not_assessed message: Capacity is workload-dependent; configured routes do not establish sustained throughput or an availability guarantee. x-availability-scope: Structural check of the effective registered chain, production permission, adapter, configured cost and quality floor without request parameters. True is not a live-health, credential, quota, subscription-entitlement, complete-data or deployment-exposure guarantee. False means no structurally eligible candidate; null means metadata could not establish availability. Composite child capability still depends on its component routes. x-live-proven: true /v1/google_places/questions: get: operationId: google_places_questions tags: - Google Places summary: Google business questions description: Questions asked on a business's Google listing with their answers. Costs 4 credits per successful live response. parameters: - name: query in: query required: true schema: type: string example: Dishoom Shoreditch description: Business name, optionally with a place - name: location in: query required: false schema: type: string example: London,England,United Kingdom description: Location name - name: language in: query required: false schema: type: string example: en description: Language code - name: limit in: query required: false schema: type: string example: '5' description: Requested rows per response, 1–1000. The source may return fewer. Remaining rows from an already purchased page use a saved cursor and cost zero to retrieve for up to one hour; further native source pages use this endpoint’s normal price. - name: cursor in: query required: false schema: type: string example: '' description: Use the returned cursor unchanged, retaining the original query, filters and limit. Saved mlo1. cursors retrieve already purchased rows at zero credits for up to one hour. A native source cursor, when supplied, starts a normally priced source page. Quote with dry_run before continuing. - name: dry_run in: query required: false schema: type: string enum: - '1' - '0' - 'true' - 'false' example: '1' description: 'Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable.' - name: X-Max-Credits in: header required: false schema: type: integer minimum: 0 maximum: 9007199254740991 example: 5 description: Optional credit reservation ceiling for this individual request. Send a non-negative integer in decimal digits. Live execution checks the required reservation after resolving free cache hits or buffered continuation, before charging or calling a supplier. A higher reservation returns HTTP 422 INVALID_PARAMETERS with reason max_credits_exceeded and charges nothing. Invalid header values also return 422. Zero permits only a zero-credit reservation; omitting the header uses normal pricing. dry_run remains a free preview. This does not cap later requests, batches or scheduled runs. security: - ApiKeyHeader: [] - BearerKey: [] responses: '200': description: 'The common success envelope; `data` is endpoint-specific. Many lists use items/count/cursor; bundles use named collections and their documented continuation metadata. HTTP 200 can contain a partial bundle: inspect complete, partial and legs where supplied.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: data: $schema: https://json-schema.org/draft/2020-12/schema $id: https://www.monocrawl.com/schemas/google_places/questions.json title: google_places/questions data fields description: Optional data supplied by this operation. Null means unknown. type: object properties: count: description: Number of records in this response, not lifetime or total matches. type: - number - 'null' has_more: description: Source continuation indicator; null means unknown. type: - boolean - 'null' items: description: Returned records. Source coverage and completeness vary. type: - array items: description: Optional record supplied by this operation. Null means unknown. type: object properties: answers: description: Optional answers supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - object - 'null' properties: {} additionalProperties: true asked_at: description: Optional asked at supplied by this operation. Null means unknown. type: - string - 'null' asked_by: description: Optional asked by supplied by this operation. Null means unknown. type: - string - 'null' id: description: Source identifier. Preserve the supplied type and exact value. type: - string - 'null' question: description: Optional question supplied by this operation. Null means unknown. type: - string - 'null' additionalProperties: true allOf: - anyOf: - required: - answers properties: answers: description: Optional answers supplied by this operation. Null means unknown. type: - array items: description: Optional record supplied by this operation. Null means unknown. type: - object - 'null' properties: {} additionalProperties: true - required: - asked_at properties: asked_at: description: Optional asked at supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - asked_by properties: asked_by: description: Optional asked by supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - id properties: id: description: Source identifier. Preserve the supplied type and exact value. type: - string minLength: 1 - required: - question properties: question: description: Optional question supplied by this operation. Null means unknown. type: - string minLength: 1 additionalProperties: true required: - items x-contract-version: '2026-09-22' x-validation-scope: Required success payload structure; optional fields and source completeness remain separate. examples: - count: 0 has_more: false items: - answers: - {} asked_at: '2026-09-01T12:00:00Z' asked_by: example id: example question: example default: description: The error envelope — the same shape for every non-2xx status. content: application/json: schema: $ref: '#/components/schemas/Error' x-credits: 4 x-production-available: true x-capacity: status: not_assessed message: Capacity is workload-dependent; configured routes do not establish sustained throughput or an availability guarantee. x-availability-scope: Structural check of the effective registered chain, production permission, adapter, configured cost and quality floor without request parameters. True is not a live-health, credential, quota, subscription-entitlement, complete-data or deployment-exposure guarantee. False means no structurally eligible candidate; null means metadata could not establish availability. Composite child capability still depends on its component routes. x-live-proven: true /v1/google_places/reviews: get: operationId: google_places_reviews tags: - Google Places summary: Place reviews description: The most relevant reviews for a place (Google returns at most five; no pagination), with the place's overall rating. Costs 2 credits per successful live response. parameters: - name: id in: query required: true schema: type: string example: ChIJl1wfOSCjdUgRhrFnqMsMhQM description: Google place id from a search result. - name: dry_run in: query required: false schema: type: string enum: - '1' - '0' - 'true' - 'false' example: '1' description: 'Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable.' - name: X-Max-Credits in: header required: false schema: type: integer minimum: 0 maximum: 9007199254740991 example: 5 description: Optional credit reservation ceiling for this individual request. Send a non-negative integer in decimal digits. Live execution checks the required reservation after resolving free cache hits or buffered continuation, before charging or calling a supplier. A higher reservation returns HTTP 422 INVALID_PARAMETERS with reason max_credits_exceeded and charges nothing. Invalid header values also return 422. Zero permits only a zero-credit reservation; omitting the header uses normal pricing. dry_run remains a free preview. This does not cap later requests, batches or scheduled runs. security: - ApiKeyHeader: [] - BearerKey: [] responses: '200': description: 'The common success envelope; `data` is endpoint-specific. Many lists use items/count/cursor; bundles use named collections and their documented continuation metadata. HTTP 200 can contain a partial bundle: inspect complete, partial and legs where supplied.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: data: $schema: https://json-schema.org/draft/2020-12/schema $id: https://www.monocrawl.com/schemas/google_places/reviews.json title: google_places/reviews data fields description: Optional data supplied by this operation. Null means unknown. type: object properties: _warnings: description: Optional warnings supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' count: description: Number of records in this response, not lifetime or total matches. type: - number - 'null' items: description: Returned records. Source coverage and completeness vary. type: - array items: description: Optional record supplied by this operation. Null means unknown. type: object properties: author: description: Public author information supplied with this record. type: - string - 'null' author_url: description: Optional author url supplied by this operation. Null means unknown. type: - string - 'null' published_at: description: Source publication time when available. type: - string - 'null' rating: description: Source rating; read its accompanying scale and vote count. type: - number - 'null' relative_time: description: Optional relative time supplied by this operation. Null means unknown. type: - string - 'null' text: description: Source text when supplied. type: - string - 'null' url: description: Original source URL when supplied. type: - string - 'null' additionalProperties: true allOf: - anyOf: - required: - author properties: author: description: Public author information supplied with this record. type: - string minLength: 1 - required: - author_url properties: author_url: description: Optional author url supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - published_at properties: published_at: description: Source publication time when available. type: - string minLength: 1 - required: - rating properties: rating: description: Source rating; read its accompanying scale and vote count. type: - number - required: - relative_time properties: relative_time: description: Optional relative time supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - text properties: text: description: Source text when supplied. type: - string minLength: 1 - required: - url properties: url: description: Original source URL when supplied. type: - string minLength: 1 place: description: Optional place supplied by this operation. Null means unknown. type: - object - 'null' properties: id: description: Source identifier. Preserve the supplied type and exact value. type: - string - 'null' name: description: Optional name supplied by this operation. Null means unknown. type: - string - 'null' rating: description: Source rating; read its accompanying scale and vote count. type: - number - 'null' rating_count: description: Optional rating count supplied by this operation. Null means unknown. type: - number - 'null' additionalProperties: true additionalProperties: true required: - items x-contract-version: '2026-09-22' x-validation-scope: Required success payload structure; optional fields and source completeness remain separate. examples: - _warnings: - example count: 0 items: - author: example author_url: https://example.com/example published_at: '2026-09-01T12:00:00Z' rating: 0 relative_time: example text: example url: https://example.com/example place: id: example name: example rating: 0 rating_count: 0 default: description: The error envelope — the same shape for every non-2xx status. content: application/json: schema: $ref: '#/components/schemas/Error' x-credits: 2 x-production-available: true x-capacity: status: not_assessed message: Capacity is workload-dependent; configured routes do not establish sustained throughput or an availability guarantee. x-availability-scope: Structural check of the effective registered chain, production permission, adapter, configured cost and quality floor without request parameters. True is not a live-health, credential, quota, subscription-entitlement, complete-data or deployment-exposure guarantee. False means no structurally eligible candidate; null means metadata could not establish availability. Composite child capability still depends on its component routes. x-live-proven: true /v1/google_places/search: get: operationId: google_places_search tags: - Google Places summary: Place text search description: Search places and businesses by free text. Returns identity, address, coordinates, rating and links. Costs 2 credits per successful live response. parameters: - name: query in: query required: true schema: type: string example: coffee in Worthing description: 'Free-text search: what and where.' - name: limit in: query required: false schema: type: string example: '20' description: Requested results, 1–20 (default 20); the source may return fewer. No per-item detail enrichment. - name: dry_run in: query required: false schema: type: string enum: - '1' - '0' - 'true' - 'false' example: '1' description: 'Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable.' - name: X-Max-Credits in: header required: false schema: type: integer minimum: 0 maximum: 9007199254740991 example: 5 description: Optional credit reservation ceiling for this individual request. Send a non-negative integer in decimal digits. Live execution checks the required reservation after resolving free cache hits or buffered continuation, before charging or calling a supplier. A higher reservation returns HTTP 422 INVALID_PARAMETERS with reason max_credits_exceeded and charges nothing. Invalid header values also return 422. Zero permits only a zero-credit reservation; omitting the header uses normal pricing. dry_run remains a free preview. This does not cap later requests, batches or scheduled runs. security: - ApiKeyHeader: [] - BearerKey: [] responses: '200': description: 'The common success envelope; `data` is endpoint-specific. Many lists use items/count/cursor; bundles use named collections and their documented continuation metadata. HTTP 200 can contain a partial bundle: inspect complete, partial and legs where supplied.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: data: $schema: https://json-schema.org/draft/2020-12/schema $id: https://www.monocrawl.com/schemas/google_places/search.json title: google_places/search data fields description: Optional data supplied by this operation. Null means unknown. type: object properties: count: description: Number of records in this response, not lifetime or total matches. type: - number - 'null' items: description: Returned records. Source coverage and completeness vary. type: - array items: description: Optional record supplied by this operation. Null means unknown. type: object properties: additional_categories: description: Optional additional categories supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' address: description: Optional address supplied by this operation. Null means unknown. type: - string - 'null' category: description: Optional category supplied by this operation. Null means unknown. type: - string - 'null' cid: description: Optional cid supplied by this operation. Null means unknown. type: - string - 'null' id: description: Source identifier. Preserve the supplied type and exact value. type: - string - 'null' is_claimed: description: Optional is claimed supplied by this operation. Null means unknown. type: - boolean - 'null' lat: description: Optional lat supplied by this operation. Null means unknown. type: - number - 'null' lng: description: Optional lng supplied by this operation. Null means unknown. type: - number - 'null' main_image: description: Optional main image supplied by this operation. Null means unknown. type: - string - 'null' name: description: Optional name supplied by this operation. Null means unknown. type: - string - 'null' open_now: description: Optional open now supplied by this operation. Null means unknown. type: - boolean - 'null' opening_hours: description: Optional opening hours supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' phone: description: Optional phone supplied by this operation. Null means unknown. type: - string - 'null' price_level: description: Optional price level supplied by this operation. Null means unknown. type: - number - 'null' primary_type: description: Optional primary type supplied by this operation. Null means unknown. type: - string - 'null' rating: description: Source rating; read its accompanying scale and vote count. type: - number - 'null' rating_count: description: Optional rating count supplied by this operation. Null means unknown. type: - number - 'null' types: description: Optional types supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' url: description: Original source URL when supplied. type: - string - 'null' website: description: Optional website supplied by this operation. Null means unknown. type: - string - 'null' additionalProperties: true allOf: - anyOf: - required: - additional_categories properties: additional_categories: description: Optional additional categories supplied by this operation. Null means unknown. type: - array items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' - required: - address properties: address: description: Optional address supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - category properties: category: description: Optional category supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - cid properties: cid: description: Optional cid supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - id properties: id: description: Source identifier. Preserve the supplied type and exact value. type: - string minLength: 1 - required: - is_claimed properties: is_claimed: description: Optional is claimed supplied by this operation. Null means unknown. type: - boolean - required: - lat properties: lat: description: Optional lat supplied by this operation. Null means unknown. type: - number - required: - lng properties: lng: description: Optional lng supplied by this operation. Null means unknown. type: - number - required: - main_image properties: main_image: description: Optional main image supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - name properties: name: description: Optional name supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - open_now properties: open_now: description: Optional open now supplied by this operation. Null means unknown. type: - boolean - required: - opening_hours properties: opening_hours: description: Optional opening hours supplied by this operation. Null means unknown. type: - array items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' - required: - phone properties: phone: description: Optional phone supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - price_level properties: price_level: description: Optional price level supplied by this operation. Null means unknown. type: - number - required: - primary_type properties: primary_type: description: Optional primary type supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - rating properties: rating: description: Source rating; read its accompanying scale and vote count. type: - number - required: - rating_count properties: rating_count: description: Optional rating count supplied by this operation. Null means unknown. type: - number - required: - types properties: types: description: Optional types supplied by this operation. Null means unknown. type: - array items: description: Optional record supplied by this operation. Null means unknown. type: - string - 'null' - required: - url properties: url: description: Original source URL when supplied. type: - string minLength: 1 - required: - website properties: website: description: Optional website supplied by this operation. Null means unknown. type: - string minLength: 1 additionalProperties: true required: - items x-contract-version: '2026-09-22' x-validation-scope: Required success payload structure; optional fields and source completeness remain separate. examples: - count: 0 items: - additional_categories: - example address: example category: example cid: example id: example is_claimed: false lat: 0 lng: 0 main_image: https://example.com/example name: example open_now: false opening_hours: - example phone: example price_level: 0 primary_type: example rating: 0 rating_count: 0 types: - example url: https://example.com/example website: example default: description: The error envelope — the same shape for every non-2xx status. content: application/json: schema: $ref: '#/components/schemas/Error' x-credits: 2 x-production-available: true x-capacity: status: not_assessed message: Capacity is workload-dependent; configured routes do not establish sustained throughput or an availability guarantee. x-availability-scope: Structural check of the effective registered chain, production permission, adapter, configured cost and quality floor without request parameters. True is not a live-health, credential, quota, subscription-entitlement, complete-data or deployment-exposure guarantee. False means no structurally eligible candidate; null means metadata could not establish availability. Composite child capability still depends on its component routes. x-live-proven: true /v1/google_places/updates: get: operationId: google_places_updates tags: - Google Places summary: Google business updates description: Posts a business has published on its Google listing. Queued task. Costs 5 credits per successful live response. parameters: - name: query in: query required: true schema: type: string example: Dishoom Shoreditch description: Business name, optionally with a place - name: location in: query required: false schema: type: string example: London,England,United Kingdom description: Location name - name: language in: query required: false schema: type: string example: en description: Language code - name: dry_run in: query required: false schema: type: string enum: - '1' - '0' - 'true' - 'false' example: '1' description: 'Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable.' - name: X-Max-Credits in: header required: false schema: type: integer minimum: 0 maximum: 9007199254740991 example: 5 description: Optional credit reservation ceiling for this individual request. Send a non-negative integer in decimal digits. Live execution checks the required reservation after resolving free cache hits or buffered continuation, before charging or calling a supplier. A higher reservation returns HTTP 422 INVALID_PARAMETERS with reason max_credits_exceeded and charges nothing. Invalid header values also return 422. Zero permits only a zero-credit reservation; omitting the header uses normal pricing. dry_run remains a free preview. This does not cap later requests, batches or scheduled runs. security: - ApiKeyHeader: [] - BearerKey: [] responses: '200': description: 'The common success envelope; `data` is endpoint-specific. Many lists use items/count/cursor; bundles use named collections and their documented continuation metadata. HTTP 200 can contain a partial bundle: inspect complete, partial and legs where supplied.' content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: data: $schema: https://json-schema.org/draft/2020-12/schema $id: https://www.monocrawl.com/schemas/google_places/updates.json title: google_places/updates data fields description: Required core structure for successful data, with optional source fields. Additional fields are allowed. This is not a completeness guarantee. type: object anyOf: - description: Optional data supplied by this operation. Null means unknown. type: object properties: count: description: Number of records in this response, not lifetime or total matches. type: - number - 'null' has_more: description: Source continuation indicator; null means unknown. type: - boolean - 'null' items: description: Returned records. Source coverage and completeness vary. type: - array items: description: Optional record supplied by this operation. Null means unknown. type: object properties: images: description: Source array was empty in the reviewed captures; item fields remain unspecified. type: - array - 'null' items: {} links: description: Optional links supplied by this operation. Null means unknown. type: - array - 'null' items: description: Optional record supplied by this operation. Null means unknown. type: - object - 'null' properties: {} additionalProperties: true posted_at: description: Optional posted at supplied by this operation. Null means unknown. type: - string - 'null' text: description: Source text when supplied. type: - string - 'null' url: description: Original source URL when supplied. type: - string - 'null' additionalProperties: true allOf: - anyOf: - required: - images properties: images: description: Source array was empty in the reviewed captures; item fields remain unspecified. type: - array items: {} - required: - links properties: links: description: Optional links supplied by this operation. Null means unknown. type: - array items: description: Optional record supplied by this operation. Null means unknown. type: - object - 'null' properties: {} additionalProperties: true - required: - posted_at properties: posted_at: description: Optional posted at supplied by this operation. Null means unknown. type: - string minLength: 1 - required: - text properties: text: description: Source text when supplied. type: - string minLength: 1 - required: - url properties: url: description: Original source URL when supplied. type: - string minLength: 1 additionalProperties: true required: - items x-contract-version: '2026-09-22' x-validation-scope: Required success payload structure; optional fields and source completeness remain separate. - type: object required: - task_id - status - status_url - retrieval_credits properties: task_id: type: string minLength: 1 status: enum: - queued - running - completed - failed - cancelled status_url: type: string pattern: ^/v1/web/jobs/job_ result_url: type: string pattern: ^/v1/web/jobs/job_ retrieval_credits: const: 0 examples: - count: 0 has_more: false items: - images: [] links: - {} posted_at: '2026-09-01T12:00:00Z' text: example url: https://example.com/example '202': description: Accepted durable task. Poll the owner-scoped data.status_url for status and the completed result at zero retrieval credits. The task is charged once; terminal failures are refunded. headers: Location: schema: type: string description: The owner-scoped status/result URL. Retry-After: schema: type: integer description: Suggested seconds before polling. content: application/json: schema: allOf: - $ref: '#/components/schemas/Success' - type: object properties: data: type: object required: - task_id - status - status_url - retrieval_credits properties: task_id: type: string minLength: 1 status: enum: - queued - running - completed - failed - cancelled status_url: type: string pattern: ^/v1/web/jobs/job_ result_url: type: string pattern: ^/v1/web/jobs/job_ retrieval_credits: const: 0 default: description: The error envelope — the same shape for every non-2xx status. content: application/json: schema: $ref: '#/components/schemas/Error' x-credits: 5 x-production-available: true x-capacity: status: not_assessed message: Capacity is workload-dependent; configured routes do not establish sustained throughput or an availability guarantee. x-availability-scope: Structural check of the effective registered chain, production permission, adapter, configured cost and quality floor without request parameters. True is not a live-health, credential, quota, subscription-entitlement, complete-data or deployment-exposure guarantee. False means no structurally eligible candidate; null means metadata could not establish availability. Composite child capability still depends on its component routes. x-live-proven: true components: schemas: Error: type: object required: - success - error - credits_used - request_id properties: success: const: false error: type: object required: - type - message - status properties: type: type: string enum: - UNAUTHORIZED - KEY_REVOKED - KEY_LIMIT_EXCEEDED - RATE_LIMITED - INSUFFICIENT_CREDITS - RESOURCE_NOT_FOUND - INVALID_PARAMETERS - TARGET_ACCESS_DENIED - UPSTREAM_ERROR - UPSTREAM_TIMEOUT - FREE_CAPACITY_UNAVAILABLE - CAPACITY_UNAVAILABLE - ENDPOINT_NOT_FOUND - ENDPOINT_NOT_AVAILABLE - FAIR_USE_EXCEEDED - INTERNAL_ERROR message: type: string status: type: integer doc_url: type: string description: Deep link to the exact section of the errors guide for this type. details: type: object credits_used: type: - integer - 'null' description: Confirmed net charge; null when billing is pending reconciliation. Inspect error.details.billing_status and retain request_id. credits_remaining: type: integer request_id: type: string Success: type: object required: - success - platform - endpoint - data - credits_used - credits_remaining - request_id properties: _completeness: type: object description: Reported response completeness, not a guarantee of complete platform history. Missing source assertions remain unknown. properties: state: type: string enum: - complete - partial - unknown scope: type: string inspection_limited: type: boolean success: const: true platform: type: string endpoint: type: string description: The resolved path, e.g. `/v1/github/profile`. data: description: Amazon responses include marketplace.country and marketplace.domain (resolved request marketplace, UK by default). X profiles preserve location, bio_link and cover_url when supplied. TikTok profiles preserve commerce_user, seller, region, location and business_category when supplied; region identifies the account region rather than personal residence. TikTok comments use platform_default selection, which can change between fetches; keep the same video and options when following cursors. Amazon review variant is readable text. Facebook profiles preserve cover_url, following and created_at when supplied; likes_count and followers are distinct and follower totals may be rounded. Endpoint-specific normalized payload, not one universal post/profile schema. Many lists use items/count/cursor; a null cursor means no usable next cursor was supplied, not proof that all history was retrieved. Check has_more and warnings where present. Social full-profile bundles use posts_cursor and posts_pagination.next_params; retain all returned next parameters. YouTube channel bundles instead use recent_videos, cursor and recent_videos_pagination. Inspect complete/partial/legs where supplied for bounded or failed components. Optional model-derived fields are labelled, not source facts. credits_used: type: integer credits_remaining: type: integer request_id: type: string cached: type: boolean stale: type: boolean description: True only for an explicitly labelled, zero-credit reference snapshot served after a temporary upstream failure. age_seconds: type: integer minimum: 0 description: Age of a stale snapshot since its original retrieval; not reset by outage recovery. fetched_at: type: string format: date-time description: Original retrieval time of a stale snapshot, in UTC. synthetic: type: boolean description: Present and true only on the explicitly requested /sandbox surface. Synthetic responses are representative and charged 0 credits; production /v1 never returns them. degraded: type: boolean description: Reserved for sandbox compatibility. Production /v1 reports upstream failure as an error and never serves a representative fallback. securitySchemes: ApiKeyHeader: type: apiKey in: header name: x-api-key description: Your API key (`mn_…`), from the console. The recommended style. BearerKey: type: http scheme: bearer description: The same key as a Bearer token, for clients that only expose an Authorization field. Keys are never accepted in the query string — URLs leak into logs and referrers. x-provenance: method: harvested publisher: Monocrawl source: https://www.monocrawl.com/openapi.json note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json); stamped by stamp-openapi-provenance.py (roadmap#793)