{"id":37062964,"url":"https://github.com/pawikoski/olx-api-wrapper","last_synced_at":"2026-01-14T07:01:02.243Z","repository":{"id":237920571,"uuid":"793738497","full_name":"Pawikoski/olx-api-wrapper","owner":"Pawikoski","description":"An unoffical wrapper for OLX Api","archived":false,"fork":false,"pushed_at":"2025-06-10T19:42:45.000Z","size":81,"stargazers_count":12,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-09-28T22:02:13.992Z","etag":null,"topics":["api","api-wrapper","olx","olx-api","rest-api","wrapper","wrapper-api"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Pawikoski.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-04-29T19:20:36.000Z","updated_at":"2025-09-22T19:07:43.000Z","dependencies_parsed_at":"2024-09-10T13:36:13.962Z","dependency_job_id":"34964be4-f89a-4a48-8b7c-3a97db2d0eaa","html_url":"https://github.com/Pawikoski/olx-api-wrapper","commit_stats":null,"previous_names":["pawikoski/olx-api-wrapper"],"tags_count":21,"template":false,"template_full_name":null,"purl":"pkg:github/Pawikoski/olx-api-wrapper","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pawikoski%2Folx-api-wrapper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pawikoski%2Folx-api-wrapper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pawikoski%2Folx-api-wrapper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pawikoski%2Folx-api-wrapper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Pawikoski","download_url":"https://codeload.github.com/Pawikoski/olx-api-wrapper/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pawikoski%2Folx-api-wrapper/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28412480,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T05:26:33.345Z","status":"ssl_error","status_checked_at":"2026-01-14T05:21:57.251Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","api-wrapper","olx","olx-api","rest-api","wrapper","wrapper-api"],"created_at":"2026-01-14T07:00:52.030Z","updated_at":"2026-01-14T07:01:02.136Z","avatar_url":"https://github.com/Pawikoski.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- Improved compatibility of back to top link: See: https://github.com/othneildrew/Best-README-Template/pull/73 --\u003e\n\n\u003ca name=\"readme-top\"\u003e\u003c/a\u003e\n\n\u003c!-- PROJECT SHIELDS --\u003e\n\n[![Contributors][contributors-shield]][contributors-url]\n[![Forks][forks-shield]][forks-url]\n[![Stargazers][stars-shield]][stars-url]\n[![Issues][issues-shield]][issues-url]\n[![MIT License][license-shield]][license-url]\n[![LinkedIn][linkedin-shield]][linkedin-url]\n\n\u003c!-- PROJECT LOGO --\u003e\n\u003cbr /\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/Pawikoski/olx-api-wrapper\"\u003e\n    \u003cimg src=\"images/image.png\" alt=\"Logo\" height=\"80\"\u003e\n  \u003c/a\u003e\n\n  \u003ch3 align=\"center\"\u003eOLX API Wrapper\u003c/h3\u003e\n\n  \u003cp align=\"center\"\u003e\n    A Python client for the OLX Developer API, enabling seamless integration with OLX services.\n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/Pawikoski/olx-api-wrapper\"\u003e\u003cstrong\u003eExplore the docs »\u003c/strong\u003e\u003c/a\u003e\n    \u003cbr /\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/Pawikoski/olx-api-wrapper\"\u003eView Demo\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/Pawikoski/olx-api-wrapper/issues/new?labels=bug\u0026template=bug-report---.md\"\u003eReport Bug\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/Pawikoski/olx-api-wrapper/issues/new?labels=enhancement\u0026template=feature-request---.md\"\u003eRequest Feature\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n\u003cdetails\u003e\n  \u003csummary\u003eTable of Contents\u003c/summary\u003e\n  \u003col\u003e\n    \u003cli\u003e\u003ca href=\"#about-the-project\"\u003eAbout The Project\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#built-with\"\u003eBuilt With\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#getting-started\"\u003eGetting Started\u003c/a\u003e\u003c/li\u003e\n    \u003cul\u003e\n      \u003cli\u003e\u003ca href=\"#prerequisites\"\u003ePrerequisites\u003c/a\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"#installation\"\u003eInstallation\u003c/a\u003e\u003c/li\u003e\n    \u003c/ul\u003e\n    \u003cli\u003e\u003ca href=\"#usage\"\u003eUsage\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#contributing\"\u003eContributing\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#license\"\u003eLicense\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#contact\"\u003eContact\u003c/a\u003e\u003c/li\u003e\n  \u003c/ol\u003e\n\u003c/details\u003e\n\n\u003c!-- ABOUT THE PROJECT --\u003e\n\n## About The Project\n\nOLX API Wrapper is a Python library designed to simplify integration with the OLX Developer API. It allows developers to:\n\n- Fetch user data\n- Manage adverts with CRUD operations\n- Access OLX API resources effortlessly\n\nThis library is ideal for developers looking to streamline their interaction with OLX services.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n### Built With\n\n- [![Python][python]][python-url]\n- [![requests][requests]][requests-url]\n- [![dacite][dacite]][dacite-url]\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- GETTING STARTED --\u003e\n\n## Getting Started\n\nTo 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](https://developer.olx.pl/articles/getting-access-to-api).\n\n### Prerequisites\n\n1. [Not required for public API] Obtain your **Client ID** and **Client Secret** from the OLX Developer Portal.\n2. Store them securely (e.g., as environment variables). Avoid hardcoding them in your code.\n\nSupported countries:\n\n- OLX PL\n- OLX BG\n- OLX RO\n- OLX PT\n- OLX UA\n- OLX KZ\n\nBy default, requests are sent to OLX **PL**. To change the country, pass the `country_code` argument to the relevant class:\n\n```python\nfrom olx.partner import Auth, Adverts\n\nauth = Auth(country_code=\"bg\")\nadverts = Adverts(country_code=\"ro\")\n```\n\n### Installation\n\n1. Install the package:\n\n   ```sh\n   pip install olx-api-wrapper\n   ```\n\n2. Authenticate using the authorization code:\n\n   ```python\n   from olx.partner import Auth\n\n   auth = Auth(client_id=\"your_client_id\", client_secret=\"your_client_secret\")\n   auth.authenticate(code=\"authorization_code\")\n   access_token = auth.access_token\n   ```\n\n3. Use the `AuthResponse` object to retrieve additional information:\n\n   ```python\n   auth_response = auth.authenticate(code=\"authorization_code\")\n   print(auth_response.refresh_token)  # Retrieve the refresh token\n   ```\n\n4. Refresh an expired access token:\n   ```python\n   auth.refresh(refresh_token=auth_response.refresh_token)\n   ```\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- USAGE EXAMPLES --\u003e\n\n## Usage\n\nBelow are examples of how to use the `olx-api-wrapper` in your project. Ensure you have an access token before proceeding.\n\n### Example 1: Fetch Authenticated User Info\n\n```python\nfrom olx.partner import Users\n\nusers = Users(access_token=\"your_access_token\")\nuser_info = users.get_authenticated_user()\nprint(user_info.email)  # Output: john@mail.com\n```\n\n### Example 2: Get Category Suggestions\n\n```python\nfrom olx.partner import CategoriesAttributes\n\ncategories = CategoriesAttributes(access_token=\"your_access_token\")\nsuggestions = categories.get_category_suggestions(ad_title=\"Honda Hornet\")\nprint(suggestions)\n```\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## Public API Methods\n\nThe `olx.public` module provides methods to interact with OLX's public API. Below are the available methods and their usage examples:\n\n### Example 1: Fetch Offers\n\n```python\nfrom olx.public import OlxPublic\n\nolx_public = OlxPublic()\noffers = olx_public.get_offers(category_id=123, offset=0, limit=10)\nprint(offers)\n```\n\n### Example 2: Get Offer Details\n\n```python\nfrom olx.public import OlxPublic\n\nolx_public = OlxPublic()\noffer = olx_public.get_offer(offer_id=456)\nprint(offer)\n```\n\n### Example 3: Get Suggested Offers\n\n```python\nfrom olx.public import OlxPublic\n\nolx_public = OlxPublic()\nsuggested_offers = olx_public.get_suggested_offers(offer_id=456)\nprint(suggested_offers)\n```\n\n### Example 4: Get Offer Filters\n\n```python\nfrom olx.public import OlxPublic\n\nolx_public = OlxPublic()\nfilters = olx_public.get_offer_filters()\nprint(filters)\n```\n\n### Example 5: Get Breadcrumbs\n\n```python\nfrom olx.public import OlxPublic\n\nolx_public = OlxPublic()\nbreadcrumbs = olx_public.get_breadcrumbs(category_id=123)\nprint(breadcrumbs)\n```\n\n### Example 6: SEO Popular Searches\n\n```python\nfrom olx.public import OlxPublic\n\nolx_public = OlxPublic()\npopular_searches = olx_public.seo.popular_searches(category_id=123, count=5)\nprint(popular_searches)\n```\n\n### Example 7: SEO Offer Details\n\n```python\nfrom olx.public import OlxPublic\n\nolx_public = OlxPublic()\noffer_seo = olx_public.seo.offer_seo(offer_id=456)\nprint(offer_seo)\n```\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- CONTRIBUTING --\u003e\n\n## Contributing\n\nContributions are welcome! Follow these steps to contribute:\n\n1. Fork the repository.\n2. Create a feature branch (`git checkout -b feature/AmazingFeature`).\n3. Commit your changes (`git commit -m 'Add some AmazingFeature'`).\n4. Push to the branch (`git push origin feature/AmazingFeature`).\n5. Open a pull request.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- LICENSE --\u003e\n\n## License\n\nDistributed under the MIT License. See `LICENSE` for more information.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- CONTACT --\u003e\n\n## Contact\n\nPaweł Stawikowski - pawikoski@gmail.com  \nProject Link: [https://github.com/Pawikoski/olx-api-wrapper](https://github.com/Pawikoski/olx-api-wrapper)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- MARKDOWN LINKS \u0026 IMAGES --\u003e\n\n[contributors-shield]: https://img.shields.io/github/contributors/Pawikoski/olx-api-wrapper.svg?style=for-the-badge\n[contributors-url]: https://github.com/Pawikoski/olx-api-wrapper/graphs/contributors\n[forks-shield]: https://img.shields.io/github/forks/Pawikoski/olx-api-wrapper.svg?style=for-the-badge\n[forks-url]: https://github.com/Pawikoski/olx-api-wrapper/network/members\n[stars-shield]: https://img.shields.io/github/stars/Pawikoski/olx-api-wrapper.svg?style=for-the-badge\n[stars-url]: https://github.com/Pawikoski/olx-api-wrapper/stargazers\n[issues-shield]: https://img.shields.io/github/issues/Pawikoski/olx-api-wrapper.svg?style=for-the-badge\n[issues-url]: https://github.com/Pawikoski/olx-api-wrapper/issues\n[license-shield]: https://img.shields.io/github/license/Pawikoski/olx-api-wrapper.svg?style=for-the-badge\n[license-url]: https://github.com/Pawikoski/olx-api-wrapper/blob/master/LICENSE\n[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge\u0026logo=linkedin\u0026colorB=555\n[linkedin-url]: https://linkedin.com/in/paweł-stawikowski\n[python]: https://img.shields.io/badge/python-000000?style=for-the-badge\u0026logo=python\u0026logoColor=white\n[python-url]: https://python.org/\n[dacite]: https://img.shields.io/badge/dacite-20232A?style=for-the-badge\u0026logo=github\u0026logoColor=61DAFB\n[dacite-url]: https://github.com/konradhalas/dacite\n[requests]: https://img.shields.io/badge/requests-35495E?style=for-the-badge\u0026logo=github\u0026logoColor=4FC08D\n[requests-url]: https://github.com/psf/requests\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpawikoski%2Folx-api-wrapper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpawikoski%2Folx-api-wrapper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpawikoski%2Folx-api-wrapper/lists"}