Django Oscar API

This package provides a RESTful API for django-oscar, it’s based on django-rest-framework and it exposes most of Oscar’s functionality. You can find the source code on GitHub. If you have any questions or problems using Oscar API, please use the Github issuetracker.


  • Python 3.7 / 3.8 / 3.9 / 3.10 / 3.11
  • Oscar 3.2
  • Django 3.2
  • Django REST Framework >= 3.9

See Github Actions for the current tested platforms.


Please see the installation instructions of Oscar to install Oscar and how to create your own project. Then you can install Oscar API by simply typing:

$ pip install django-oscar-api

Or you could add django-oscar-api to your project dependencies.


If you would like to install the current development version, use this:

$ pip install git+

Use out-of-the-box

You can use the oscarapi application in an django-oscar E-commerce site without any customization. See for more information: Use Oscar API out-of-the-box

Play around with the sandbox

You can also install Oscar API from source and run the sandbox site to play around a bit. Make sure to create a virtualenv first.

$ mkvirtualenv oscarapi
$ git clone
$ cd django-oscar-api
$ make sandbox

# run the server
$ python sandbox/ runserver

Now you can browse the API at http://localhost:8000/api. Here you can actually use the API already (a cool feature of django-rest-framework) by using your browser and test which JSON formats you can send/receive.

But I want to customise the standard serializers / views!

Probably you want this, because you already extended or changed django-oscar’s functionality by forking it’s apps right? See Customizing Oscar API for this.