DEV Community

Alex Spinov
Alex Spinov

Posted on

Wrangler Has a Free API That Most Developers Dont Know About

Wrangler is the CLI for Cloudflare Workers. Deploy serverless functions, manage KV storage, R2 buckets, D1 databases, and more from the command line.

Quick Start

npm create cloudflare@latest my-worker
cd my-worker
npx wrangler dev  # Local development
npx wrangler deploy  # Deploy to edge
Enter fullscreen mode Exit fullscreen mode

Worker Code

// src/index.ts
export default {
  async fetch(request: Request, env: Env): Promise<Response> {
    const url = new URL(request.url);

    if (url.pathname === "/api/kv") {
      const value = await env.MY_KV.get("key");
      return Response.json({ value });
    }

    if (url.pathname === "/api/d1") {
      const { results } = await env.DB.prepare("SELECT * FROM users LIMIT 10").all();
      return Response.json(results);
    }

    return new Response("Hello from the edge!");
  }
};
Enter fullscreen mode Exit fullscreen mode

CLI Commands

# KV Storage
wrangler kv namespace create MY_KV
wrangler kv key put --binding MY_KV "key" "value"
wrangler kv key get --binding MY_KV "key"

# D1 Database
wrangler d1 create my-db
wrangler d1 execute my-db --command "CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT)"

# R2 Storage
wrangler r2 bucket create my-bucket
wrangler r2 object put my-bucket/file.txt --file ./local-file.txt

# Secrets
wrangler secret put API_KEY
Enter fullscreen mode Exit fullscreen mode

Key Features

  • Deploy to 300+ edge locations
  • KV, R2, D1, Queues, Durable Objects
  • Local dev with miniflare
  • Secrets management
  • Tail logs in real-time

Need to scrape or monitor web data at scale? Check out my web scraping actors on Apify or email spinov001@gmail.com for custom solutions.

Top comments (0)