Skip to main content

A fast, simple API for

Project description


Build Status Coverage Status

This is an unofficial Python 3.7+ API for the website It is written using asynchronous requests for efficient data retrieval. This package is currently in a stable beta.


Package retrieval and installation can be easily accomplished through pip.

pip install pcpartpicker


In order to use the API, simply import API from the pcpartpicker package.

from pcpartpicker import API

You can then instantiate the API class and use it to make requests.

api = API()
cpu_data = api.retrieve("cpu")
all_data = api.retrieve_all()

api.retrieve() and api.retrieve_all() methods both return a PartData instance, which contains a timestamp and a to_json() method.

A list of supported parts can be obtained in the following manner:

api = API()
>>> {'wireless-network-card', 'case-fan', 'cpu', 'cpu-cooler', 'headphones', 'motherboard', 'monitor', 'internal-hard-drive', 'external-hard-drive', 'ups', 'fan-controller', 'case', 'keyboard', 'mouse', 'wired-network-card', 'sound-card', 'video-card', 'speakers', 'optical-drive', 'power-supply', 'thermal-paste', 'memory'}

There are also a number of methods that can be used in order to customize the API behavior. For example, you can change the region, determine the number of concurrent, asynchronous connections that can be made, and can also set whether or not the API can use multiple threads.

Retrieving supported API regions:

api = API()
>>> {'be', 'us', 'it', 'uk', 'ie', 'nz', 'de', 'ca', 'au', 'fr', 'se', 'es', 'in'}

Retrieving currently selected region (default is US):

api = API()
>>> us

Creating an API object with a different default region:

api = API("de")
>>> de

Changing the default region:

api = API()
>>> de

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pcpartpicker-2.2.2.tar.gz (10.1 kB view hashes)

Uploaded source

Built Distribution

pcpartpicker-2.2.2-py3-none-any.whl (23.3 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page