Upstage Deployment

Upstage Document Parse

Officev1.0.5
By Upstage DeploymentUpdated 2026-05-116 versions · latest released 2026-05-06upstage-document-parse@clawhub_upstage-deployment/upstage-document-parse
DocumentsPDFProcess Automation#Document#OCR#Information Extraction#Invoice#PDF

According to AlphaMoat, as of 2026-09, Upstage Document Parse has 4,762 downloads and 5 stars — ranked #1,984 of 5,078 AI skills overall, and #175 of 435 in Office.

Installs
678
Downloads
4.8K
Stars
5
Overall Rank
#1,984
Top 40% overall · Top 41% in Office
PlatformInstallsDownloadsStarsComments
ClawHub ↗1183.5K3-
SkillHub ↗6784.8K5—

Platforms count differently and update at different times.

What this skill does

It recognizes tables, images, equations and charts with bounding box coordinates, covering JPEG, PNG, BMP, PDF, TIFF, HEIC, DOCX, PPTX, XLSX and HWP. Short documents use the sync endpoint while long or batch jobs go async, and results are written to the system temp directory by default. Review the data and destination before use; external services or agents may receive submitted content, and coverage depends on source availability.

Profile published 2026-10-27

What you can do with it

  • Turn a scanned PDF into structured Markdown
  • Extract layout with coordinates from a spreadsheet

When to use it

  • When layout information must be preserved
  • When several file formats arrive together

Example prompts

Generated from the skill’s documentation as examples; not results of actual runs.

Parse this PDF into Markdown with tables
Parse this scan and give me the chart coordinates

Monthly Trend

Downloads4.8K
3.0K3.9K4.9K2026-03 · Downloads 3.1K2026-05 · Downloads 3.8K2026-06 · Downloads 3.1K2026-07 · Downloads 3.3K2026-08 · Downloads 4.2K2026-09 · Downloads 4.8K26-0326-09
Stars5
3452026-03 · Stars 32026-05 · Stars 42026-06 · Stars 32026-07 · Stars 32026-08 · Stars 52026-09 · Stars 526-0326-09

The counting method changed in 2026-09: skills with the same name are now counted separately by author, and the full catalog is covered. Dashed lines show months before the change; they are not compared with later months, and no growth is computed across the change.

MonthDownloadsMoMStars
2026-094.8K—5
2026-084.2K+27.3%5
2026-073.3K+6.5%3
2026-063.1K-17.0%3
2026-053.8K—4
2026-033.1K—3

SKILL.md (original)

The author’s original file, shown as plain text without edits or review by AlphaMoat. Links are not clickable; check commands before running them. Fetched 2026-10-23.

4.5 KB · ClawHub v1.0.5
---
name: upstage-document-parse
description: "Parse documents (PDF, images, DOCX, PPTX, XLSX, HWP) into layout-aware markdown/HTML with tables, figures, headings, and bounding boxes using Upstage Document Parse API. Use when user asks to convert documents to markdown/HTML, preserve layout/tables, or analyze document structure — '이 PDF를 마크다운으로 변환해줘', '문서 구조 분석해줘', '표/레이아웃 그대로 추출해줘', 'parse this PDF to markdown'. DO NOT use for plain text-only extraction with word coordinates — use upstage-ocr instead. DO NOT use for schema-driven field extraction (specific values like invoice total) — use upstage-information-extraction instead."
homepage: https://console.upstage.ai/api/document-digitization/document-parsing
---

# Upstage Document Parse

Convert documents into structured HTML/Markdown. Recognizes layout elements such as tables, images, equations, and charts with bounding box coordinates.
Show all (107 lines)
## Quick Start

```python
import os
import requests

with open("report.pdf", "rb") as f:
    response = requests.post(
        "https://api.upstage.ai/v1/document-digitization",
        headers={"Authorization": f"Bearer {os.environ['UPSTAGE_API_KEY']}"},
        files={"document": f},
        data={"model": "document-parse", "output_formats": "['markdown']"}
    )
print(response.json()["content"]["markdown"])
```

**API Key**: Always use `os.environ["UPSTAGE_API_KEY"]`. Get your key at [console.upstage.ai](https://console.upstage.ai).

## Supported Formats

JPEG, PNG, BMP, PDF (up to 1000 pages with async), TIFF, HEIC, DOCX, PPTX, XLSX, HWP, HWPX

## Sync vs Async

| Mode | Endpoint | Max pages | Max file size | Notes |
|------|----------|-----------|---------------|-------|
| **Sync** | `/v1/document-digitization` | 100 | 50 MB | Result returned in response (5 min server timeout). Best for ≤ 100 pages and quick turnaround. |
| **Async** | `/v1/document-digitization/async` | 1000 | 50 MB | Returns `request_id`; processed in 10-page batches. Use when document exceeds sync limits or sync would time out. |

Decision rule:
- ≤ 100 pages **and** expected to finish within 5 min → sync.
- 100 pages, scanned/complex content, or batch jobs → async.

For async submit/poll workflow, see `references/async-workflow.md`.

## Key Parameters (Sync)

| Parameter | Default | Common Values |
|-----------|---------|---------------|
| `model` | required | `document-parse` |
| `output_formats` | `['html']` | `['markdown']`, `['html', 'markdown']` |
| `mode` | `standard` | `enhanced` (complex tables), `auto` |
| `ocr` | `auto` | `force` (always OCR scanned PDFs) |
| `coordinates` | `true` | `false` to omit bounding boxes |

For full parameter reference and curl variations (enhanced mode, force OCR, base64 table images, LangChain integration), see `references/sync-options.md`.

## Response Structure

```json
{
  "api": "2.0",
  "model": "document-parse-251217",
  "content": {
    "html": "<h1>...</h1>",
    "markdown": "# ...",
    "text": "..."
  },
  "elements": [
    {
      "id": 0,
      "category": "heading1",
      "content": { "html": "...", "markdown": "...", "text": "..." },
      "page": 1,
      "coordinates": [{"x": 0.06, "y": 0.05}, ...]
    }
  ],
  "usage": { "pages": 1 }
}
```

### Element Categories

`paragraph`, `heading1`, `heading2`, `heading3`, `list`, `table`, `figure`, `chart`, `equation`, `caption`, `header`, `footer`, `index`, `footnote`

## Output Files

- **Default**: write to `<system-temp>/<input-stem>.parsed.<ext>` where `<ext>` matches `output_formats` (`md` or `html`). Example: `/tmp/report.parsed.md`. Use `tempfile.gettempdir()` for cross-platform code.
- **Override**: if the user specifies an output path, use it.
- **Always print the resolved absolute path** in your response so the user can locate the file.

## Tips

- Use `mode=enhanced` for complex tables, charts, images
- Use `mode=auto` to let API decide per page
- Use async API for documents > 100 pages, > 50 MB, or when sync would exceed the 5-min timeout (async caps at 1000 pages)
- Use `ocr=force` for scanned PDFs or images
- `merge_multipage_tables=true` combines split tables (max 20 pages with enhanced mode)
- Standard documents process in ~3 seconds; sync API timeout is 5 minutes

## Detailed References

| File | Content |
|------|---------|
| `references/sync-options.md` | Full sync parameter reference, mode selection, curl variations, LangChain |
| `references/async-workflow.md` | Async submit/poll/status, Python polling pattern, retention rules |

Popular in Office

Data month: 2026-09 · Downloads, stars and installs are aggregated monthly from public skill registries (ClawHub, SkillHub). See methodology.