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

# DoorDash Catalog Download

> Request a temporary download URL from EveryBite and fetch the catalog snapshot from private S3 storage

This guide explains how DoorDash downloads the EveryBite catalog snapshot from private S3 storage.

<Info>
  DoorDash does not need an AWS account or AWS credentials. The temporary URL returned by EveryBite carries its own signature.
</Info>

<Steps>
  <Step title="Request a download URL">
    Use the EveryBite-issued DoorDash bearer token:

    ```bash theme={null}
    curl --request POST \
      "https://api.everybite.com/graphql" \
      --header "Content-Type: application/json" \
      --header "Authorization: Bearer ${EVERYBITE_DOORDASH_TOKEN}" \
      --data '{
        "query": "query { doorDashCatalogDownload { status downloadUrl objectKey catalogDate expiresAt contentType } }"
      }'
    ```

    When `catalogDate` is omitted, EveryBite uses the current UTC date. To request a specific date:

    ```graphql theme={null}
    query {
      doorDashCatalogDownload(catalogDate: "2026-07-24") {
        status
        downloadUrl
        objectKey
        catalogDate
        expiresAt
        contentType
      }
    }
    ```

    Example ready response:

    ```json theme={null}
    {
      "data": {
        "doorDashCatalogDownload": {
          "status": "READY",
          "downloadUrl": "https://everybite-exchange-doordash.s3.us-east-1.amazonaws.com/...?X-Amz-Signature=...",
          "objectKey": "everybite/business_id=73878/date=2026-07-24/catalog-snapshot.json",
          "catalogDate": "2026-07-24",
          "expiresAt": "2026-07-24T15:30:00.000Z",
          "contentType": "application/json"
        }
      }
    }
    ```

    If no completed snapshot exists for that date, `status` is `NOT_FOUND` and `downloadUrl` is `null`.
  </Step>

  <Step title="Download the snapshot">
    Copy only the complete `downloadUrl` value from the response.

    ```bash theme={null}
    curl --fail --show-error \
      --output catalog-snapshot.json \
      "<paste-the-complete-downloadUrl-here>"
    ```

    The downloaded file is the EveryBite response for the selected brand and catalog date.
  </Step>
</Steps>

## Handling the download URL

<Warning>
  The temporary URL normally expires after approximately **15 minutes**. Keep it quoted, do not modify it, and request a new URL if it expires.
</Warning>
