Get Listing
curl --request GET \
--url https://scrapebadger.com/v1/gumtree/listings/{listing_id} \
--header 'X-API-Key: <x-api-key>'import requests
url = "https://scrapebadger.com/v1/gumtree/listings/{listing_id}"
headers = {"X-API-Key": "<x-api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<x-api-key>'}};
fetch('https://scrapebadger.com/v1/gumtree/listings/{listing_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://scrapebadger.com/v1/gumtree/listings/{listing_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://scrapebadger.com/v1/gumtree/listings/{listing_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<x-api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://scrapebadger.com/v1/gumtree/listings/{listing_id}")
.header("X-API-Key", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://scrapebadger.com/v1/gumtree/listings/{listing_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<x-api-key>'
response = http.request(request)
puts response.read_body{
"id": "<string>",
"title": "<string>",
"url": "<string>",
"description": "<string>",
"price": 123,
"price_text": "<string>",
"price_frequency": "<string>",
"currency": "<string>",
"vat": "<string>",
"location": "<string>",
"area": "<string>",
"sub_area": "<string>",
"location_id": "<string>",
"postcode": "<string>",
"latitude": 123,
"longitude": 123,
"category_id": 123,
"category_name": "<string>",
"category_ids": [
123
],
"breadcrumbs": [
{}
],
"image_urls": [
"<string>"
],
"video_urls": [
"<string>"
],
"posted_text": "<string>",
"posted_utc": 123,
"posted_at": "<string>",
"created_utc": 123,
"created_at": "<string>",
"updated_utc": 123,
"updated_at": "<string>",
"expires_at": "<string>",
"is_featured": true,
"is_urgent": true,
"is_bumped_up": true,
"is_standout": true,
"favourite_count": 123,
"vehicle_history_checked": true,
"attributes": [
{}
],
"seller": {
"name": "<string>",
"user_id": "<string>",
"public_id": "<string>",
"type": "<string>",
"is_pro": true,
"posting_since": "<string>",
"last_active_utc": 123,
"last_active_at": "<string>",
"total_listings": 123,
"listings_last_year": 123,
"listings_by_category": {},
"reply_speed": "<string>",
"reply_rate": "<string>",
"rating": {},
"verification": {},
"phone_masked": "<string>",
"website_url": "<string>",
"avatar_url": "<string>",
"logo_url": "<string>",
"badges": [
"<string>"
]
},
"seller_skills": [
"<string>"
],
"seller_listings_url": "<string>",
"similar_listings": [
{}
]
}Listings
Get Listing
Full Gumtree listing — description, every attribute (full vehicle spec for cars), images, location, seller profile and similar listings.
GET
/
v1
/
gumtree
/
listings
/
{listing_id}
Get Listing
curl --request GET \
--url https://scrapebadger.com/v1/gumtree/listings/{listing_id} \
--header 'X-API-Key: <x-api-key>'import requests
url = "https://scrapebadger.com/v1/gumtree/listings/{listing_id}"
headers = {"X-API-Key": "<x-api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<x-api-key>'}};
fetch('https://scrapebadger.com/v1/gumtree/listings/{listing_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://scrapebadger.com/v1/gumtree/listings/{listing_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://scrapebadger.com/v1/gumtree/listings/{listing_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<x-api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://scrapebadger.com/v1/gumtree/listings/{listing_id}")
.header("X-API-Key", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://scrapebadger.com/v1/gumtree/listings/{listing_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<x-api-key>'
response = http.request(request)
puts response.read_body{
"id": "<string>",
"title": "<string>",
"url": "<string>",
"description": "<string>",
"price": 123,
"price_text": "<string>",
"price_frequency": "<string>",
"currency": "<string>",
"vat": "<string>",
"location": "<string>",
"area": "<string>",
"sub_area": "<string>",
"location_id": "<string>",
"postcode": "<string>",
"latitude": 123,
"longitude": 123,
"category_id": 123,
"category_name": "<string>",
"category_ids": [
123
],
"breadcrumbs": [
{}
],
"image_urls": [
"<string>"
],
"video_urls": [
"<string>"
],
"posted_text": "<string>",
"posted_utc": 123,
"posted_at": "<string>",
"created_utc": 123,
"created_at": "<string>",
"updated_utc": 123,
"updated_at": "<string>",
"expires_at": "<string>",
"is_featured": true,
"is_urgent": true,
"is_bumped_up": true,
"is_standout": true,
"favourite_count": 123,
"vehicle_history_checked": true,
"attributes": [
{}
],
"seller": {
"name": "<string>",
"user_id": "<string>",
"public_id": "<string>",
"type": "<string>",
"is_pro": true,
"posting_since": "<string>",
"last_active_utc": 123,
"last_active_at": "<string>",
"total_listings": 123,
"listings_last_year": 123,
"listings_by_category": {},
"reply_speed": "<string>",
"reply_rate": "<string>",
"rating": {},
"verification": {},
"phone_masked": "<string>",
"website_url": "<string>",
"avatar_url": "<string>",
"logo_url": "<string>",
"badges": [
"<string>"
]
},
"seller_skills": [
"<string>"
],
"seller_listings_url": "<string>",
"similar_listings": [
{}
]
}Fetch one Gumtree listing in full: the description, every category attribute,
all images, postcode and coordinates, the seller’s profile and Gumtree’s
similar listings. Motors listings carry the full vehicle spec — make, model,
mileage, MPG, CO2, insurance group, previous keepers and the vehicle
history-check flags. Property, jobs, pets and services listings carry their own
attribute sets.
Credits: 5
Authorization
string
required
Your ScrapeBadger API key.
Path Parameters
string
required
Gumtree listing id — the number at the end of a
gumtree.com/p/... URL, e.g.
1803293391. Returned as id by
/search.Response
string
Listing id.
string
string
string
Full description text.
number
Numeric price in GBP.
string
Price as shown, e.g.
£5,699.00.string
pm / pw for rentals.string
Always
GBP.string
Motors trade listings:
Inc VAT / No VAT.string
e.g.
Larkhall, South Lanarkshire.string
string
string
string
number
number
integer
string
integer[]
Root-to-leaf category ids.
Breadcrumb[]
name, url.string[]
string[]
string
Relative age as shown, e.g.
1 day ago.number
Last (re)posted, Unix seconds — moves when the ad is bumped.
string
Same, ISO 8601 UTC.
number
When the ad was first created, Unix seconds.
string
Same, ISO 8601 UTC.
number
string
string
Date the ad is valid through (
YYYY-MM-DD).boolean
boolean
boolean
boolean
integer
boolean
Motors: Gumtree’s vehicle history check ran on this car.
Attribute[]
Every category attribute —
key, label, value, unit, e.g.
{"key": "vehicle_mileage", "label": "Mileage", "value": "94130", "unit": "miles"}.Seller
The seller’s profile.
Show Seller
Show Seller
string
string
string
string
Private, Trade or Agency.boolean
string
e.g.
6+ years.number
string
integer
integer
object
Category name → live listing count.
string
string
object
average, total, and a per-star breakdown.object
status, label (e.g. Business Verified) and the checks Gumtree ran.string
The masked phone number shown on the listing page, e.g.
0794997XXXX. Full numbers are never returned.string
string
string
string[]
string[]
Services listings only.
string
The seller’s other ads on gumtree.com.
Example
curl "https://scrapebadger.com/v1/gumtree/listings/1803293391" \
-H "X-API-Key: YOUR_API_KEY"
const res = await fetch("https://scrapebadger.com/v1/gumtree/listings/1803293391", {
headers: { "X-API-Key": process.env.SCRAPEBADGER_API_KEY },
});
const listing = await res.json();
import requests
res = requests.get(
"https://scrapebadger.com/v1/gumtree/listings/1803293391",
headers={"X-API-Key": "YOUR_API_KEY"},
)
listing = res.json()
Response
{
"id": "1803293391",
"title": "Mazda, 2, Hatchback, 2018, Manual, 1496 (cc), 5 doors",
"description": "Welcome to Thomson Twins Motors. We are based in Larkhall, Scotland. Our cars come with a Fresh Service, Valeted inside and long MOT's...",
"price": 5699.0,
"price_text": "£5,699.00",
"price_frequency": null,
"currency": "GBP",
"vat": "No VAT",
"location": "Larkhall, South Lanarkshire",
"area": "South Lanarkshire",
"sub_area": "Larkhall",
"location_id": "11000569",
"postcode": "ML93BQ",
"latitude": 55.7269,
"longitude": -3.92624,
"category_id": 10312,
"category_name": "Mazda",
"category_ids": [2551, 9311, 10312],
"breadcrumbs": [
{ "name": "Home", "url": "https://www.gumtree.com/" },
{ "name": "Motors", "url": "https://www.gumtree.com/cars-vans-motorbikes/uk/larkhall" },
{ "name": "Cars", "url": "https://www.gumtree.com/cars-vans-motorbikes/cars/uk/larkhall" },
{ "name": "Mazda", "url": "https://www.gumtree.com/cars-vans-motorbikes/cars/mazda/uk/larkhall" }
],
"image_urls": [
"https://img.gumtree.com/ePR8PyKf84wPHx7_RYmEag/cba6556cbcb7464a97_78d604ec62db/86",
"https://img.gumtree.com/ePR8PyKf84wPHx7_RYmEag/b5a807b290974290b8_5c9645400e3e/86"
],
"video_urls": [],
"posted_text": "1 day ago",
"posted_utc": 1791643486.952,
"posted_at": "2026-10-10T14:44:46.952000Z",
"created_utc": 1790675543.83,
"created_at": "2026-09-29T09:52:23.830000Z",
"updated_utc": 1791643487.028,
"updated_at": "2026-10-10T14:44:47.028000Z",
"expires_at": "2026-11-09",
"is_featured": false,
"is_urgent": false,
"is_bumped_up": false,
"is_standout": false,
"favourite_count": 2,
"vehicle_history_checked": true,
"attributes": [
{ "key": "vehicle_make", "label": "Make", "value": "Mazda", "unit": null },
{ "key": "vehicle_model", "label": "Model", "value": "2", "unit": null },
{ "key": "vehicle_registration_year", "label": "Year", "value": "2018", "unit": null },
{ "key": "vehicle_mileage", "label": "Mileage", "value": "94130", "unit": "miles" },
{ "key": "vehicle_transmission", "label": "Transmission", "value": "Manual", "unit": null },
{ "key": "vehicle_fuel_type", "label": "Fuel type", "value": "Petrol", "unit": null },
{ "key": "vehicle_average_mpg", "label": "Fuel Consumption", "value": "62.8", "unit": "mpg" }
],
"seller": {
"name": "Thomson Twins Motors Ltd",
"user_id": "91457907",
"public_id": "41d401e0ec9e0dfa128b17775c8f2f9d",
"type": "Trade",
"is_pro": true,
"posting_since": "4+ months",
"rating": {
"average": 0.0,
"total": 0,
"breakdown": { "1": 0, "2": 0, "3": 0, "4": 0, "5": 0 }
},
"verification": {
"status": "VERIFIED",
"label": "Business Verified",
"checks": ["Age verification (maximum)", "Age verification (minimum)", "Directors"]
},
"phone_masked": null,
"badges": []
},
"seller_skills": [],
"seller_listings_url": "https://www.gumtree.com/sellerads/1803293391?userId=91457907&publicUserId=41d401e0ec9e0dfa128b17775c8f2f9d",
"similar_listings": [
{
"id": "1803422383",
"title": "2017 Mazda MX-5 1.5 SE-L Nav 2dr CONVERTIBLE PETROL Manual",
"url": "https://www.gumtree.com/p/mazda/2017-mazda-mx-5-1.5-se-l-nav-2dr-convertible-petrol-manual/1803422383",
"price": 12695.0,
"price_text": "£12,695.00",
"location": "Colchester, Essex",
"postcode": "CO27QB",
"seller_type": "Trade",
"posted_text": "Just now"
}
]
}
Phone numbers are masked.
seller.phone_masked is the masked form shown
on the public listing page (e.g. 0794997XXXX), or null when the seller
shows none. The full number is never returned.Vehicle history-check flags arrive as attributes with the value
"true" —
vehicle_not_stolen, vehicle_not_writeoff, vehicle_not_scrapped,
vehicle_not_exported, vehicle_road_worthy — alongside
vehicle_previous_keepers and vrn (the registration) where the seller shows
it.Errors
| Status | Meaning |
|---|---|
404 | Listing does not exist or has been removed. |
422 | listing_id is not 5–12 digits, or Gumtree temporarily refused the request. Not billed — retry the latter shortly. |

