---
title: "Download async hotel-match result CSV"
method: GET
path: "/hotels/match/async/jobs/{jobId}"
tags: ["Async Hotel Match"]
---

# Download async hotel-match result CSV

`GET /hotels/match/async/jobs/{jobId}`

## Request

- Base URL: `https://api.liteapi.travel/v3.0`
- URL: `https://api.liteapi.travel/v3.0/hotels/match/async/jobs/{jobId}`
- Auth: API key in header `X-API-Key`

## Overview

Streams the finished result CSV for a completed async hotel-match job.

## When to Use

- **After job completes** - Call when status polling returns `status: done` and no `output_gcs` was requested at submit time

## What You Get

- **Result CSV** - One row per input hotel with verdict, matched IDs, scores, and reasons
- **Attachment header** - `Content-Disposition: attachment; filename="hotel-match-{jobId}.csv"`

## Quick Start

Poll until `status` is `done`, then download this endpoint. If submit included `output_gcs`, read that URI instead — this endpoint returns **409**.

**Rate limit:** 50 requests/min (production), 10 requests/min (sandbox).

## Path parameters

- `jobId` string, uuid, required

## Response `200`

Result CSV

## Other responses

- `401`: Unauthorized
- `404`: Unknown job or result not ready
- `409`: Result written to GCS
- `429`: Rate limit exceeded
- `502`: Upstream mapping service unreachable
- `504`: Upstream mapping service timed out

---

[API](https://skmtc.dev/liteapi/apis/api-mapping.md) - [All operations](https://skmtc.dev/liteapi/apis/api-mapping/llms.txt) - [OpenAPI document](https://skmtc.dev/liteapi/apis/api-mapping/revisions/82f8d27a93af?raw)
