canonical: https://jentic.com/apis/olx.pl/olx-pl

# Olx Pl OLX Poland API

Jentic publishes the only available OpenAPI specification for OLX Poland API, keeping it validated and agent-ready. The OLX Poland API enables partners to post and manage classified adverts on the OLX.pl platform, browse the category and city taxonomy used for listing placement, and exchange messages with prospective buyers via the platform's threaded inbox. It exposes 15 endpoints covering advert CRUD, activation/deactivation, category attributes, location lookups, and conversation threads. Authentication uses OAuth 2.0.

## For AI agents

Post, activate, and manage OLX.pl classified adverts and reply to buyer messages from a threaded inbox - useful for sellers running multiple listings programmatically.

## Scope

Does not handle payments, shipping labels, or escrow - use for OLX.pl advert posting, category lookup, and buyer messaging only.

## Capabilities

- Post a new classified advert with photos, price, and category-specific attributes
- Activate or deactivate an existing advert without deleting its content
- Update advert price, description, or attributes after initial publication
- Pull the OLX.pl category tree and per-category required attribute schema
- List Polish cities to populate the location field on adverts
- Read message threads and post replies to potential buyers

## Use cases

### Bulk Listing Management for Resellers

A reseller managing dozens of OLX.pl adverts uses POST /adverts to publish new listings, PUT `/adverts/{advertId}` to adjust pricing in response to demand, and POST `/adverts/{advertId}/deactivate` when stock runs out. Combining these with GET `/categories/{categoryId}/attributes` ensures every advert carries the right category-specific fields without manual form-filling.

Example prompt: Pull all active adverts via GET /adverts, drop the price by 10% on items older than 30 days using PUT `/adverts/{advertId}`, and deactivate any advert flagged as out-of-stock.

### Buyer Messaging Automation

Sellers who get hundreds of messages can use GET /threads to list incoming conversations and POST `/threads/{threadId}/messages` to send templated replies (availability, pickup location, payment instructions). This converts a labour-intensive inbox into a triaged queue where only complex questions reach a human.

Example prompt: List threads created in the last 24 hours via GET /threads, read each via GET `/threads/{threadId}/messages`, and send a templated availability reply to any thread with no seller response yet.

### Category Attribute Compliance

Different OLX.pl categories require different attribute fields (mileage for cars, screen size for laptops). GET /categories returns the full taxonomy and GET `/categories/{categoryId}/attributes` returns the per-category schema, so an integration can validate that every advert has the mandatory fields before submission rather than getting rejected at POST time.

Example prompt: GET /categories, find the 'samochody-osobowe' category ID, then GET `/categories/{categoryId}/attributes` to extract the required mileage and fuel-type fields before posting a car advert.

### AI Agent Listing Operations

Through Jentic, an AI agent can take a product spec and a few photos, look up the right OLX.pl category, build the attribute payload, and post the advert - all without an OAuth flow being exposed to the agent. Jentic keeps the OAuth token in its vault and only returns scoped operation handles.

Example prompt: Search Jentic for 'post an advert on olx', load POST /adverts, and execute it with category ID, title, description, price, and city ID for a refurbished laptop listing.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/adverts` | Create an advert |
| PUT | `/adverts/{advertId}` | Update an advert |
| POST | `/adverts/{advertId}/activate` | Activate an advert |
| POST | `/adverts/{advertId}/deactivate` | Deactivate an advert |
| GET | `/categories/{categoryId}/attributes` | Get required attributes for a category |
| POST | `/threads/{threadId}/messages` | Send a message to a buyer |

## Key resources

- **Adverts** — List, create, retrieve, update, delete, activate, and deactivate adverts.
- **Categories** — Retrieve the full category tree and category-specific attribute schemas.
- **Locations** — List Polish cities for the city ID required on every advert.
- **Messages** — Read message threads and exchange messages with buyers.
- **Users** — Retrieve the authenticated seller's profile.

## Why Jentic

- **Setup:** Wiring the OLX Poland API by hand means running its OAuth 2.0 authorization-code flow, refreshing tokens, and navigating 15 endpoints across adverts, categories, and buyer threads yourself. Through Jentic you install once, import OLX.pl from the API Directory, store the credentials once, and your agent calls it.
- **Permission scoping:** OLX.pl puts the advert and thread ids in the URL path (for example `/adverts/{advertId}/activate`), so a rule can pin your agent to one advert or thread, and for collection-level calls you limit it to the operations it needs, such as reading category attributes. You choose the operations it may call, so deactivating an advert is not included unless you add it.
- **Credential handling:** Your OLX.pl OAuth access and refresh tokens are stored once, encrypted, by your own Jentic One instance, which runs the authorization flow and refreshes tokens automatically. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'post an advert on OLX' or 'reply to a buyer', and Jentic returns the matching operation plus prerequisite calls like category attribute lookup with full input schemas so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **eBay Sell Account API** — Global classifieds and marketplace for cross-border listings.
- **Shopify Admin API** — Sync product catalogue from a Shopify store onto OLX.pl listings.
- **Twilio API** — Send SMS notifications when buyers message you on OLX.pl.

## FAQ

### Why is there no official OpenAPI spec for OLX Poland API?

OLX Poland does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call OLX Poland API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the OLX Poland API use?

OLX.pl uses OAuth 2.0 with partner credentials. Jentic handles the OAuth dance and stores access and refresh tokens in the encrypted vault, refreshing them automatically so the agent never deals with expired tokens.

### Can I activate and deactivate adverts without deleting them?

Yes. POST `/adverts/{advertId}/deactivate` pauses an advert without losing its content, and POST `/adverts/{advertId}/activate` brings it back. This is the recommended pattern for inventory that goes in and out of stock.

### What are the rate limits for the OLX Poland API?

The OpenAPI spec does not document rate limits. OLX.pl's partner programme typically applies daily quotas - call /categories and /cities once and cache them, since they change infrequently and otherwise consume your quota.

### How do I post an advert with the correct category attributes through Jentic?

Search Jentic for 'post advert on olx', and the SDK returns POST /adverts together with GET `/categories/{categoryId}/attributes` so the agent can build a valid attribute payload before posting.

### Does the OLX Poland API include payments or escrow?

No. The Partner API is scoped to listings, categories, locations, and messaging. Payments between buyers and sellers happen outside the API and are not exposed through the spec.

### Can I limit what my agent is allowed to do with the OLX Poland API?

Yes. Because you run Jentic One yourself, your own rules decide which OLX.pl operations and credentials the agent may use, so you can grant read-only category attribute lookups while withholding advert changes. OLX.pl puts advert and thread ids in the URL path, such as `/adverts/{advertId}/activate` and `/threads/{threadId}/messages`, so a rule can pin the agent to a single advert or conversation. You choose the operations it may call, which means deactivating an advert is not available to the agent unless you add it.
