Kitapyurdu Scraper | Book Prices, ISBN & Bestsellers
Pricing
$1.00 / 1,000 book results
Kitapyurdu Scraper | Book Prices, ISBN & Bestsellers
Scrape Kitapyurdu.com category, publisher, author and keyword listings: book price, list price, discount, authors, publisher, ISBN, pages, stock and sales counter in TRY. Identifies itself honestly and follows robots.txt.
Pricing
$1.00 / 1,000 book results
Rating
0.0
(0)
Developer
Atesen Software
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Kitapyurdu Scraper: Book Prices, ISBN, Publishers & Bestsellers
Scrape Kitapyurdu.com, one of Turkey's largest online bookstores, without writing code. Paste a category, publisher or author page (or type keywords) and get one clean row per book: title, authors, publisher, Kitapyurdu price, publisher list price, discount, publication date, pages, language, binding and badges. Switch on Include book details to add the ISBN-13, exact rating counts, the "bought N times" sales counter, stock level, favourites and categories.
- Category, publisher, author and list pages, plus keyword search and single book pages
- Prices in TRY with the publisher's list price and the computed discount
- Authors, publisher (with link), publication date, page count, language, binding, paper type
- Best-seller sorting and newest-first sorting
- Detail mode: ISBN-13, written-review and rating counts, sales counter, stock, favourites, categories
- Up to 100 books per request, so large categories need few requests
- Polite by design: identifies itself, follows robots.txt, never solves CAPTCHAs, pay per result with a cost cap
Quick start (about 30 seconds)
- Open the Input tab and click Start. The prefilled input reads the Edebiyat (literature) category and saves 100 books.
- Open the Output tab: cover, title, authors, publisher, price, list price, discount and publication date for each book.
- Add Include book details to get the ISBN-13 and the sales counter, or change the URL to any category, publisher or author page.
What you can do with it
| Goal | Settings |
|---|---|
| Track the best sellers of a category | A category URL, Sort listings by = Best sellers (last 12 months) |
| Watch new releases | Sort listings by = Newest publication date |
| Compare list price and Kitapyurdu price | Read listPrice, price and discountPercent |
| Build a catalogue of one publisher or author | The /yayinevi/... or /yazar/... page URL |
| Match books by ISBN | Include book details, read isbn |
| Estimate demand | Include book details, read purchasedCount and favoriteCount |
| Look up a title or an ISBN | Search keywords, for example ahmet ümit or 9789750868702 |
Input
| Field | What it does |
|---|---|
| Kitapyurdu URLs | Category (/kategori/kitap-edebiyat/128.html), publisher (/yayinevi/yapi-kredi-yayinlari/117.html), author (/yazar/ahmet-umit/12108.html), list pages or a single book (/kitap/.../767268.html). |
| Search keywords | Keywords, titles, authors or ISBNs, one per line. |
| Maximum books | Stops after this many unique books across all URLs and keywords. Each saved book is one billable result. |
| Maximum pages per URL | Upper limit of listing pages read for each URL. |
| Sort listings by | Kitapyurdu default, best sellers (last 12 months) or newest publication date. A sort already in the URL is kept. |
| Books per page | 20, 25, 50, 75 or 100. 100 needs the fewest requests. |
| Include book details | Opens every book page for ISBN, rating counts, sales counter, stock, favourites, dimensions and categories. One extra request per book. |
| Maximum concurrency / requests per minute | Keep the load on the site low. Defaults: 3 and 60. |
| Contact URL for the bot identity | Added to the User-Agent so the site can contact the bot owner. |
| Proxy | On by default: Kitapyurdu refuses datacenter IP addresses (HTTP 403), so the Actor uses Apify Proxy residential IPs in Turkey. A proxy only changes the IP address; the Actor never bypasses protections. |
Example, the 300 best-selling books of the literature category with ISBN and sales counter:
{"startUrls": [{ "url": "https://www.kitapyurdu.com/kategori/kitap-edebiyat/128.html" }],"sortBy": "purchased_365","maxItems": 300,"includeProductDetails": true}
Example, two keywords:
{"searchQueries": ["ahmet ümit", "9789750868702"],"maxItems": 50}
Output
One dataset item per book. Real record from a test run of the literature category (listing mode):
{"productId": "728967","title": "Bahçıvan ve Ölüm","url": "https://www.kitapyurdu.com/kitap/bahcivan-ve-olum/728967.html","imageUrl": "https://img.kitapyurdu.com/v1/getImage/fn:12220047/wi:200/wh:bd3b98f35","authors": ["Georgi Gospodinov"],"publisher": "METİS YAYINLARI","publisherUrl": "https://www.kitapyurdu.com/yayinevi/metis-yayinlari/81.html","price": 285.94,"listPrice": 375,"discountPercent": 23.7,"currency": "TRY","publishDate": "2026-07-31","pages": 208,"language": "TÜRKÇE","coverType": "Karton Kapak","paperType": null,"ratingStars": 4,"badges": ["Roman Kategorisinde 2025'in En İyi 1. Kitabı", "Eylül Görmüş Seçkisi"],"shippingNote": "24 Saatte Kargoda","categoryId": "128","page": 1,"position": 1,"scrapedAt": "2026-10-24T14:22:32.812Z"}
With Include book details a row also contains (real values from a test run, shortened):
{"productId": "767268","title": "Roma'nın Beş Günü","authors": ["Ahmet Ümit"],"publisher": "YAPI KREDİ YAYINLARI","price": 316.27,"listPrice": 500,"discountPercent": 36.7,"isbn": "9789750868702","availability": "InStock","rating": 5,"ratingCount": 70,"reviewCount": 41,"purchasedCount": 8803,"stockText": "10+","favoriteCount": 4164,"dimensions": "13.5 x 23 cm","categories": ["Kitap > Edebiyat > Roman (Yerli)", "Kitap > Edebiyat > Polisiye"],"detailsFetched": true}
Notes on the fields:
priceis the Kitapyurdu price.listPriceis the publisher's list price ("Liste Fiyatı").discountPercentis calculated from the two and isnullwhen the list price is not shown.ratingStarsis the whole-star rating drawn on the listing card (1 to 5) and isnullwhen no star is shown. Detail mode adds the exactrating,ratingCountandreviewCount.- Missing values are
null. A price that is not shown is never written as 0. - Reviewer names and review texts are not collected.
- A
RUN_SUMMARYrecord in the key-value store lists the pages read, blocked or unreadable pages, acompleteflag and the stop reason.
Status rows
A wrong URL or an empty search does not fail the run. You get a free row with "type": "status":
status | Meaning |
|---|---|
not_found | The page returned HTTP 404 or 410 |
unrecognized_page | Kitapyurdu sent the Actor somewhere else (for example the home page for an unknown category), or the page did not look like a listing after three retries |
no_results | The input was valid but returned no books |
Status rows are never charged. Filter them out with type != "status".
Pricing
Pay per result. The amount is on the Pricing tab. One book row is one result, with or without book details. Status rows are free. Set Maximum cost per run in the run options: the Actor stops cleanly when the budget is used and never saves rows it cannot charge for.
Tips
- Use the 100-books-per-page setting (default) for large categories: it needs five times fewer requests than 20 per page.
- Listing mode needs one request per 100 books. Detail mode opens one extra page per book and is much slower, so use it when you need the ISBN or the sales counter.
- To follow a price over time, schedule the Actor with the same input and compare
pricebetween runs byproductId.
Limitations
- Only listing pages and book pages are read. Kitapyurdu's cart, account, checkout and image paths are never requested.
- The listing card shows whole stars only; use detail mode for the exact rating.
- Stock is shown by Kitapyurdu as text such as
10+, not as an exact number. - Kitapyurdu can change its pages at any time. When a page cannot be read the Actor says so in a status row and in the run's status message instead of returning empty results.
- Turkish storefront and TRY prices only.
Is it legal to scrape Kitapyurdu?
The Actor reads only publicly visible book data, never logs in, identifies itself in the User-Agent and follows Kitapyurdu's robots.txt (it closes only admin, system, image and download paths). It never solves CAPTCHAs and never bypasses bot protection; it connects through Turkish residential IPs because the site refuses datacenter IPs, and if the site still refuses requests the run ends and says so. You are responsible for using the data in line with Kitapyurdu's terms of use, copyright rules for covers and descriptions, the Turkish personal-data law (KVKK) and other laws that apply to you. This is not legal advice.
FAQ
Can I get the ISBN? Yes, with Include book details. The listing pages alone do not show it.
Can I scrape a whole category? Yes. Raise Maximum books and Maximum pages per URL. At 100 books per page a 10,000-book category is 100 requests.
Do I need my own proxy? No. The Actor uses Apify Proxy residential IPs in Turkey by default because Kitapyurdu answers datacenter IP addresses with HTTP 403. The cost is included in the price of a result. If the site still refuses the connection, the run ends and says so.
Why is ratingStars a whole number? It is the star icon count on the listing card. Use detail mode for the exact average.
Can I run it from n8n, Make, Zapier or Google Sheets? Yes. Every Apify Actor can be started through the Apify API and its integrations.
Found a problem? Open an issue on the Actor's Issues tab with the run ID and the URL.