skillfed

djangorestframework

Web APIs for Django, made easy.

djangorestframework Permissive license BSD-3-Clause Active 30,129 v3.18.0 released

Install

djangorestframework on PyPI

pip

pip install djangorestframework

uv

uv add djangorestframework

poetry

poetry add djangorestframework

Package facts

License BSD-3-Clause (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 1 — django
Maintenance actively maintained — 6 days since the last release
Last repo commit
First released
Popularity one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13)
Known vulnerabilities none known (OSV.dev, checked 2026-08-13)

Evidence: djangorestframework-3.18.0-py3-none-any.whl

Development Status :: 5 - Production/StableEnvironment :: Web EnvironmentFramework :: DjangoFramework :: Django :: 5.2Framework :: Django :: 6.0Framework :: Django :: 6.1Intended Audience :: DevelopersOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Internet :: WWW/HTTP

About djangorestframework

from the package's own PyPI description — quoted content, verbatim

[Django REST framework][docs]

[![build-status-image]][build-status] [![coverage-status-image]][codecov] [![pypi-version]][pypi]

Awesome web-browsable Web APIs.

Full documentation for the project is available at [https://www.django-rest-framework.org/][docs].


Overview

Django REST framework is a powerful and flexible toolkit for building Web APIs.

Some reasons you might want to use REST framework:

  • The Web browsable API is a huge usability win for your developers.
  • [Authentication policies][authentication] including optional packages for [OAuth1a][oauth1-section] and [OAuth2][oauth2-section].
  • [Serialization][serializers] that supports both [ORM][modelserializer-section] and [non-ORM][serializer-section] data sources.
  • Customizable all the way down - just use [regular function-based views][functionview-section] if you don't need the [more][generic-views] [powerful][viewsets] [features][routers].
  • [Extensive documentation][docs], and [great community support][group].

Below: Screenshot from the browsable API

![Screenshot][image]


Requirements

  • Python 3.10+
  • Django 5.2, 6.0, 6.1

We highly recommend and only officially support the...

Read as markdown · JSON record · Source repository · Homepage

AI interpretation — verify before relying

AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page

djangorestframework builds web APIs on top of Django with automatic serialization, authentication, and a browsable web interface for developers.

Low install friction with a single runtime dependency on django. Actively maintained with a release 6 days ago; supports Python 3.10+ and Django 5.2, 6.0, 6.1.

BSD-3-Clause permissive license allows commercial use, modification, and distribution with minimal restrictions—suitable for most projects.

Usage

pip install djangorestframework

# In Django settings.py
INSTALLED_APPS = ['rest_framework']

# In urls.py
from django.contrib.auth.models import User
from django.urls import include, path
from django.urls import include

class UserSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = User
        fields = ['url', 'username', 'email']

class UserViewSet(viewsets.ModelViewSet):
    queryset = User.objects.all()
    serializer_class = UserSerializer

router = routers.DefaultRouter()
router.register(r'users', UserViewSet)
urlpatterns = [path('', include(router.urls))]

Requires Python 3.10+ and Django 5.2, 6.0, or 6.1; a Django project must already be initialized.

Verdict: djangorestframework is a mature, actively maintained framework (Production/Stable) with strong community adoption and zero known vulnerabilities. Low install friction and permissive licensing make it a reliable choice for building REST APIs on Django.

Needs verification

  • Whether optional OAuth1a and OAuth2 packages are maintained and their current security status.
  • Performance characteristics and scalability limits for high-traffic API deployments.
  • Community size and support availability beyond official documentation.
django rest api frameworkbuild web apis with djangodjango api serializationrest api authentication djangobrowsable api interfacedjango viewsets routersorm to json serialization

Similar packages