
TikTok Shop Scraper
scrape.ly/store/shelfbright/tiktok-shop-scraperE-commerceSocial media
1 monthly user

Scrape dubizzle.com (UAE) listings: property for rent and sale, used cars and motors, classifieds, jobs and community. Prices, specs, location, photos, agency and agent contacts, from search URLs, listing URLs or a category search.
Get clean, structured data from dubizzle.com, the UAE's largest marketplace: apartments and villas for rent or sale, used cars and other motors, classifieds, jobs, Jobs Wanted (candidate CV listings) and community ads. Paste any dubizzle search or listing URL (or just pick a category) and get prices, specs, locations, photos and agency/agent contact details in seconds. No login, no browser, pay only per result.
| Field | What it does |
|---|---|
startUrls | dubizzle search or listing URLs (any emirate subdomain, English or Arabic). |
category | Search without a URL: property, motors, classifieds, jobs, Jobs Wanted (CVs) or community. |
maxItems | Max listings per URL / search (default 20, 0 = no limit). |
emirate, keyword, minPrice, maxPrice, minBedrooms, maxBedrooms, minSize, maxSize, furnishing, minYear, maxYear, minKilometers, maxKilometers, sortBy | Filters for the category search. |
workExperience, educationLevel, commitment, desiredSalary | Jobs Wanted filters (pick one or more values each). In Jobs Wanted URLs the same filters work as ?work_experience=5-10-years&education_level=masters-degree&commitment=full-time&desired_salary=8000-11999. |
includeDetails | Open each listing for the full description, all photos, agent/agency contacts and every spec (default on). Turn off for faster, lighter rows from search data only. |
{
"startUrls": [
{ "url": "https://dubai.dubizzle.com/property-for-rent/residential/apartmentflat/in/difc/59/?bedrooms=1" },
{ "url": "https://uae.dubizzle.com/motors/used-cars/toyota/land-cruiser/?year__gte=2020&kilometers__lte=80000" }
],
"maxItems": 50,
"includeDetails": true
}
Category search without a URL:
{
"category": "property-for-sale/residential",
"emirate": "abudhabi",
"minPrice": 1000000,
"maxPrice": 2000000,
"minBedrooms": 2,
"sortBy": "newest",
"maxItems": 100
}
Jobs Wanted (candidate CV listings):
{
"category": "jobs-wanted",
"emirate": "dubai",
"keyword": "accountant",
"workExperience": ["5-10 Years", "10-15 Years"],
"commitment": ["Full Time"],
"maxItems": 50
}
One row per listing. Main fields:
| Field | Description |
|---|---|
id, uuid, url, shortUrl | Listing identifiers and links |
title, description, price, currency | Listing text and price in AED |
section, category, categoryPath | e.g. property-for-rent › Residential › Apartment |
emirate, location, neighborhood, latitude, longitude | Where it is |
mainPhoto, photos, photoCount | Image URLs |
postedAt, updatedAt, sellerType, isVerified, isPremium | Listing status |
sellerName, sellerId, sellerPhoto, sellerProfileUrl, sellerMemberSince, sellerActiveListings, sellerRating, sellerReviewsCount, sellerPhone, sellerEmail, sellerVerified | The seller's public details as shown on the listing (private sellers, landlords, dealers and agents) |
Property: purpose, propertyType, bedrooms, bathrooms, sizeSqft, furnished, rentFrequency, building, amenities, propertyReference, completionStatus | Property specs |
Property (professionals): agencyName, agencyUrl, agentName, agentPhone, agentWhatsapp, agentEmail, agentBrn, agencyEmail, agencyReraNumber, agencyLicenceNumber, reraDetails, dldValidationUrl | Agent and agency details |
Motors: make, model, year, kilometers, attributes | Vehicle specs (body type, fuel, specs, colours, ...) |
Classifieds / jobs: condition, attributes, businessName | Item details |
Jobs Wanted: candidateName, candidateFirstName, candidateLastName, jobRole, workExperience, educationLevel, commitment, desiredSalary, isRemote, cvUrl, candidatePhoneVerified, candidateEmailVerified, hasPhoneNumber, hasWhatsapp, expiresAt | The candidate's public profile as the listing shows it (name, member since and verification come with the seller fields too). cvUrl is dubizzle's CV link from the listing |
detail, basicInfo | The complete listing record and search record as dubizzle provides them |
Example (trimmed, sample values):
{
"id": 27000001,
"url": "https://dubai.dubizzle.com/property-for-rent/residential/apartmentflat/2026/10/1/sample-studio-in-difc-2-000001/",
"title": "Furnished Studio | High Floor | DIFC",
"price": 85000,
"currency": "AED",
"section": "property-for-rent",
"category": "Apartment",
"emirate": "Dubai",
"location": "UAE > Dubai > DIFC > Sample Tower",
"latitude": 25.2101,
"longitude": 55.2801,
"purpose": "rent",
"bedrooms": 0,
"bathrooms": 1,
"sizeSqft": 520,
"furnished": true,
"rentFrequency": "Yearly",
"sellerType": "Agent",
"agencyName": "Sample Properties LLC",
"agentName": "Alex Example",
"agentPhone": "+971500000000",
"agentEmail": "alex@sample-properties.example",
"agencyReraNumber": "12345",
"sellerName": "Alex Example",
"sellerProfileUrl": "https://uae.dubizzle.com/property-agents/alex-example-100000/",
"sellerPhone": "+971500000000",
"sellerEmail": "alex@sample-properties.example",
"photoCount": 12,
"postedAt": "2026-10-01T09:30:00Z"
}
Jobs Wanted example (fictional candidate):
{
"id": 3300001,
"url": "https://dubai.dubizzle.com/jobs-wanted/accounting-finance/2026/10/15/sample-accountant-000001/",
"title": "Experienced Accountant looking for a full time role",
"section": "jobs-wanted",
"category": "Accounting / Finance",
"emirate": "Dubai",
"candidateName": "Sam Example",
"jobRole": "Accountant",
"workExperience": "5-10 Years",
"educationLevel": "Bachelors Degree",
"commitment": "Full Time",
"desiredSalary": "8,000 - 11,999",
"isRemote": false,
"hasPhoneNumber": true,
"sellerMemberSince": "2019-11-26T17:09:55Z",
"sellerVerified": true,
"postedAt": "2026-10-15T09:00:00Z"
}
You pay $0.50 per 1,000 listings ($0.0005 per result), plus the platform usage of the run (compute and the UAE proxy that listing details need). Examples from our test runs:
Turning off includeDetails makes runs faster and uses almost no proxy traffic. Jobs Wanted listings cost the same $0.0005 each (they need the same one detail request per listing and carry no photos).
Is it legal to scrape dubizzle? The actor collects publicly visible listing data, including the seller details dubizzle shows on each listing. You are responsible for using the data in line with dubizzle's terms and applicable laws (including UAE data protection rules).
Do I need a dubizzle account or a proxy? No. The listing details only open for visitors in the UAE, so the actor uses a UAE residential exit automatically.
How many results can I get? Up to several thousand per URL. dubizzle caps a single search (for example about 2,500 classifieds or 10,000 motors results); split very large searches with filters (price ranges, emirates, categories) to collect more.
Why is a field empty? Not every listing has every field (for example, private landlords have no agent details, motors have no bedrooms, and car and classifieds listings do not include the seller's phone number in their public data, so sellerPhone stays empty there). If a listing's detail record can't be opened, the row still contains the search data.
Can I schedule it or use the API? Yes. Schedule runs in the console or start them through the API and read the dataset as JSON or CSV.
Migrating from another dubizzle scraper? The detail and basicInfo objects hold the same raw listing and search records that other tools return, so existing pipelines can keep reading them.
Every field below can be set in the run form, passed through the API, or saved as a task. Unset fields fall back to the defaults shown.
startUrlsarrayOptionalDubizzle URLs
dubizzle.com (UAE) search or listing URLs: property for rent or sale, motors (used cars, motorcycles, boats, number plates), classifieds, jobs and community. Filters in the URL (price, bedrooms, year, kilometers, keyword, neighborhood, sort) are applied. Each URL gets its own result limit.
categoryenumOptionalOr search a category
Search without a URL: pick a category, then narrow it with the emirate and filters below.
maxItemsintegerOptionaldefault 20Max results per URL or search
Maximum listings saved for each URL (and for the category search). 0 means no limit.
Filters for the category search. For URLs, set the filters on dubizzle and paste the URL instead.
emirateenumOptionaldefault "uae"Emirate
Used with the category search.
keywordstringOptionalKeyword
Free-text search, for example 'marina view' or 'land cruiser'.
minPriceintegerOptionalMin price (AED)
Lowest price in AED.
maxPriceintegerOptionalMax price (AED)
Highest price in AED.
minBedroomsintegerOptionalMin bedrooms
Property only. 0 = studio.
maxBedroomsintegerOptionalMax bedrooms
Property only.
minSizeintegerOptionalMin size (sq ft)
Property only.
maxSizeintegerOptionalMax size (sq ft)
Property only.
furnishingenumOptionaldefault "any"Furnishing
Property only.
minYearintegerOptionalMin year
Motors only.
maxYearintegerOptionalMax year
Motors only.
minKilometersintegerOptionalMin kilometers
Motors only.
maxKilometersintegerOptionalMax kilometers
Motors only.
workExperiencearrayOptionalWork experience
Jobs Wanted only. One or more experience ranges.
educationLevelarrayOptionalEducation level
Jobs Wanted only.
commitmentarrayOptionalCommitment
Jobs Wanted only. Full time, part time and so on.
desiredSalaryarrayOptionalDesired monthly salary (AED)
Jobs Wanted only. One or more salary bands as the candidates chose them.
sortByenumOptionaldefault "default"Sort by
Order of results for the category search.
includeDetailsbooleanOptionaldefault trueInclude full listing details
Open each listing for the full description, all photos, agent and agency contact details (phone, email, licence numbers), and every spec. Turn off for faster, search-data-only rows.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["RESIDENTIA…Proxy configuration
Listing details only open from the UAE, so they use a UAE residential exit automatically. Search results need no proxy.
Every run writes its results to a dataset. Preview it in the dashboard, then export it or read it through the API.
| Field | Type | Description |
|---|---|---|
| mainPhoto | any | Photo |
| url | any | Listing |
| title | any | Title |
| price | any | Price (AED) |
| section | any | Section |
| category | any | Category |
| emirate | any | Emirate |
| location | any | Location |
| bedrooms | any | Beds |
| bathrooms | any | Baths |
| sizeSqft | any | Size (sq ft) |
| make | any | Make |
| model | any | Model |
| year | any | Year |
| kilometers | any | Km |
| sellerType | any | Seller |
| sellerName | any | Seller name |
| sellerPhone | any | Seller phone |
| agencyName | any | Agency |
| agentName | any | Agent |
| agentPhone | any | Agent phone |
| businessName | any | Business |
| postedAt | any | Posted |
| id | any | ID |
You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices.
| Event | Charged when | Price |
|---|---|---|
| Result | One dubizzle listing saved to the dataset | $0.0005 |
Run this actor from your own code. Swap in your API token and the examples work as-is.
import { ScrapelyClient } from 'scrapely-client'
const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN })
// Start the actor and wait for the run to finish.
const run = await client.actor('shelfbright/dubizzle-scraper').call({
"startUrls": [
{
"url": "https://dubai.dubizzle.com/property-for-rent/residential/"
}
],
"maxItems": 20,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": [
"RESIDENTIAL"
],
"scrapelyProxyCountry": "AE"
}
})
// Read the dataset the run produced.
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)Tokens live in your account settings. Keep them server-side: a token carries the full permissions of your account.
Connect the Scrape.ly MCP server once and your agent can run this actor as a tool. Pick your tool:
Fetch scrape.ly/agents.md and run shelfbright/dubizzle-scraperPaste into Claude Code, Codex, Cursor or any AI agent. It signs you in once in the browser.
{
"mcpServers": {
"scrapely": {
"url": "https://api.scrape.ly/mcp?tools=actors,runs,storage,docs&actors=shelfbright/dubizzle-scraper"
}
}
}No key in the file: your client opens the browser to sign you in the first time it connects.
Inputs the developer prepared for common jobs. Open one to see its input, then copy it to your account to run it as-is or adjust it.
Property listings from a Dubizzle search URL.
Car listings filtered by year.
Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.