Yaga Scraper: Listings, Sellers & Reviews avatar

Yaga Scraper: Listings, Sellers & Reviews

Pricing

from $1.99 / 1,000 results

Go to Apify Store
Yaga Scraper: Listings, Sellers & Reviews

Yaga Scraper: Listings, Sellers & Reviews

Scrape public Yaga South Africa listings, seller shops, ratings, reviews, holiday mode, search visibility, and shipping-time signals for marketplace intelligence.

Pricing

from $1.99 / 1,000 results

Rating

5.0

(1)

Developer

Inus Grobler

Inus Grobler

Maintained by Community

Actor stats

1

Bookmarked

4

Total users

0

Monthly active users

13 days ago

Last modified

Share

Yaga Marketplace Scraper turns public Yaga.co.za listings, seller profiles, inventory, ratings, and reviews into clean, analysis-ready data. Use it for Yaga price monitoring, competitor research, seller intelligence, lead generation, and reputation analysis without building or maintaining your own scraper.

Use the Actor as a ready-to-run Yaga API: start a keyword search, submit exact listing URLs, or collect public seller data through Apify Console, the Apify API, or your preferred integration. Results are available as JSON, CSV, Excel, and other dataset formats.

Use one Actor for three workflows:

  • Product research: prices, brands, sizes, condition, images, categories, availability, and seller details.
  • Seller intelligence: shop profiles, locations, ratings, completed-order signals, likes, and active inventory.
  • Reputation analysis: individual ratings, written comments, automatic transaction reviews, reviewer shops, and seller replies.

Results are delivered as structured JSON with dedicated Listings, Seller profiles, and Reviews views. Pay-per-result pricing means you can start with a small, predictable test and scale only when the data fits your use case.

Why Use This Yaga Scraper?

  • Three data types in one run: combine product listings, seller profiles, and seller reviews.
  • Useful seller signals: capture ratings, shop activity, holiday mode, search visibility, Instagram handle, and order-processing estimates when public.
  • Pay only for saved results: sold listings and filtered reviews are excluded before they become paid dataset rows.
  • Easy integrations: send Yaga marketplace data to Google Sheets, Make, Zapier, databases, dashboards, or AI workflows through Apify.

Quick Start

For a product search, enter a keyword such as nike sneakers and choose the maximum number of listings. For seller intelligence, add an exact Yaga handle or profile URL. Enable reviews only when you need review-level data.

{
"searchQuery": "nike sneakers",
"maxListings": 20,
"includeSoldItems": false
}

Main Use Cases

  • Monitor public Yaga listings for brands, categories, sizes, and prices.
  • Track competitor and seller inventory on Yaga South Africa.
  • Build pricing research, trend analysis, and availability dashboards.
  • Enrich public marketplace seller leads with profile and shop metadata.
  • Analyze seller reputation using review ratings, comments, reviewer shops, and public replies.
  • Run recurring checks for new public listings matching a keyword or seller profile.

What Data It Extracts

Listing rows can include:

  • recordType
  • url
  • listingId
  • title
  • description
  • price
  • currency
  • originalPrice
  • discount
  • condition
  • brand
  • size
  • color
  • category
  • subcategory
  • sellerName
  • sellerUrl
  • location
  • imageUrls
  • mainImageUrl
  • isSold
  • isReserved
  • likesCount
  • viewCount
  • postedAt
  • updatedAt
  • scrapedAt
  • sourcePageUrl

Profile rows can include:

  • recordType
  • url
  • profileId
  • profileSlug
  • sellerName
  • sellerUrl
  • description
  • profileImageUrl
  • location
  • province
  • isActive
  • isInfluencerShop
  • completedOrdersCount
  • feedbackTotal
  • avgRating
  • shopCreatedAt
  • shopUpdatedAt
  • holidayMode
  • includeInSearch
  • instagramTag
  • orderProcessingTimeHours
  • orderProcessingTimeText
  • likesCount
  • scrapedAt
  • sourcePageUrl

Review rows can include:

  • recordType
  • reviewId
  • profileId
  • profileSlug
  • sellerName
  • sellerUrl
  • rating
  • reviewText
  • isAutomatic
  • automaticReason
  • reviewedRole
  • createdAt
  • replyText
  • repliedAt
  • reviewerId
  • reviewerName
  • reviewerShopId
  • reviewerProfileSlug
  • reviewerProfileUrl
  • reviewerImageUrl
  • reviewerLocation
  • reviewerProvince
  • reviewerCountry
  • scrapedAt
  • sourcePageUrl

Each dataset row includes recordType, so you can filter listing, profile, and review rows separately. The Dataset tab also provides dedicated Listings, Profiles, and Reviews views.

Input Configuration

You can run a search, scrape known item URLs, scrape public seller profiles, or combine these inputs.

FieldTypeDescription
searchQueryStringKeyword to search on Yaga, such as nike sneakers, dress, or jacket.
itemUrlsURL listDirect Yaga item/listing URLs. Use this when you already know the product pages.
profilesString listPublic Yaga profile handles, slugs, or full profile URLs.
includeReviewsBooleanSave individual public reviews for supplied profiles. Default: false.
maxReviewsIntegerMaximum review rows across all supplied profiles. Default: 5. Maximum: 1000.
includeAutomaticReviewsBooleanInclude Yaga-generated transaction reviews. Enable this only when you need system-generated feedback. Default: false.
minimumReviewRatingIntegerSave reviews at or above this rating, from 1 to 5. Default: 1.
maxListingsIntegerMaximum listing rows to save from search and profile pages. Use 0 for a profile-only or review-only run. Default: 20. Maximum: 500.
continuationTokenStringContinue a search from a previous run. Use the nextContinuationToken returned by the Actor with the same searchQuery.
includeSoldItemsBooleanSave sold or unavailable listings. Default: false.
maxPagesIntegerAdvanced fallback limit for rendered search or profile discovery pages. Default: 1. Maximum: 5.
requestDelayMsIntegerAdvanced delay between requests in milliseconds. Default: 300. Maximum: 2000.
discoveryConcurrencyIntegerAdvanced browser discovery concurrency. Default: 1. Maximum: 8.
itemConcurrencyIntegerAdvanced direct listing fetch concurrency. Default: 2. Maximum: 8.

Example Input

{
"searchQuery": "nike sneakers",
"profiles": ["incahoots"],
"includeReviews": true,
"maxReviews": 25,
"includeAutomaticReviews": false,
"minimumReviewRating": 3,
"maxListings": 20,
"maxPages": 1,
"requestDelayMs": 300,
"includeSoldItems": false
}

Reviews-Only Example

Enter one or more public profile handles or URLs, enable reviews, and set maxListings to 0 when you do not need listing rows:

{
"profiles": ["incahoots"],
"includeReviews": true,
"maxReviews": 25,
"includeAutomaticReviews": false,
"maxListings": 0
}

The Actor saves one profile summary row followed by up to maxReviews matching review rows. Both member-written and Yaga automatic reviews are available and identified by isAutomatic; turn off includeAutomaticReviews when you only want human-written feedback.

When a search run reaches maxListings, the Actor can return nextContinuationToken in the run output. Use it with the same searchQuery to scrape the next batch at the same per-result price.

First run:

{
"searchQuery": "dress",
"maxListings": 100
}

Next run:

{
"searchQuery": "dress",
"maxListings": 100,
"continuationToken": "100"
}

Direct Item URL Example

{
"itemUrls": [
{ "url": "https://www.yaga.co.za/example-shop/product/example-item" }
],
"maxListings": 1
}

Example Output

{
"recordType": "listing",
"url": "https://www.yaga.co.za/example-shop/product/example-item",
"listingId": "example-item",
"title": "Nike sneakers",
"description": "Used Nike sneakers in good condition",
"price": 450,
"currency": "ZAR",
"condition": "Used",
"brand": "Nike",
"size": "UK 6",
"category": "Women",
"subcategory": "Shoes > Sneakers",
"sellerName": "Example seller",
"sellerUrl": "https://www.yaga.co.za/example-shop",
"location": "Western Cape",
"mainImageUrl": "https://images.yaga.co.za/example/image.jpeg",
"isSold": false,
"isReserved": false,
"likesCount": 12,
"scrapedAt": "2026-06-09T12:00:00.000Z",
"sourcePageUrl": "https://www.yaga.co.za/search/nike%20sneakers"
}
{
"recordType": "profile",
"url": "https://www.yaga.co.za/example-shop",
"profileSlug": "example-shop",
"sellerName": "Example seller",
"sellerUrl": "https://www.yaga.co.za/example-shop",
"description": "Public shop description",
"location": "Cape Town",
"province": "Western Cape",
"completedOrdersCount": "260+",
"feedbackTotal": 159,
"avgRating": 4.8,
"shopCreatedAt": "2022-08-29T21:55:21.618Z",
"shopUpdatedAt": "2026-09-12T12:17:04.877Z",
"holidayMode": false,
"includeInSearch": true,
"orderProcessingTimeHours": 41,
"orderProcessingTimeText": "Usually ships in 2 days",
"likesCount": 346,
"scrapedAt": "2026-06-09T12:00:00.000Z",
"sourcePageUrl": "https://www.yaga.co.za/example-shop"
}
{
"recordType": "review",
"url": "https://www.yaga.co.za/example-shop?tab=reviews",
"reviewId": "830875",
"profileId": "100356319",
"profileSlug": "example-shop",
"sellerName": "Example seller",
"sellerUrl": "https://www.yaga.co.za/example-shop",
"rating": 5,
"reviewText": "Item was in perfect condition.",
"isAutomatic": false,
"reviewedRole": "seller",
"createdAt": "2026-07-20T18:18:15.797Z",
"reviewerId": "101026984",
"reviewerName": "Example reviewer",
"reviewerProfileSlug": "example-reviewer",
"reviewerProfileUrl": "https://www.yaga.co.za/example-reviewer",
"scrapedAt": "2026-07-22T12:00:00.000Z",
"sourcePageUrl": "https://www.yaga.co.za/example-shop"
}

How To Run On Apify

  1. Open the Actor in Apify Console.
  2. Enter a Yaga search query, item URLs, profile handles, profile URLs, or a combination.
  3. To collect reviews, enable Include seller reviews and choose a review limit.
  4. Set maxListings to the number of listing rows you need, or 0 for reviews only.
  5. Start the Actor.
  6. Use the Output tab to open all results or jump directly to the Listings, Seller profiles, or Reviews view.

Exporting Results

Results are saved continuously to the default Apify dataset while the Actor runs. You can export them as JSON, CSV, Excel, XML, RSS, or HTML from the Dataset tab, or access them through the Apify API.

Seller-profile rows include activity, search-visibility, holiday-mode, Instagram, and order-processing signals when Yaga makes them public.

Python API example:

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run_input = {
"profiles": ["incahoots"],
"includeReviews": True,
"maxReviews": 25,
"includeAutomaticReviews": False,
"maxListings": 0,
}
run = client.actor("thescrapelab/yaga-marketplace-scraper").call(run_input=run_input)
dataset_id = run["defaultDatasetId"]
items = client.dataset(dataset_id).list_items().items
for item in items:
print(item)

The measured default is 1024 MB memory. Search plus seller-profile discovery uses browser rendering, and current cloud stress tests showed that 512 MB can become memory constrained and time out. The identical mixed workload completed faster and at lower platform cost with 1024 MB. Direct item URL and review-only runs are lighter, but keeping the default at 1024 MB gives every advertised workflow practical headroom.

Run sizeMemoryTimeoutNotes
Direct item URL1024 MB default3 minutesBest for known product URLs; manually selecting 512 MB can be sufficient for this lighter path.
Small search, up to 5 listings1024 MB5 minutesGood for tests and quick checks.
Medium search, around 20 listings1024 MB10 minutesRecommended default client workload.
Profile plus up to 100 reviews1024 MB5 minutesReviews use Yaga's public paginated review data after profile discovery.
Large capped run, up to 60-100 listings1024 MB10-15 minutesKeep maxListings capped for predictable cost.
Larger search batches, up to 500 listings1024 MB15-30 minutesUse continuationToken for repeatable batches. Test before scheduling.
Search plus profiles1024 MB10 minutesUses rendered discovery pages plus item fetching.

For mixed search-and-profile workloads, do not reduce memory below 1024 MB unless you have measured your exact input. Lower memory can run longer, cost more in platform usage, and time out before producing the requested results.

Limits And Caveats

  • This Actor collects public Yaga pages only. It does not log in or collect private account data.
  • The Actor does not bypass paywalls, CAPTCHA, or access controls.
  • maxListings limits listing rows, not profile summary rows.
  • maxReviews is a global cap across all supplied profiles and only applies when includeReviews is enabled.
  • Review rows include both member and automatic reviews. Use isAutomatic to separate them.
  • Review filters are applied before rows are saved, so filtered reviews do not count as paid results.
  • Search runs can continue with nextContinuationToken when another batch may be available.
  • Sold or unavailable listings are skipped by default to reduce low-value results.
  • Some fields may be missing when they are not shown publicly or when Yaga changes page structure.
  • Search and seller coverage depends on the public data Yaga returns during the run.
  • Keep recurring runs reasonable and review Yaga's current terms before high-volume use.

Troubleshooting

ProblemWhat to check
No resultsTry a broader searchQuery, a direct item URL, or an exact public profile handle.
Fewer results than expectedIncrease maxListings up to 500, or use nextContinuationToken to continue in another run.
Missing fieldsConfirm the field is visible on the public Yaga page. Not every listing exposes every field.
Profile not foundUse the exact profile slug or full profile URL instead of a display name.
No review rowsEnable includeReviews, supply a public profile, and confirm the profile currently shows reviews on Yaga.
Run takes too longLower maxListings or continue in smaller batches with nextContinuationToken.
Possible blocking or rate limitsRetry later with a smaller maxListings value, keep discoveryConcurrency at 1, and increase requestDelayMs slightly.

Pricing

Pricing currently starts from $1.99 per 1,000 results. Apify shows the exact price for your plan before each run. Keep maxListings and maxReviews low for a first test and raise them only when you need broader coverage.

Each saved listing, seller profile, or review row counts as one result. Sold listings skipped by default and reviews excluded by includeAutomaticReviews or minimumReviewRating do not become paid results. Continuation tokens do not change the pricing unit; each batch returns another bounded set of rows.

FAQ

Can I scrape Yaga search results?

Yes. Provide searchQuery and set maxListings to the number of listing rows you want.

Can I use this as a Yaga API?

Yes. Run thescrapelab/yaga-marketplace-scraper through the Apify API and read structured listings, seller profiles, and reviews from the default dataset. The Python example above shows the complete request-and-download flow.

Can I scrape more than one batch?

Yes. Use nextContinuationToken from the previous run with the same searchQuery, or raise maxListings up to 500 for a larger single run.

Can I scrape a Yaga seller profile?

Yes. Add public handles, slugs, or full profile URLs to profiles. Profile rows can include shop age and activity timestamps, holiday mode, marketplace search visibility, Instagram handle, and order-processing estimates.

Can I scrape Yaga reviews?

Yes. Add public profiles, set includeReviews to true, and choose maxReviews. Set maxListings to 0 if you only need profile and review rows.

Are automatic reviews included?

They are excluded by default. Set includeAutomaticReviews to true to include them; included rows are identified by isAutomatic. Use minimumReviewRating to keep only reviews at or above a chosen star rating.

What counts as a paid result?

Every saved listing, seller profile, or review is one result. Invalid profiles, skipped sold listings, duplicate records, and reviews rejected by your filters are not saved as paid result rows.

Can I scrape exact Yaga item URLs?

Yes. Add direct item URLs to itemUrls.

Does it scrape sold listings?

Sold and unavailable listings are skipped by default. Set includeSoldItems to true if you need them.

Does it use a proxy?

The default configuration does not require a proxy in normal tests. If future runs show blocking symptoms, tune delay and proxy/session settings carefully and measure cost again.

What keywords can I use?

Common Yaga research queries include nike sneakers, adidas shoes, dress, jacket, zara, handbag, vintage, kids clothes, woolworths, and cotton on.

Support

For best reliability, use exact item URLs or exact public profile handles/URLs. If a run returns fewer fields than expected, compare the dataset row with the public Yaga page and check whether the missing field is visible there.