Skip to content

Pawikoski/olx-api-wrapper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contributors Forks Stargazers Issues MIT License LinkedIn


Logo

OLX API Wrapper

A Python client for the OLX Developer API, enabling seamless integration with OLX services.
Explore the docs »

View Demo · Report Bug · Request Feature

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

About The Project

OLX API Wrapper is a Python library designed to simplify integration with the OLX Developer API. It allows developers to:

  • Fetch user data
  • Manage adverts with CRUD operations
  • Access OLX API resources effortlessly

This library is ideal for developers looking to streamline their interaction with OLX services.

(back to top)

Built With

  • Python
  • requests
  • dacite

(back to top)

Getting Started

To use the OLX API Wrapper, you need to sign in to the OLX Developer Portal and create an app. For more details, visit Getting Access to the API.

Prerequisites

  1. [Not required for public API] Obtain your Client ID and Client Secret from the OLX Developer Portal.
  2. Store them securely (e.g., as environment variables). Avoid hardcoding them in your code.

Supported countries:

  • OLX PL
  • OLX BG
  • OLX RO
  • OLX PT
  • OLX UA
  • OLX KZ

By default, requests are sent to OLX PL. To change the country, pass the country_code argument to the relevant class:

from olx.partner import Auth, Adverts

auth = Auth(country_code="bg")
adverts = Adverts(country_code="ro")

Installation

  1. Install the package:

    pip install olx-api-wrapper
  2. Authenticate using the authorization code:

    from olx.partner 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. Use the AuthResponse object to retrieve additional information:

    auth_response = auth.authenticate(code="authorization_code")
    print(auth_response.refresh_token)  # Retrieve the refresh token
  4. Refresh an expired access token:

    auth.refresh(refresh_token=auth_response.refresh_token)

(back to top)

Usage

Below are examples of how to use the olx-api-wrapper in your project. Ensure you have an access token before proceeding.

Example 1: Fetch Authenticated User Info

from olx.partner import Users

users = Users(access_token="your_access_token")
user_info = users.get_authenticated_user()
print(user_info.email)  # Output: john@mail.com

Example 2: Get Category Suggestions

from olx.partner import CategoriesAttributes

categories = CategoriesAttributes(access_token="your_access_token")
suggestions = categories.get_category_suggestions(ad_title="Honda Hornet")
print(suggestions)

(back to top)

Public API Methods

The olx.public module provides methods to interact with OLX's public API. Below are the available methods and their usage examples:

Example 1: Fetch Offers

from olx.public import OlxPublic

olx_public = OlxPublic()
offers = olx_public.get_offers(category_id=123, offset=0, limit=10)
print(offers)

Example 2: Get Offer Details

from olx.public import OlxPublic

olx_public = OlxPublic()
offer = olx_public.get_offer(offer_id=456)
print(offer)

Example 3: Get Suggested Offers

from olx.public import OlxPublic

olx_public = OlxPublic()
suggested_offers = olx_public.get_suggested_offers(offer_id=456)
print(suggested_offers)

Example 4: Get Offer Filters

from olx.public import OlxPublic

olx_public = OlxPublic()
filters = olx_public.get_offer_filters()
print(filters)

Example 5: Get Breadcrumbs

from olx.public import OlxPublic

olx_public = OlxPublic()
breadcrumbs = olx_public.get_breadcrumbs(category_id=123)
print(breadcrumbs)

Example 6: SEO Popular Searches

from olx.public import OlxPublic

olx_public = OlxPublic()
popular_searches = olx_public.seo.popular_searches(category_id=123, count=5)
print(popular_searches)

Example 7: SEO Offer Details

from olx.public import OlxPublic

olx_public = OlxPublic()
offer_seo = olx_public.seo.offer_seo(offer_id=456)
print(offer_seo)

(back to top)

Contributing

Contributions are welcome! Follow these steps to contribute:

  1. Fork the repository.
  2. Create a 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)

About

An unoffical wrapper for OLX Api

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages