---
seo_title: File Conversion API Endpoints — Complete List | EnConvert
meta_desc: Complete list of Enconvert file conversion API endpoints — web pages, data formats, documents, and images — from POST /v1/convert/url-to-pdf to /v2/watch.
keywords: file conversion api endpoints list, file conversion api endpoints, url to pdf api endpoint, document to pdf api endpoints, image conversion api endpoints, data format conversion api, api health check endpoint, async conversion job status endpoint
---

# File Conversion API Endpoints

This page is the complete endpoints list for the Enconvert file conversion API, organized by category — web pages (such as `POST /v1/convert/url-to-pdf`), data formats, documents to PDF, and image conversions — plus web intelligence (V2), system, authentication, and widget endpoints. Conversion endpoints accept either a JSON request body or a `multipart/form-data` file upload, as noted in each category, and the web page endpoints support batch processing and asynchronous execution. All endpoints are served from the base URL:

```
https://api.enconvert.com
```

---

## Web Pages

These endpoints accept a JSON request body (`application/json`) containing one or more URLs. They support batch processing and asynchronous execution.

| Endpoint | Input | Output |
|----------|-------|--------|
| `POST /v1/convert/url-to-pdf` | URL(s) | PDF |
| `POST /v1/convert/url-to-screenshot` | URL(s) | PNG |
| `POST /v1/convert/url-to-markdown` | URL(s) | Markdown |
| `POST /v1/convert/website-to-pdf` | Website URL | ZIP of PDFs |
| `POST /v1/convert/website-to-screenshot` | Website URL | ZIP of PNGs |

---

## Data Formats

These endpoints accept file uploads via `multipart/form-data` and return the converted output.

| Endpoint | Input | Output |
|----------|-------|--------|
| `POST /v1/convert/json-to-xml` | JSON | XML |
| `POST /v1/convert/xml-to-json` | XML | JSON |
| `POST /v1/convert/json-to-yaml` | JSON | YAML |
| `POST /v1/convert/yaml-to-json` | YAML | JSON |
| `POST /v1/convert/csv-to-json` | CSV | JSON |
| `POST /v1/convert/json-to-csv` | JSON | CSV |
| `POST /v1/convert/json-to-toml` | JSON | TOML |
| `POST /v1/convert/toml-to-json` | TOML | JSON |
| `POST /v1/convert/csv-to-xml` | CSV | XML |
| `POST /v1/convert/xml-to-csv` | XML | CSV |
| `POST /v1/convert/markdown-to-html` | Markdown | HTML |

---

## Documents to PDF

These endpoints accept file uploads via `multipart/form-data` and produce PDF output.

| Endpoint | Input | Output |
|----------|-------|--------|
| `POST /v1/convert/html-to-pdf` | HTML | PDF |
| `POST /v1/convert/markdown-to-pdf` | Markdown | PDF |
| `POST /v1/convert/doc-to-pdf` | DOC, DOCX | PDF |
| `POST /v1/convert/excel-to-pdf` | XLSX, XLS | PDF |
| `POST /v1/convert/ppt-to-pdf` | PPT, PPTX | PDF |
| `POST /v1/convert/odt-to-pdf` | ODT | PDF |
| `POST /v1/convert/ods-to-pdf` | ODS | PDF |
| `POST /v1/convert/odp-to-pdf` | ODP | PDF |
| `POST /v1/convert/ots-to-pdf` | OTS | PDF |
| `POST /v1/convert/pages-to-pdf` | Pages | PDF |
| `POST /v1/convert/numbers-to-pdf` | Numbers | PDF |

---

## Image Conversions

These endpoints accept image file uploads via `multipart/form-data` and return the converted image output.

| Endpoint | Input | Output |
|----------|-------|--------|
| `POST /v1/convert/jpeg-to-png` | JPEG | PNG |
| `POST /v1/convert/png-to-jpeg` | PNG | JPEG |
| `POST /v1/convert/jpeg-to-svg` | JPEG | SVG |
| `POST /v1/convert/svg-to-jpeg` | SVG | JPEG |
| `POST /v1/convert/jpeg-to-heic` | JPEG | HEIC |
| `POST /v1/convert/heic-to-jpeg` | HEIC | JPEG |
| `POST /v1/convert/jpeg-to-webp` | JPEG | WebP |
| `POST /v1/convert/webp-to-jpeg` | WebP | JPEG |
| `POST /v1/convert/png-to-svg` | PNG | SVG |
| `POST /v1/convert/svg-to-png` | SVG | PNG |
| `POST /v1/convert/png-to-heic` | PNG | HEIC |
| `POST /v1/convert/heic-to-png` | HEIC | PNG |
| `POST /v1/convert/png-to-webp` | PNG | WebP |
| `POST /v1/convert/webp-to-png` | WebP | PNG |
| `POST /v1/convert/svg-to-heic` | SVG | HEIC |
| `POST /v1/convert/heic-to-svg` | HEIC | SVG |
| `POST /v1/convert/svg-to-webp` | SVG | WebP |
| `POST /v1/convert/webp-to-svg` | WebP | SVG |
| `POST /v1/convert/heic-to-webp` | HEIC | WebP |
| `POST /v1/convert/webp-to-heic` | WebP | HEIC |
| `POST /v1/convert/pdf-to-jpeg` | PDF | JPEG (ZIP for multi-page PDFs) |
| `POST /v1/convert/compress-image` | PNG / JPEG / WebP | Same format, compressed |

---

## Web Intelligence (V2)

These endpoints accept a JSON request body (`application/json`) and operate on live web pages. They share the conversion API's authentication and key allowlist but meter against separate V2 quota counters. See the [V2 overview](/docs/v2-overview) for the full picture.

| Endpoint | Method | Description |
|----------|--------|-------------|
| `/v2/perceive` | `POST` | Render a URL once; return Markdown, HTML, screenshot, PDF, links, and structured data. |
| `/v2/perceive/{operation_id}` | `GET` | Re-fetch a past perceive operation with freshly signed download URLs. |
| `/v2/perceive/batch` | `POST` | Perceive up to 1,000 URLs that share one set of options. |
| `/v2/perceive/batch/{job_id}` | `GET` | Poll a perceive batch's status and per-URL results. |
| `/v2/discover` | `POST` | Enumerate a site's URLs from its sitemap and an HTTP crawl. |
| `/v2/lookup` | `POST` | Run a web/news/scholar/maps search, optionally auto-perceiving the top results. |
| `/v2/distill` | `POST` | Schema-driven structured extraction (CSS pass plus LLM fallback). |
| `/v2/ingest` | `POST` | Start an async crawl-to-JSONL ingest job; returns `202` with a `job_id`. |
| `/v2/ingest` | `GET` | List the project's ingest jobs (newest first). |
| `/v2/ingest/{job_id}` | `GET` | Poll an ingest job's status and chunk counts. |
| `/v2/ingest/{job_id}` | `DELETE` | Cancel an ingest job between pages. |
| `/v2/watch` | `POST` | Create a change monitor for a URL. |
| `/v2/watch` | `GET` | List the project's watchers (newest first). |
| `/v2/watch/{watcher_id}` | `GET` | Fetch one watcher's full state. |
| `/v2/watch/{watcher_id}/snapshots` | `GET` | List a watcher's recent check snapshots. |
| `/v2/watch/{watcher_id}` | `PATCH` | Update a watcher's cadence, diff mode, notifications, or status. |
| `/v2/watch/{watcher_id}` | `DELETE` | Delete a watcher. |

---

## System Endpoints

| Endpoint | Method | Description |
|----------|--------|-------------|
| `/health` | `GET` | Health check. Returns the current status of the API service. |
| `/v1/convert/status/{job_id}` | `GET` | Poll the status of an asynchronous conversion job. |

### Health Check

```
GET https://api.enconvert.com/health
```

Returns a simple status response indicating the API is operational. No authentication is required.

### Job Status Polling

```
GET https://api.enconvert.com/v1/convert/status/{job_id}
```

Returns the current status of an async conversion job. See [Batch Processing](batch-processing.md) for full details on async workflows and response formats.

---

## Authentication Endpoints

| Endpoint | Method | Description |
|----------|--------|-------------|
| `/v1/auth/token` | `POST` | Generate an API access token. |
| `/v1/auth/refresh` | `POST` | Refresh an expired access token. |
| `/v1/auth/verify` | `GET` | Verify that a token is valid. |

---

## Widget Endpoints

| Endpoint | Method | Description |
|----------|--------|-------------|
| `/v1/widget/{widget_id}/config` | `GET` | Retrieve configuration for an embedded widget. |
| `/v1/widget/{widget_id}/token` | `POST` | Generate a scoped token for widget usage. |

## Frequently asked questions

### Which file conversion endpoints accept file uploads?

The data format, documents-to-PDF, and image conversion endpoints all accept file uploads via `multipart/form-data`. The web page endpoints instead accept a JSON request body (`application/json`) containing one or more URLs.

### How do I check the status of an asynchronous conversion job?

Poll `GET /v1/convert/status/{job_id}` to get the current status of an async conversion job. See the Batch Processing page for full details on async workflows and response formats.

### Is there a health check endpoint for the Enconvert API?

Yes. `GET /health` returns a simple status response indicating the API is operational, and no authentication is required.

### Can I convert an entire website to PDF with one API call?

Yes. `POST /v1/convert/website-to-pdf` takes a website URL and returns a ZIP of PDFs; `POST /v1/convert/website-to-screenshot` works the same way and returns a ZIP of PNGs.

### Do the V2 web intelligence endpoints use the same authentication as V1?

Yes — the `/v2` endpoints share the conversion API's authentication and key allowlist, but they meter against separate V2 quota counters.
