Scalar API Reference for Astro
This component provides an easy way to render a beautiful API reference based on an OpenAPI/Swagger document with Astro.
Installation
npm install @scalar/astro
Usage
Import and use the ScalarComponent in your Astro page or layout:
---
import { ScalarComponent } from '@scalar/astro'
---
<ScalarComponent configuration={{
// How to configure Scalar:
// https://guides.scalar.com/scalar/scalar-api-references/configuration
url: '/openapi.json',
}} />
The Astro component takes our universal configuration object, read more about configuration.
Themes
You can use one of our predefined themes (alternate, default, moon, purple, solarized) or overwrite it with none. All themes come with a light and dark color scheme.
---
import { ScalarComponent } from '@scalar/astro'
---
<ScalarComponent configuration={{
url: '/openapi.json',
theme: 'purple',
}} />
Custom page title
There's an additional option to set the page title:
---
import { ScalarComponent } from '@scalar/astro'
---
<ScalarComponent configuration={{
url: '/openapi.json',
pageTitle: 'Awesome API',
}} />
Custom CDN
You can use a custom CDN, the default is https://cdn.jsdelivr.net/npm/@scalar/api-reference.
You can also pin the CDN to a specific version by specifying it in the CDN string like https://cdn.jsdelivr.net/npm/@scalar/api-reference@1.25.28
You can find a list of available CDN versions here.
---
import { ScalarComponent } from '@scalar/astro'
---
<ScalarComponent configuration={{
url: '/openapi.json',
pageTitle: 'Awesome API',
cdn: 'https://cdn.jsdelivr.net/npm/@scalar/api-reference@latest',
}} />
Proxy URL
If you need to proxy API requests (for CORS or other reasons), you can configure a proxy URL:
---
import { ScalarComponent } from '@scalar/astro'
---
<ScalarComponent configuration={{
url: '/openapi.json',
proxyUrl: 'https://proxy.scalar.com',
}} />