Unofficial client for Leboncoin API
Project description
lbc
Unofficial client for Leboncoin API
import lbc
client = lbc.Client()
location = lbc.City(
lat=48.85994982004764,
lng=2.33801967847424,
radius=10_000, # 10 km
city="Paris"
)
result = client.search(
text="maison",
locations=[location],
page=1,
limit=35,
sort=lbc.Sort.NEWEST,
ad_type=lbc.AdType.OFFER,
category=lbc.Category.IMMOBILIER,
square=[200, 400],
price=[300_000, 700_000]
)
for ad in result.ads:
print(ad.url, ad.subject, ad.price)
lbc is not affiliated with, endorsed by, or in any way associated with Leboncoin or its services. Use at your own risk.
Installation
Required Python 3.9+
pip install lbc
Usage
Client
To create client you need to use lbc.Client class
import lbc
client = lbc.Client()
Proxy
You can also configure the client to use a proxy by providing a Proxy object:
proxy = lbc.Proxy(
host=...,
port=...,
username=...,
password=...
)
client = lbc.Client(proxy=proxy)
Search
To perform a search, use the client.search method.
This function accepts keyword arguments (**kwargs) to customize your query.
For example, if you're looking for houses that include both land and parking, you can specify:
real_estate_type=["3", "4"]
These values correspond to what you’d find in a typical Leboncoin URL, like:
https://www.leboncoin.fr/recherche?category=9&text=maison&...&real_estate_type=3,4
Here's a complete example of a search query:
client.search(
text="maison",
locations=[location],
page=1,
limit=35,
limit_alu=0,
sort=lbc.Sort.NEWEST,
ad_type=lbc.AdType.OFFER,
category=lbc.Category.IMMOBILIER,
owner_type=lbc.OwnerType.ALL,
search_in_title_only=True,
square=[200, 400],
price=[300_000, 700_000],
)
Alternatively
You can also perform search using a full Leboncoin URL:
client.search(
url="https://www.leboncoin.fr/recherche?category=9&text=maison&locations=Paris__48.86023250788424_2.339006433295173_9256&square=100-200price=500000-1000000&rooms=1-6&bedrooms=3-6&outside_access=garden,terrace&orientation=south_west&owner_type=private",
page=1,
limit=35
)
If url is provided, it overrides other keyword parameters such as text, category, locations, etc. However, pagination parameters like page, limit, and limit_alu are still applied.
Location
The locations parameter accepts a list of one or more location objects. You can use one of the following:
lbc.Region(...)lbc.Department(...)lbc.City(...)
Each one corresponds to a different level of geographic granularity.
City example
location = lbc.City(
lat=48.85994982004764,
lng=2.33801967847424,
radius=10_000, # in meters
city="Paris"
)
Region / Department example
from lbc import Region, Department
region = Region.ILE_DE_FRANCE
department = Department.PARIS
403 Error
If you encounter a 403 Forbidden error, it usually means your requests are being blocked by Datadome. To resolve this:
- Try reducing the request frequency (add delays between requests).
- If you're using a proxy, make sure it is clean and preferably located in France.
Using residential or mobile proxies can also help avoid detection.
License
This project is licensed under the MIT License.
Support
You can contact me via Telegram or Discord if you need help with scraping services or want to write a library.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file lbc-1.0.3.tar.gz.
File metadata
- Download URL: lbc-1.0.3.tar.gz
- Upload date:
- Size: 15.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c9be246b229bd25d36d3020d72ced26838fa59fc09e164fa61a7da0762405e5c
|
|
| MD5 |
e96a39e47e7ecd9f9fc1e15e7ed9b871
|
|
| BLAKE2b-256 |
6731c20baf024ff03ffa66ad8563c74961cb96d1e7aa4edb04f26780cdc2274e
|
File details
Details for the file lbc-1.0.3-py3-none-any.whl.
File metadata
- Download URL: lbc-1.0.3-py3-none-any.whl
- Upload date:
- Size: 15.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2936fee008a131a9f0f3ca3ddedadc487f47ffb11e47d1c40ab797e2ac96fff5
|
|
| MD5 |
b42849cf3ee6560c5e32421f978d2589
|
|
| BLAKE2b-256 |
bba7ae7ed1bbf9da3ab2b0585c972f8a862024a087b4da61701f5b3b72d4cef7
|