Skip to main content

Unofficial Wrapper for OLX API

Project description

Contributors Forks Stargazers Issues MIT License LinkedIn


Logo

OLX Api Wrapper

Simple client for OLX Developer API written in Python
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project

OLX API Wrapper: Easy Solution for Working with OLX. With this Python library you can quickly fetch user data, handle adverts with simple CRUD operations, and seamlessly integrate with the OLX API. Simplify your development process and focus on building your app hassle-free.

(back to top)

Built With

  • Python
  • requests
  • dacite

(back to top)

Getting Started

In order to use OLX Api you nned to sign in at OLX Developer Portal and create an App. More details: https://developer.olx.pl/articles/getting-access-to-api

Prerequisites

To use this API Wrapper you need to copy Client ID and Client Secret. Store them in the safe place. In your code you can use them as enviroment variables, they sholdn't be hardcoded.

Installation

  1. Install olx-api-wrapper package
    pip install olx-api-wrapper
    
  2. In order to get access token you need to authenticate with authorization code. How to get authorization code?
    from olx import Auth
    auth = Auth(
      client_id="your_client_id",
      client_secret="your_client_secret",
    )
    auth.authenticate(code='authorization_code')
    access_token = auth.access_token
    
  3. Now you have access token which you will need to have an access to OLX API resources.

(back to top)

Usage

Using olx-api-wrapper in Your Project

Below are examples demonstrating the usage of olx-api-wrapper in your project. Please note that you require an access token to execute the actions described below.

Each section from the OLX API documentation corresponds to a separate object within olx-api-wrapper. For instance, the section Users in the documentation is represented as olx.Users. Additionally, each endpoint mentioned in the documentation corresponds to a single method. For example, the 'Get user' endpoint becomes the method olx.Users().get_user(user_id).

If a method returns a value, it will be in the form of a dataclass object. This facilitates ease of use and clarity due to type hints. You can access values as properties, for example, user_values.email.

This structure provides a convenient and straightforward approach to integrating olx-api-wrapper into your project.

=====================================

First of all you need to assign an object you want to use to variable and then use available method of this object. You must to pass access_token to every single object.

Prerequisites: Import olx module.

import olx
  • Show authenticated user info
    users = olx.Users(access_token='your_access_token')
    user_info = users.get_authenticated_user()
    # AuthenticatedUser(id=123, email='john@mail.com', status='confirmed', name='Paweł', phone='123123123', phone_login=None, created_at='2018-01-29 19:48:49', last_login_at='2024-04-26 17:20:48', avatar=None, is_business=True)
    
    user_email = user_info.email
    # john@mail.com
    
  • Get category suggestions for provided ad title
    categories_and_attributes = olx.CategoriesAttributes(access_token='your_access_token')
    suggestions = categories_and_attributes.get_category_suggestions(ad_title='Honda Hornet')
    # [CategorySuggestion(id='1379', name='Szosowo - Turystyczny', path=[CategoryPath(id='5', name='Motoryzacja'), CategoryPath(id='81', name='Motocykle i Skutery')])]
    

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT License. See LICENSE for more information.

(back to top)

Contact

Paweł Stawikowski - pawikoski@gmail.com

Project Link: https://github.com/Pawikoski/olx-api-wrapper

(back to top)

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

olx-api-wrapper-0.1.1.tar.gz (14.7 kB view details)

Uploaded Source

File details

Details for the file olx-api-wrapper-0.1.1.tar.gz.

File metadata

  • Download URL: olx-api-wrapper-0.1.1.tar.gz
  • Upload date:
  • Size: 14.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.9

File hashes

Hashes for olx-api-wrapper-0.1.1.tar.gz
Algorithm Hash digest
SHA256 004bcaefb040cc1cd29f67ade103a32abb99e57285bdc939b6704ea7172d07c2
MD5 22031300d9b65311455fc7f4da6eb33d
BLAKE2b-256 78023d38b3eff7fb65dfe3ddb1c251c91ae59e4dcfa34f3290b9cffd46e8377d

See more details on using hashes here.

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