# Sitemap

Discover URLs from a domain's sitemap or by crawling. Accessed via `client.sitemap`.

## create

```ts
client.sitemap.create(opts: SitemapCreateRequest, requestOptions?: RequestOptions): Promise<SitemapCreateResponse>
```

POST /v1/sitemap — start a sitemap crawl.

`requestOptions` carries the CLIENT-side abort budget (`requestTimeoutMs`) and an
optional caller `signal`; both override the constructor's `timeoutMs` default.

## get

```ts
client.sitemap.get(id: SitemapId, requestOptions?: RequestOptions): Promise<SitemapGetResponse>
```

GET /v1/sitemap/\{id\} — get a sitemap job by ID

## getWithResponse

```ts
client.sitemap.getWithResponse(id: SitemapId, requestOptions?: RequestOptions): Promise<ApiResponse<SitemapGetResponse>>
```

GET /v1/sitemap/\{id\}, returning the header set alongside the body.

Same request as `sitemap.get` — same method, path and `RequestOptions`
precedence — and `data` is exactly what `get()` resolves to. `get()`'s own return type
is UNCHANGED; this is an additive sibling, not a replacement.

The spec documents `X-Sitemap-ID`, `X-Raw-Bytes`, `X-Billing-Multiplier` and
`X-Billable-Bytes` on this endpoint's 200; every one of them is on `headers`.