---
title: "Get started with Arcjet"
description: "Getting started with Arcjet. Quick start guide to protect your app from attacks, apply a rate limit, and prevent bots from accessing your NestJS, Next.js, Node.js, Bun, or SvelteKit app."
prev: false
next: false
#pageTitle:
# bun: "Get started with Bun"
# bun-hono: "Get started with Bun + Hono"
# 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"
# sveltekit: "Get started with SvelteKit"
frameworks:
- 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: "What next?"
anchor: "what-next"
- text: "FAQs"
anchor: "faqs"
- text: "Get help"
anchor: "get-help"
---
import SlotByFramework from "@/components/SlotByFramework";
import FrameworkLinks from "@/components/FrameworkLinks";
import { LinkButton, LinkCard } from "@astrojs/starlight/components";
import FAQs from "/src/components/FAQs.astro";
import WhatIsArcjet from "/src/components/WhatIsArcjet.astro";
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).
## What next?
## FAQs
## 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.