drx-api

Utility api to reduce devs stress

#

DRX-API Logo

DRX-API

High-Performance Crystal Utility Engine

Build Status Commits Stars Contributors Crystal Version Framework License

🛠 Installation & Setup

API Endpoints

Base URL

All endpoints are relative to your server's base URL (default: https://zen-drx-api.onrender.com) docs => https://zendrx-api-docs.netlify.app

Authentication

No authentication required for these endpoints.

Endpoints

1. Base64 to Image

Convert a base64 encoded string to an image.

  • URL: /api/base64-img
  • Method: POST
  • Content-Type: application/json
  • Request Body:
    {
      "base64-string": "data:image/png;base64,iVBORw0KGgo..."
    }
    
  • Response: Image data as JSON

2. IP Check

Get information about an IP address.

  • URL: /api/ip-check
  • Method: POST
  • Content-Type: application/json
  • Request Body:
    {
      "ip": "192.168.1.1"
    }
    
  • Response: IP information as JSON

3. Markdown to HTML

Convert Markdown content to HTML.

  • URL: /api/markdown-html
  • Method: POST
  • Content-Type: application/json
  • Request Body:
    {
      "content": "# Heading\n\nParagraph text"
    }
    
  • Response: HTML content as JSON

4. Get News

Fetch cached news articles.

  • URL: /api/news
  • Method: GET
  • Response:
    {
      "success": "true",
      "data": [ /* news articles */ ]
    }
    

5. Generate QR Code

Generate a QR code from text.

  • URL: /api/qr/:text
  • Method: GET
  • URL Parameters:
    • text - The text to encode in the QR code
  • Example: /api/qr/Hello%20World
  • Response: QR code data as JSON

6. Web Scraper removed no longer available

Scrape content from a webpage using a CSS selector.

  • URL: /api/scrape
  • Method: POST
  • Content-Type: application/json
  • Request Body:
    {
      "url": "https://example.com",
      "selector": "h1.title"
    }
    
  • Response: Scraped content as JSON

7. Stress Test

Perform a stress test on a URL.

  • URL: /api/stress-test
  • Method: POST
  • Content-Type: application/json
  • Request Body:
    {
      "url": "https://example.com"
    }
    
  • Response: Test results as JSON

8. Translate

Translate text between languages.

  • URL: /api/translate
  • Method: POST
  • Content-Type: application/json
  • Request Body:
    {
      "word": "Hello",
      "from": "en",
      "to": "es"
    }
    
  • Response: Translated text as JSON

9. Validate Email

Validate an email address format.

  • URL: /api/validate/email
  • Method: POST
  • Content-Type: application/json
  • Request Body:
    {
      "email": "user@example.com"
    }
    
  • Response: Validation result as JSON

10. Validate Phone Number

Validate a phone number format.

Benchmark Results

Testing Environment:

  • Platform: Render Free Tier
  • Tool: cryload
  • Duration: 100 seconds (unless noted)
  • Concurrent Connections: 20 (except where noted)
  • Success Rate: 100% for all tested endpoints

Performance Summary

Endpoint Method Connections Duration Requests/sec Avg Latency p95 Latency p99 Latency Response Size
Markdown → HTML POST 20 100s 45.32 🏆 437.5ms 631.8ms 997.1ms 95 B
QR Code GET 20 100s 44.50 446.4ms 711.5ms 979.7ms 16.51 KB
News Feed GET 20 100s 35.69 555.5ms 996.2ms 1845.3ms 3.36 KB
Email Validation POST 10* 10s 10.80 831.4ms 1598.7ms 1951.5ms 112 B
IP Check POST 10* 10s 3.00 683.8ms 1498.5ms 1568.6ms 146 B

*Limited to 10 connections due to external API rate limiting

Notes

  • All benchmarks run on Render's free tier (shared CPU)
  • Production deployment would see 100-500% higher throughput
  • External API calls (email, IP) are the primary bottlenecks
  • Crystal/Kemal overhead is minimal (<10ms when warm)
Repository

drx-api

Owner
Statistic
  • 3
  • 0
  • 0
  • 0
  • 4
  • 15 days ago
  • April 23, 2026
License

MIT License

Links
Synced at

Thu, 30 Apr 2026 17:46:43 GMT

Languages