> ## Documentation Index
> Fetch the complete documentation index at: https://docs.anysite.io/llms.txt
> Use this file to discover all available pages before exploring further.

# /demaecan/shops/reviews

> Get Demae-can (出前館) shop reviews by shop id (or shop URL), optionally sorted by date or rating. Each review has the rating, comment text, delivery and review timestamps, the reviewed menu items with quality tags, and the shop's reply if any. A non-existent or review-less shop returns an empty list.

**Price:** 5 credits per 50 results

**💡 AI Hint:** Fetch Demae-can (demae-can.com) reviews for a shop by id (e.g. '1003691') or shop URL. Optional sort (newest/rating_desc/rating_asc). Returns id, rating, text, delivered_at, reviewed_at, menu_items (each with name, is_good, quality tags, image) and the shop reply when present. Returns an empty list when the shop has no reviews or does not exist.



## OpenAPI

````yaml /openapi-filtered.json post /api/demaecan/shops/reviews
openapi: 3.1.0
info:
  title: Any Site API
  description: >+
    Any Site API provides programmatic access to data from LinkedIn, Instagram,
    Twitter, and other platforms.


    ## Authentication


    All API endpoints require an `access-token` header with a valid API token.
    Tokens can be created in the [dashboard](https://app.anysite.io/).


    ## Pricing


    Each endpoint has a credit cost listed in its description. Credits are
    deducted from your token balance per request.

  version: 0.0.1
servers: []
security:
  - AccessToken: []
paths:
  /api/demaecan/shops/reviews:
    post:
      tags:
        - /demaecan
      summary: /demaecan/shops/reviews
      description: >-
        Get Demae-can (出前館) shop reviews by shop id (or shop URL), optionally
        sorted by date or rating. Each review has the rating, comment text,
        delivery and review timestamps, the reviewed menu items with quality
        tags, and the shop's reply if any. A non-existent or review-less shop
        returns an empty list.


        **Price:** 5 credits per 50 results


        **💡 AI Hint:** Fetch Demae-can (demae-can.com) reviews for a shop by id
        (e.g. '1003691') or shop URL. Optional sort
        (newest/rating_desc/rating_asc). Returns id, rating, text, delivered_at,
        reviewed_at, menu_items (each with name, is_good, quality tags, image)
        and the shop reply when present. Returns an empty list when the shop has
        no reviews or does not exist.
      operationId: __api_demaecan_shops_reviews_post
      parameters:
        - name: access-token
          in: header
          required: true
          schema:
            anyOf:
              - type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DemaecanShopsReviewsPayload'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DemaecanShopReview'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    DemaecanShopsReviewsPayload:
      properties:
        timeout:
          type: integer
          maximum: 1500
          minimum: 20
          description: Max scrapping execution timeout (in seconds)
          default: 300
        shop:
          type: string
          minLength: 1
          description: Demae-can shop id or a full shop URL
          examples:
            - '1003691'
            - https://demae-can.com/shop/menu/1003691
        count:
          type: integer
          minimum: 1
          description: Max number of reviews to return
        sort:
          anyOf:
            - $ref: '#/components/schemas/DemaecanReviewSort'
            - type: 'null'
          description: Review ordering
      type: object
      required:
        - shop
        - count
    DemaecanShopReview:
      properties:
        '@type':
          type: string
          default: DemaecanShopReview
        id:
          type: string
        rating:
          anyOf:
            - type: integer
            - type: 'null'
        text:
          anyOf:
            - type: string
            - type: 'null'
        delivered_at:
          anyOf:
            - type: string
            - type: 'null'
        reviewed_at:
          anyOf:
            - type: string
            - type: 'null'
        menu_items:
          items:
            $ref: '#/components/schemas/DemaecanReviewMenuItem'
          type: array
          default: []
        reply:
          anyOf:
            - $ref: '#/components/schemas/DemaecanReviewReply'
            - type: 'null'
      type: object
      required:
        - id
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
      type: object
    DemaecanReviewSort:
      type: string
      enum:
        - newest
        - rating_desc
        - rating_asc
    DemaecanReviewMenuItem:
      properties:
        '@type':
          type: string
          default: DemaecanReviewMenuItem
        item_code:
          anyOf:
            - type: string
            - type: 'null'
        name:
          anyOf:
            - type: string
            - type: 'null'
        is_good:
          type: boolean
          default: false
        tags:
          items:
            type: string
          type: array
          default: []
        image:
          anyOf:
            - type: string
            - type: 'null'
        user_image:
          anyOf:
            - type: string
            - type: 'null'
      type: object
    DemaecanReviewReply:
      properties:
        '@type':
          type: string
          default: DemaecanReviewReply
        text:
          anyOf:
            - type: string
            - type: 'null'
        verified_at:
          anyOf:
            - type: string
            - type: 'null'
      type: object
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
        msg:
          type: string
        type:
          type: string
        input: {}
        ctx:
          type: object
      type: object
      required:
        - loc
        - msg
        - type
  securitySchemes:
    AccessToken:
      type: apiKey
      in: header
      name: access-token
      description: API token from the dashboard

````