ClasificadosOnline APIclasificadosonline.com ↗
Access Puerto Rico classifieds data via API: search car listings, rental properties, and jobs from ClasificadosOnline.com with location, price, and make/model filters.
What is the ClasificadosOnline API?
This API exposes 6 endpoints covering ClasificadosOnline.com, Puerto Rico's classifieds platform for vehicles, rental properties, and employment. Use search_car_listings to query cars by make, model, year range, price, and town, then fetch full detail — including mileage, transmission, and photo URLs — via get_car_listing_detail. Rental and job search are covered by dedicated endpoints with their own filter sets.
curl -X GET 'https://api.parse.bot/scraper/8dc6bd9b-3b59-4830-92d5-fbed016ec30f/search_car_listings?marca=4&modelo=0&offset=0&pueblo=%25&tipo_c=0&to_year=2026&from_year=2015&low_price=0&high_price=50000' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace clasificadosonline-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""ClasificadosOnline: search cars, rentals, and jobs in Puerto Rico."""
from parse_apis.ClasificadosOnline_Puerto_Rico_API import (
ClasificadosOnline, CarListingSummary, CarListing, ListingNotFound,
)
client = ClasificadosOnline()
# Browse available car makes to find valid filter IDs.
for make in client.car_makes.list(limit=5):
print(make.name, make.id)
# Search for cars under $40,000, year 2020+.
car = client.car_listing_summaries.search(
from_year="2020", high_price="40000", limit=1
).first()
# Drill into the first result for full detail (mileage, transmission, photos).
if car:
detail = car.details()
print(detail.full_title, detail.price, detail.mileage, detail.transmission)
# Fetch a car listing by ID directly.
try:
full = client.car_listings.get(id="13014409")
print(full.make, full.model, full.year, full.location)
except ListingNotFound as exc:
print(f"Listing gone: {exc}")
# Search rental properties in San Juan.
for rental in client.rental_listing_summaries.search(pueblo="San Juan", limit=3):
print(rental.title, rental.price, rental.bedrooms)
# Search jobs by keyword.
for job in client.job_listings.search(keyword="engineer", limit=3):
print(job.title, job.company, job.location)
print("exercised: car_makes.list / car_listing_summaries.search / car.details / car_listings.get / rental_listing_summaries.search / job_listings.search")
Search for car listings on ClasificadosOnline.com with various filters including make, model, year range, price range, and location. Returns paginated results in batches of 30. Use get_car_makes_and_models to find valid make IDs.
| Param | Type | Description |
|---|---|---|
| key | string | Search keyword to filter listings |
| marca | string | Car make ID (use get_car_makes_and_models to find IDs). 0 means all makes. |
| modelo | string | Car model ID. 0 means all models. |
| offset | integer | Pagination offset (increments of 30) |
| pueblo | string | Town/city filter. Use % for all locations. |
| tipo_c | string | Vehicle type filter. 0 means all types. |
| to_year | string | Maximum year filter |
| from_year | string | Minimum year filter. 0 means no minimum. |
| low_price | string | Minimum price filter |
| high_price | string | Maximum price filter |
{
"type": "object",
"fields": {
"total": "integer total number of matching listings",
"offset": "integer current pagination offset",
"listings": "array of car listing summaries with id, title, price, image_url, detail_url"
},
"sample": {
"data": {
"total": 3000,
"offset": 0,
"listings": [
{
"id": "13014409",
"price": "$25,995",
"title": "Kia Carnival LX 2023, hasta 8 pasajerosKiaCarnival2023AutomaticaMillas 68000Aguadilla",
"image_url": "https://imgcache.clasificadosonline.com/PP/T/2026/5/12/512202621641PMo1hicgli.jpg",
"detail_url": "https://www.clasificadosonline.com/UDTransDetail.asp?AutoNumAnuncio=13014409"
}
]
},
"status": "success"
}
}About the ClasificadosOnline API
Car Listings
The search_car_listings endpoint accepts filters for marca (make ID), modelo (model ID), from_year, to_year, pueblo (town), and price-adjacent keyword searches. Make and model IDs are not arbitrary strings — use get_car_makes_and_models first to retrieve the full list of valid id and name pairs. Pagination is controlled by offset in increments of 30; the total field in every response tells you how many records exist so you can page through the full result set. get_car_listing_detail returns structured fields: make, model, year, price, mileage, location, description, and an array of photos URLs.
Rental Listings
search_rental_listings filters by pueblo, bedrooms, category, area (neighborhood keyword), low_price, and high_price for monthly rent. Search results include bedrooms, bathrooms, type, and location at the summary level. The detail endpoint, get_rental_listing_detail, adds sq_ft, parking, and description, plus a photos array. The city field in detail responses maps to the town returned in the search summary location field.
Jobs
search_jobs accepts keyword, category, pueblo, and offset. Each result in the listings array includes company, title, category, location, and a detail_url. Note that the jobs endpoint returns summary data only — there is no separate job detail endpoint in the current API surface, so job-level description and contact information are accessible via the detail_url link in each result.
The ClasificadosOnline API is a managed, monitored endpoint for clasificadosonline.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when clasificadosonline.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official clasificadosonline.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a Puerto Rico car price tracker that monitors listing prices by make and model over time using
search_car_listingsandget_car_listing_detail. - Aggregate rental inventory by town and bedroom count across Puerto Rico using
search_rental_listingswith thepuebloandbedroomsfilters. - Compile a dataset of active job openings by category and municipality from
search_jobsfor Puerto Rico labor market analysis. - Create a vehicle valuation reference tool using
mileage,year,make,model, andpricefields from car detail responses. - Build a rental alert system that pages through listings with
low_priceandhigh_pricebounds and surfaces new additions by comparing stored IDs. - Generate a structured directory of car makes available on the platform using
get_car_makes_and_modelsfor filter UI population.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does ClasificadosOnline.com have an official developer API?+
What does `get_car_listing_detail` return beyond what the search endpoint shows?+
search_car_listings returns summary-level fields: id, title, price, image_url, and detail_url. The detail endpoint adds make, model, year, mileage, location, description, and a full photos array with multiple image URLs — useful when you need complete vehicle information rather than just enough to display a result card.How does pagination work across the search endpoints?+
search_car_listings, search_rental_listings, search_jobs) use an offset parameter. Results are returned in pages of 30. The total field in each response gives the total matching count, so you can calculate how many pages exist and iterate by incrementing offset by 30 until you have all records.Does the jobs endpoint return full job descriptions?+
search_jobs returns listing summaries — company, title, category, location, and detail_url — but there is no job detail endpoint that fetches the full description or contact information. You can fork this API on Parse and revise it to add a job detail endpoint using the detail_url from each result.Does the rental detail endpoint return pets or utilities policy?+
get_rental_listing_detail response includes parking, bedrooms, bathrooms, sq_ft, price, description, and photos. Pets policy is not a discrete structured field in the current response shape, though it may appear in the free-text description. You can fork this API on Parse and revise it to parse and surface pets policy as a dedicated field if the source listing exposes it.