Laravel Packages

Generate API Documentation for Laravel with Scramble

Published
Generate API Documentation for Laravel with Scramble image

Scramble is a package for Laravel that generates API documentation without requiring you to write PHPDoc annotations manually. The UI utilizes Spotlight Elements to provide interactive API Docs with embeddable React or Web Components, powered by OpenAPI and Markdown.

The main motto of [Scramble] is to generate as much API documentation automatically as possible. This allows you to focus on code and avoid annotating every possible param/field as it may result in outdated documentation. By generating docs automatically from the code your API will always have up-to-date documentation you can trust.

After installing Scramble in your Laravel API project, you will get two new routes: /docs/api to view our API documentation, and /docs/api.json which is an Open API document in JSON format used to describe your API.

Scramble relies on static analysis and Laravel conventions to generate as much documentation as possible for you, with the ability to supplement the automatic documentation with annotations. Part of what Scramble does is check form requests or a call to validate() to document required parameters.

Other neat features include:

  • Configurable route resolution using the Scramble::routes() method
  • Documentation authorization gate
  • Server configuration
  • Document security scheme using common conventions like JWT, Basic, OAuth2, etc.
  • Extensions API
  • And more

To get started with Scramble, you can check out the Getting started documentation, which includes installation, setup, and more. You can learn more about this package, get full installation instructions, and view the source code on GitHub.

Paul Redmond photo

Staff writer at Laravel News. Full stack web developer and author.

Sponsored

masteringlaravel logo
Laravel Code Review

Get expert guidance in a few days with a Laravel code review

Visit Laravel Code Review

The latest

View all →
WhenMounted and BigInt Props in Inertia.js v3.8 image

WhenMounted and BigInt Props in Inertia.js v3.8

Read article
Postcodes for Laravel: GB Postcode Lookup and Geography Data image

Postcodes for Laravel: GB Postcode Lookup and Geography Data

Read article
Laravel 14 Adds a defaults() Method to Eloquent Models image

Laravel 14 Adds a defaults() Method to Eloquent Models

Read article
Laravel AI SDK and Laravel MCP Security Fixes: Update Now image

Laravel AI SDK and Laravel MCP Security Fixes: Update Now

Read article
Mailbox for Laravel: Preview and Test Rendered Email image

Mailbox for Laravel: Preview and Test Rendered Email

Read article
Count Worker Crashes as Job Exceptions in Laravel 13.34 image

Count Worker Crashes as Job Exceptions in Laravel 13.34

Read article