Documents & Productivity — entry 027 of 30

Vector Express v2.0

Verified Jul 2026

Vector Express chains together open-source conversion engines (Ghostscript, UniConvertor, libcdr, hp2xx, and others) to translate vector graphics across CAD and illustration formats including AI, DWG, DXF, EPS, and SVG. The core API is free under shared rate limits, while a pay-as-you-go tier removes those limits and raises the file-size ceiling; it sends no CORS headers, so browser calls need a server-side proxy.

Vector Express chains open-source engines (Ghostscript, UniConvertor, libcdr, hp2xx, and others) behind one URL-path-based conversion API — no request body needed for a same-format-family lookup, just /convert/<inFormat>/<toFormat>/. A live GET this run against /public/convert/ returned the full converter graph as real JSON at HTTP 200, fully keyless.

vector-graphicsfile-conversioncad-conversionsvg
AuthenticationNone requiredCall it straight away — no key, no signup.
HTTPSSupportedTraffic is encrypted in transit.
CORSDisabledBrowser calls need a server-side proxy.
PricingFreemiumA usable free tier exists, with paid plans for more volume.
FormatsAI, CDR, DWG, DXF, EPS, HPGL, PDF, PLT, PS, SVG, JSONResponses can be requested as AI or CDR or DWG or DXF or EPS or HPGL or PDF or PLT or PS or SVG or JSON.

GreatAPIs Score

Score91out of 100
Authentication25/25No authentication required
Pricing17/20Freemium tier available
Docs14/20Documentation URL provided
Formats15/15Supports 11 response formats
Freshness20/20Verified within 6 months

Embed this badge

Scored 91 on greatapis.com
<a href="https://greatapis.com/api/vector-express-v2-0/"><img src="https://greatapis.com/badge/vector-express-v2-0.svg" alt="Scored 91 on greatapis.com"></a>

Auth quickstart

  1. No API key, signup, or credit card required for the public tier used above — every call in this run went through with zero credentials. The paid pay-as-you-go plan (vector.express/pricing) only removes the 5-requests/hour cap and raises the max output file size from 1 MiB to 40 MiB; it doesn't unlock any endpoint the free tier can't already reach.
Stored keyNo key stored

Your key is stored only in this browser (localStorage) and sent directly to the API — never to greatapis.

List every available converter and its supported formats

GEThttps://vector.express/api/v2/public/convert/

200 application/json; charset=utf-8

{
  "converters": [
    { "name": "cad", "inputFormats": ["svg"], "outputFormats": ["dxf", "dwg"] },
    { "name": "cad2svg", "inputFormats": ["dxf", "dwg"], "outputFormats": ["svg"] },
    { "name": "gs", "inputFormats": ["ai", "eps", "pdf", "ps"], "outputFormats": ["eps", "pdf", "ps"] },
    { "name": "libcdr", "inputFormats": ["cdr"], "outputFormats": ["svg"] },
    { "name": "librsvg", "inputFormats": ["svg"], "outputFormats": ["eps", "pdf", "ps"] },
    { "name": "hp2xx", "inputFormats": ["hpgl", "plt"], "outputFormats": ["eps", "svg"] },
    { "name": "uniconvertor", "inputFormats": ["eps", "plt", "svg"], "outputFormats": ["pdf", "plt", "svg"] }
  ]
}

Trimmed from 17 real converters to 7 for length; the full response also lists cadlib, emf2svg, svg2cad, pdf2svg, pstoedit, svg2emf, svg2wmf, svgo, and wmf2svg. Each entry is a real installed conversion engine, not a format pair — one engine (e.g. gs, Ghostscript) can cover several input/output combinations at once.

Developer reference

Rate limit

5 requests/hour on the free public API -- per the vendor's own README 'Limits' section at github.com/smidyo/vectorexpress-api; a paid plan removes the cap entirely.

Gotchas & limits

  • The public API is capped at 5 requests per hour per the project's own README, and it means it — three plain GETs to the same endpoint this run got 200, 200, then a genuine 429 {"error":"rate limit exceeded"} on the third, with x-ratelimit-limit: 5 on the successful ones. There's no burst allowance and no way to check remaining quota except reading that header on the last successful call.
  • There's no direct "can format A become format B" lookup — converting between two formats with no shared converter means walking a multi-hop path (e.g. svg → dxf via svg2cad, or svg → pdf via librsvg), and the /convert/<from>/auto/<to>/ alternatives endpoint exists specifically to enumerate those paths; a live GET this run against /convert/svg/auto/pdf/ returned 50 real ranked paths, the shortest being direct single-engine hops like svg/librsvg/pdf and svg/uniconvertor/pdf.
  • No CORS headers are sent on any response, confirmed live this run with and without an Origin header attached to the same GET — matching the project's own README ("It does not support CORS") and the stored cors: no. A browser calling this directly will be blocked; a server-side proxy is required.
  • x-ratelimit-remaining can't be trusted to predict the next call — two back-to-back GETs to the same endpoint this run both reported x-ratelimit-remaining: 3 (identical, not decrementing, likely because the response itself was served from Cloudflare's cache, cf-cache-status: HIT), and the very next call still got a genuine 429 {"error":"rate limit exceeded"}. The header reflects whatever request generated the cached body, not necessarily the caller's own live quota.