Best.Free API — for developers
Automate any tool from your own code. Every interactive tool exposes a single POST endpoint that returns exactly what the web app produces.
No key to start
POST and go. Rate-limited per IP; sign in later for higher limits.
Same as the web app
The endpoint runs the identical processor — same output, no surprises.
In-memory, private
Files are processed in memory and never stored on disk.
Quick start
Send a POST to any tool endpoint below. JSON-mode tools take a JSON body; file tools take multipart form-data. The response is the finished file or a JSON result.
Endpoints (45)
https://best.free/api/tools/pdf-annotator/
open tool →
curl -X POST https://best.free/api/tools/pdf-annotator/ \
-F 'file=@document.pdf' \
-F 'type=note' \
-F 'text=Please review this section' \
-F 'page=1' \
-F 'x=72' \
-F 'y=72' \
-o annotated.pdf
https://best.free/api/tools/audio-converter/
open tool →
curl -X POST https://best.free/api/tools/audio-converter/ \
-F 'file=@track.wav' \
-F 'format=mp3' \
-o audio.mp3
https://best.free/api/tools/background-remover/
open tool →
curl -X POST https://best.free/api/tools/background-remover/ \
-F 'file=@portrait.jpg' \
-o no-background.png
https://best.free/api/tools/barcode-generator/
open tool →
curl -X POST https://best.free/api/tools/barcode-generator/ \
-H 'Content-Type: application/json' \
-d '{"text": "0123456789012", "symbology": "code128"}'
https://best.free/api/tools/csv-to-json/
open tool →
curl -X POST https://best.free/api/tools/csv-to-json/ \
-H 'Content-Type: application/json' \
-d '{"text": "name,age\\nAda,36", "delimiter": ",", "header": true}'
https://best.free/api/tools/case-converter/
open tool →
curl -X POST https://best.free/api/tools/case-converter/ \
-H 'Content-Type: application/json' \
-d '{"text": "hello world from best free"}'
https://best.free/api/tools/compress-pdf/
open tool →
curl -X POST https://best.free/api/tools/compress-pdf/ \
-F 'file=@document.pdf' \
-o compressed.pdf
https://best.free/api/tools/image-crop/
open tool →
curl -X POST https://best.free/api/tools/image-crop/ \
-F 'file=@photo.jpg' \
-F 'x=0' \
-F 'y=0' \
-F 'width=400' \
-F 'height=300' \
-o cropped.png
https://best.free/api/tools/currency-converter/
open tool →
curl -X POST https://best.free/api/tools/currency-converter/ \
-H 'Content-Type: application/json' \
-d '{"amount": 100, "from": "USD", "to": "EUR"}'
https://best.free/api/tools/document-converter/
open tool →
curl -X POST https://best.free/api/tools/document-converter/ \
-F 'file=@document.docx' \
-F 'format=pdf' \
-o document.pdf
https://best.free/api/tools/ebook-converter/
open tool →
curl -X POST https://best.free/api/tools/ebook-converter/ \
-F 'file=@book.mobi' \
-F 'format=epub' \
-o book.epub
https://best.free/api/tools/favicon-maker/
open tool →
curl -X POST https://best.free/api/tools/favicon-maker/ \
-F 'file=@logo.png' \
-o favicons.zip
https://best.free/api/tools/image-compressor/
open tool →
curl -X POST https://best.free/api/tools/image-compressor/ \
-F 'file=@photo.jpg' \
-F 'quality=70' \
-F 'format=jpg' \
-o compressed.jpg
https://best.free/api/tools/image-converter/
open tool →
curl -X POST https://best.free/api/tools/image-converter/ \
-F 'file=@photo.jpg' \
-F 'format=png' \
-o image.png
https://best.free/api/tools/image-enhancer/
open tool →
curl -X POST https://best.free/api/tools/image-enhancer/ \
-F 'file=@photo.jpg' \
-F 'contrast=1.1' \
-F 'color=1.15' \
-o enhanced.png
https://best.free/api/tools/image-metadata/
open tool →
curl -X POST https://best.free/api/tools/image-metadata/ \
-F 'file=@photo.jpg' \
-F 'action=read' \
-o metadata.json
https://best.free/api/tools/image-optimizer/
open tool →
curl -X POST https://best.free/api/tools/image-optimizer/ \
-F 'file=@photo.jpg' \
-o optimized.jpg
https://best.free/api/tools/image-resizer/
open tool →
curl -X POST https://best.free/api/tools/image-resizer/ \
-F 'file=@photo.jpg' \
-F 'width=800' \
-F 'height=600' \
-F 'keep_aspect=True' \
-o resized.png
https://best.free/api/tools/image-sharpener/
open tool →
curl -X POST https://best.free/api/tools/image-sharpener/ \
-F 'file=@photo.jpg' \
-F 'amount=150' \
-F 'radius=2' \
-o sharper.png
https://best.free/api/tools/image-vectorizer/
open tool →
curl -X POST https://best.free/api/tools/image-vectorizer/ \
-F 'file=@logo.png' \
-F 'mode=color' \
-o image.svg
https://best.free/api/tools/invoice-generator/
open tool →
curl -X POST https://best.free/api/tools/invoice-generator/ \
-H 'Content-Type: application/json' \
-d '{"from": "Acme LLC", "to": "Client Co", "invoice_number": "INV-001", "items": "Design work | 10 | 75", "tax_rate": 8.5, "currency": "$"}'
https://best.free/api/tools/jpg-to-pdf/
open tool →
curl -X POST https://best.free/api/tools/jpg-to-pdf/ \
-F 'files=@photo1.jpg' \
-F 'files=@photo2.jpg' \
-o images.pdf
https://best.free/api/tools/json-formatter/
open tool →
curl -X POST https://best.free/api/tools/json-formatter/ \
-H 'Content-Type: application/json' \
-d '{"text": "{\"b\":2,\"a\":1}", "action": "format", "indent": 2, "sort": true}'
https://best.free/api/tools/json-to-csv/
open tool →
curl -X POST https://best.free/api/tools/json-to-csv/ \
-H 'Content-Type: application/json' \
-d '{"text": "[{\"name\":\"Ada\",\"age\":36}]"}'
https://best.free/api/tools/merge-pdf/
open tool →
curl -X POST https://best.free/api/tools/merge-pdf/ \
-F 'files=@file1.pdf' \
-F 'files=@file2.pdf' \
-o merged.pdf
https://best.free/api/tools/pdf-organizer/
open tool →
curl -X POST https://best.free/api/tools/pdf-organizer/ \
-F 'file=@document.pdf' \
-F 'pages=3,1,2' \
-F 'rotate=1:90,3:180' \
-o organized.pdf
https://best.free/api/tools/pdf-form-filler/
open tool →
curl -X POST https://best.free/api/tools/pdf-form-filler/ \
-F 'file=@form.pdf' \
-F 'fields={"full_name": "Jane Doe", "date": "2026-06-27"}' \
-o filled.pdf
https://best.free/api/tools/pdf-to-excel/
open tool →
curl -X POST https://best.free/api/tools/pdf-to-excel/ \
-F 'file=@report.pdf' \
-o tables.xlsx
https://best.free/api/tools/pdf-to-jpg/
open tool →
curl -X POST https://best.free/api/tools/pdf-to-jpg/ \
-F 'file=@document.pdf' \
-F 'dpi=150' \
-o pages-jpg.zip
https://best.free/api/tools/pdf-to-ppt/
open tool →
curl -X POST https://best.free/api/tools/pdf-to-ppt/ \
-F 'file=@document.pdf' \
-F 'dpi=150' \
-o slides.pptx
https://best.free/api/tools/pdf-to-word/
open tool →
curl -X POST https://best.free/api/tools/pdf-to-word/ \
-F 'file=@document.pdf' \
-o document.docx
https://best.free/api/tools/password-generator/
open tool →
curl -X POST https://best.free/api/tools/password-generator/ \
-H 'Content-Type: application/json' \
-d '{"length": 20, "count": 5, "upper": true, "lower": true, "digits": true, "symbols": true}'
https://best.free/api/tools/ppt-to-pdf/
open tool →
curl -X POST https://best.free/api/tools/ppt-to-pdf/ \
-F 'file=@deck.pptx' \
-o slides.pdf
https://best.free/api/tools/qr-code-generator/
open tool →
curl -X POST https://best.free/api/tools/qr-code-generator/ \
-H 'Content-Type: application/json' \
-d '{"text": "https://best.free", "size": 10, "ec": "M"}'
https://best.free/api/tools/resume-builder/
open tool →
curl -X POST https://best.free/api/tools/resume-builder/ \
-H 'Content-Type: application/json' \
-d '{"name": "Ada Lovelace", "title": "Software Engineer", "email": "ada@example.com", "summary": "Backend engineer with 8 years experience.", "experience": "Senior Engineer, Acme (2020-2026)", "education": "BSc Computer Science", "skills": "Python, Django, PostgreSQL"}'
https://best.free/api/tools/image-rotate/
open tool →
curl -X POST https://best.free/api/tools/image-rotate/ \
-F 'file=@photo.jpg' \
-F 'angle=90' \
-F 'flip=none' \
-o rotated.png
https://best.free/api/tools/svg-to-png/
open tool →
curl -X POST https://best.free/api/tools/svg-to-png/ \
-F 'file=@image.svg' \
-F 'format=png' \
-F 'scale=1' \
-o image.png
https://best.free/api/tools/pdf-sign/
open tool →
curl -X POST https://best.free/api/tools/pdf-sign/ \
-F 'file=@contract.pdf' \
-F 'signature=@signature.png' \
-F 'text=Jane Doe' \
-F 'page=1' \
-F 'x=350' \
-F 'y=680' \
-F 'width=160' \
-o signed.pdf
https://best.free/api/tools/split-pdf/
open tool →
curl -X POST https://best.free/api/tools/split-pdf/ \
-F 'file=@document.pdf' \
-F 'pages=1-3,5' \
-F 'mode=extract' \
-o split.pdf
https://best.free/api/tools/url-shortener/
open tool →
curl -X POST https://best.free/api/tools/url-shortener/ \
-H 'Content-Type: application/json' \
-d '{"url": "https://example.com/a/very/long/path"}'
https://best.free/api/tools/unit-converter/
open tool →
curl -X POST https://best.free/api/tools/unit-converter/ \
-H 'Content-Type: application/json' \
-d '{"category": "length", "value": 10, "from": "mi", "to": "km"}'
https://best.free/api/tools/pdf-unlock/
open tool →
curl -X POST https://best.free/api/tools/pdf-unlock/ \
-F 'file=@protected.pdf' \
-F 'action=remove' \
-F 'password=currentpass' \
-F 'new_password=newpass' \
-o unlocked.pdf
https://best.free/api/tools/video-converter/
open tool →
curl -X POST https://best.free/api/tools/video-converter/ \
-F 'file=@clip.mov' \
-F 'format=mp4' \
-o video.mp4
https://best.free/api/tools/word-counter/
open tool →
curl -X POST https://best.free/api/tools/word-counter/ \
-H 'Content-Type: application/json' \
-d '{"text": "Paste any text here to count it."}'
https://best.free/api/tools/archive-zip/
open tool →
curl -X POST https://best.free/api/tools/archive-zip/ \
-F 'files=@file1.txt' \
-F 'files=@file2.txt' \
-F 'level=6' \
-F 'name=archive' \
-o archive.zip
Need higher limits, batch processing or a dedicated key? Contattaci.