Skip to main content

Turn any PDF or image into clean Markdown. Free keyless API.

Project description

hardparse

Turn any PDF or image into clean Markdown — tables as real Markdown tables, formulas as LaTeX, handwriting as readable text.

Free, keyless API. 100 requests/day per IP. Zero dependencies.

Install

pip install hardparse

Use

from hardparse import parse

md = parse("invoice.pdf")
print(md)

That's it. No key. No signup.

More

from hardparse import parse_full

result = parse_full("scan.png")
print(result.markdown)
print(result.page_count, "pages,", result.processing_time_ms, "ms")
print("remaining today:", result.remaining)

Works with paths, bytes, or any file-like object:

parse(Path("doc.pdf"))
parse(open("doc.pdf", "rb"))
parse(b"...raw bytes...")

Rate limits

Anonymous, per-IP: 100 requests / 24h rolling window. On exceed:

from hardparse import parse, RateLimitError

try:
    md = parse("doc.pdf")
except RateLimitError as e:
    print(f"hit limit: used {e.used}/{e.limit}, retry in {e.retry_after}s")

Need more? Email hi@hardparse.com.

Self-host / custom endpoint

from hardparse import Client
client = Client(base_url="https://your-host")
md = client.parse("doc.pdf")

Or set HARDPARSE_BASE_URL.

Supported inputs

PDF, PNG, JPG, TIFF, HEIC, WEBP, BMP. 200 MB max.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hardparse-0.1.0.tar.gz (4.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hardparse-0.1.0-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

Details for the file hardparse-0.1.0.tar.gz.

File metadata

  • Download URL: hardparse-0.1.0.tar.gz
  • Upload date:
  • Size: 4.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for hardparse-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2a27e0f2d9f5421a884a9af40a6605cf60272344747afd12ed2e8090075722f5
MD5 c3192f559841ce2a390558b09f4a9b2c
BLAKE2b-256 8076a936774a86e3a91f36219295072e7ffe7839c4ca3713bd8ff6914cd5b79b

See more details on using hashes here.

File details

Details for the file hardparse-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: hardparse-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 5.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for hardparse-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 46870838e4aaa85e90e846a3b968571e49abd8b613f9b3e65119098d68cc9fd9
MD5 3269960dbf77719b6956b0f3041adabb
BLAKE2b-256 86665a775c30824b64b15b41691e286970fcc9b0ee26869c36e1fc70a4060e2b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page