--- title: "Get started with Arcjet" titleByFramework: default: "Get started with Arcjet" astro: "Get started with Astro" bun: "Get started with Bun" bun-hono: "Get started with Bun + Hono" deno: "Get started with Deno" nest-js: "Get started with NestJS" next-js: "Get started with Next.js" node-js: "Get started with Node.js" node-js-express: "Get started with Node.js + Express" node-js-hono: "Get started with Node.js + Hono" remix: "Get started with Remix" sveltekit: "Get started with SvelteKit" description: "Getting started with Arcjet. Quick start guide to protect your app from attacks, apply a rate limit, and prevent bots from accessing your Astro, Bun, Deno, NestJS, Next.js, Node.js, Remix, or SvelteKit app." prev: false next: false frameworks: - astro - bun - bun-hono - deno - nest-js - next-js - node-js - node-js-express - node-js-hono - remix - sveltekit ajToc: - text: 0. Get Started anchor: "0-get-started" - text: 1. Install Arcjet anchor: "1-install-arcjet" - text: 2. Set your key anchor: "2-set-your-key" - text: 3. Add rules anchor: "3-add-rules" - text: 4. Start app anchor: "4-start-app" - text: "FAQs" anchor: "faqs" - text: "What next?" anchor: "what-next" - text: "Get help" anchor: "get-help" --- import SlotByFramework from "@/components/SlotByFramework"; import FrameworkLinks from "@/components/FrameworkLinks"; import { LinkButton, LinkCard, CardGrid } from "@astrojs/starlight/components"; import FAQs from "/src/components/FAQs.astro"; import WhatIsArcjet from "/src/components/WhatIsArcjet.astro"; import SdkReferenceLinkByFramework from "/src/components/SdkReferenceLinkByFramework.astro"; import AstroStep0 from "@/snippets/get-started/astro/Step0.mdx"; import AstroStep1 from "@/snippets/get-started/astro/Step1.mdx"; import AstroRequirements from "@/snippets/get-started/astro/Requirements.mdx"; import AstroStep2 from "@/snippets/get-started/astro/Step2.mdx"; import AstroStep3 from "@/snippets/get-started/astro/Step3.mdx"; import AstroStep4 from "@/snippets/get-started/astro/Step4.mdx"; import BunStep0 from "@/snippets/get-started/bun/Step0.mdx"; import BunStep1 from "@/snippets/get-started/bun/Step1.mdx"; import BunRequirements from "@/snippets/get-started/bun/Requirements.mdx"; import BunStep2 from "@/snippets/get-started/bun/Step2.mdx"; import BunStep3 from "@/snippets/get-started/bun/Step3.mdx"; import BunStep4 from "@/snippets/get-started/bun/Step4.mdx"; import BunHonoStep0 from "@/snippets/get-started/bun-hono/Step0.mdx"; import BunHonoStep1 from "@/snippets/get-started/bun-hono/Step1.mdx"; import BunHonoRequirements from "@/snippets/get-started/bun-hono/Requirements.mdx"; import BunHonoStep2 from "@/snippets/get-started/bun-hono/Step2.mdx"; import BunHonoStep3 from "@/snippets/get-started/bun-hono/Step3.mdx"; import BunHonoStep4 from "@/snippets/get-started/bun-hono/Step4.mdx"; import DenoStep0 from "@/snippets/get-started/deno/Step0.mdx"; import DenoStep1 from "@/snippets/get-started/deno/Step1.mdx"; import DenoRequirements from "@/snippets/get-started/deno/Requirements.mdx"; import DenoStep2 from "@/snippets/get-started/deno/Step2.mdx"; import DenoStep3 from "@/snippets/get-started/deno/Step3.mdx"; import DenoStep4 from "@/snippets/get-started/deno/Step4.mdx"; import NestJsStep0 from "@/snippets/get-started/nest-js/Step0.mdx"; import NestJsStep1 from "@/snippets/get-started/nest-js/Step1.mdx"; import NestJsRequirements from "@/snippets/get-started/nest-js/Requirements.mdx"; import NestJsStep2 from "@/snippets/get-started/nest-js/Step2.mdx"; import NestJsStep3 from "@/snippets/get-started/nest-js/Step3.mdx"; import NestJsStep4 from "@/snippets/get-started/nest-js/Step4.mdx"; import NextJsStep0 from "@/snippets/get-started/next-js/Step0.mdx"; import NextJsStep1 from "@/snippets/get-started/next-js/Step1.mdx"; import NextJsRequirements from "@/snippets/get-started/next-js/Requirements.mdx"; import NextJsStep2 from "@/snippets/get-started/next-js/Step2.mdx"; import NextJsStep3 from "@/snippets/get-started/next-js/Step3.mdx"; import NextJsStep4 from "@/snippets/get-started/next-js/Step4.mdx"; import NodeJsStep0 from "@/snippets/get-started/node-js/Step0.mdx"; import NodeJsStep1 from "@/snippets/get-started/node-js/Step1.mdx"; import NodeJsRequirements from "@/snippets/get-started/node-js/Requirements.mdx"; import NodeJsStep2 from "@/snippets/get-started/node-js/Step2.mdx"; import NodeJsStep3 from "@/snippets/get-started/node-js/Step3.mdx"; import NodeJsStep4 from "@/snippets/get-started/node-js/Step4.mdx"; import NodeJsExpressStep0 from "@/snippets/get-started/node-js-express/Step0.mdx"; import NodeJsExpressStep1 from "@/snippets/get-started/node-js-express/Step1.mdx"; import NodeJsExpressRequirements from "@/snippets/get-started/node-js-express/Requirements.mdx"; import NodeJsExpressStep2 from "@/snippets/get-started/node-js-express/Step2.mdx"; import NodeJsExpressStep3 from "@/snippets/get-started/node-js-express/Step3.mdx"; import NodeJsExpressStep4 from "@/snippets/get-started/node-js-express/Step4.mdx"; import NodeJsHonoStep0 from "@/snippets/get-started/node-js-hono/Step0.mdx"; import NodeJsHonoStep1 from "@/snippets/get-started/node-js-hono/Step1.mdx"; import NodeJsHonoRequirements from "@/snippets/get-started/node-js-hono/Requirements.mdx"; import NodeJsHonoStep2 from "@/snippets/get-started/node-js-hono/Step2.mdx"; import NodeJsHonoStep3 from "@/snippets/get-started/node-js-hono/Step3.mdx"; import NodeJsHonoStep4 from "@/snippets/get-started/node-js-hono/Step4.mdx"; import RemixStep0 from "@/snippets/get-started/remix/Step0.mdx"; import RemixStep1 from "@/snippets/get-started/remix/Step1.mdx"; import RemixRequirements from "@/snippets/get-started/remix/Requirements.mdx"; import RemixStep2 from "@/snippets/get-started/remix/Step2.mdx"; import RemixStep3 from "@/snippets/get-started/remix/Step3.mdx"; import RemixStep4 from "@/snippets/get-started/remix/Step4.mdx"; import SvelteKitStep0 from "@/snippets/get-started/sveltekit/Step0.mdx"; import SvelteKitStep1 from "@/snippets/get-started/sveltekit/Step1.mdx"; import SvelteKitRequirements from "@/snippets/get-started/sveltekit/Requirements.mdx"; import SvelteKitStep2 from "@/snippets/get-started/sveltekit/Step2.mdx"; import SvelteKitStep3 from "@/snippets/get-started/sveltekit/Step3.mdx"; import SvelteKitStep4 from "@/snippets/get-started/sveltekit/Step4.mdx"; [Arcjet](https://arcjet.com/) helps developers protect their apps in just a few lines of code. Bot detection. Rate limiting. Email validation. Attack protection. Data redaction. A developer-first approach to security. This guide will show you how to set up a simple API server protected by Arcjet. ## 0. Get Started ## 1. Install Arcjet In your project root, run the following command: ### Requirements ## 2. Set your key [Create a free Arcjet account](https://app.arcjet.com) then follow the instructions to add a site and get a key. ## 3. Add rules This configures Arcjet rules to protect your app from attacks, apply a rate limit, and prevent bots from accessing your app. The requests will also show in the [Arcjet dashboard](https://app.arcjet.com). ## FAQs ## What next? ### Explore Arcjet can be used with specific rules on individual routes or as general protection on your entire application. You can defend from clients sending you sensitive information, minimize fraudulent registrations with the signup form protection and more. ## Get help Need help with anything? [Email us](mailto:support@arcjet.com) or [join our Discord](https://arcjet.com/discord) to get support from our engineering team.