Subito.it ad details
One Subito.it ad: price, full description, every feature, photos, location, posting date, the seller's feedback score and reply time and, for business sellers, the shop (name, slogan, description, logo, website, opening hours, phone, categories, ad count). Pass url, or latest=1 with search params. Private sellers' names, phone numbers and email addresses are never returned (masked in ad text).
Every response includes credits_used: the credits this call cost.
Parameters
| name | type | description |
|---|---|---|
url | string | Subito.it ad url. |
latest | string | 1: open the first current result of a search made with this route's search params (q, location and filters) instead of an id. Ads expire, so this keeps a link working. Example: 1 |
q | string | Search keywords (with latest=1). Example: iphone |
seller_type | private | business | With latest=1: private or business. Example: business |
region | string | Region id (with latest=1). |
category | string | Category id (with latest=1). |
Every endpoint also takes fresh, raw, fields (see lean responses and caching).
Example
curl "https://api.api.sh/subito/v1/listing" \
-H "x-api-key: $APISH_KEY" import os, requests
res = requests.get(
"https://api.api.sh/subito/v1/listing",
params={},
headers={"x-api-key": os.environ["APISH_KEY"]},
timeout=120,
)
res.raise_for_status()
data = res.json() const url = new URL("https://api.api.sh/subito/v1/listing");
const res = await fetch(url, { headers: { "x-api-key": process.env.APISH_KEY } });
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
const data = await res.json(); Response
A JSON object with the fields described above, plus raw (the source's own data), cached, fetched_at and credits_used. Errors return {"success": false, "error": "…"} with the HTTP status (see errors). A lookup that ran but found nothing (404) costs the price above; refused calls and errors on our side are free (what's charged).