Ekşi Sözlük, a vibrant community-driven platform, lacks a robust and freely accessible API. To bridge this gap, we present the Ekşi Sözlük Scraper, designed to facilitate seamless data extraction and analysis from this popular Turkish platform.
Flexible Keyword Search: Effortlessly search for any keyword and retrieve relevant entries. Refine your search with options like author name, specific date ranges, and sorting orders to pinpoint the information you need.
User-Centric Scraping: Dive deep into users' contributions by scraping entries made by specific individuals, gaining insights into their perspectives and contributions.
Entry and Topic Scraping: Fetch content from specific entries or gather entries related to specific topics or issues, enabling comprehensive research and analysis.
Customizable Search Parameters: Tailor your search with parameters such as start date, end date, nice-only entries, and search sort order for a personalized scraping experience.
The website has a very strong geo-targeting at the current moment. It allows the requests only from Turkish IPs. Please use custom proxies, or ask Apify team to provide you some.
This scraper is under active development. If you have any feature requests you can create an issue from here.
The input of this scraper should be JSON containing the list of pages on Eksi Sozluk that should be visited. Required fields are:
startUrls
: (Optional) (Array) List of Eksi Sozluk URLs. You should only provide a topics, issues, users or entries URLs.
endPage
: (Optional) (Number) Final number of page that you want to scrape. The default is Infinite
. This applies to all search
requests and startUrls
individually.
maxItems
: (Optional) (Number) You can limit scraped items. This should be useful when you search through the big lists or search results.
searchKeyword
: (Optional) (String) Keyword that you want to search on Eksi Sozluk.
searchAuthor
: (Optional) (String) Keyword that you want to search by author name on Eksi Sozluk.
searchStartDate
: (Optional) (String) The start date you can type when you want to search any date range on Eksi Sozluk.
searchEndDate
: (Optional) (String) The end date you can type when you want to search any date range on Eksi Sozluk.
isSearchNiceOnly
: (Optional) (Boolean) If you want to search nice only, you can set true
. Default setting is false
.
searchSortOrder
: (Optional) (String) The search sort order you can type when you want to sort the results. The default setting is Date
.
Date
: Sorts from new to old.Count
: Sorts from most to least.Topic
: Sorts alphabetically.proxy
: (Required) (Proxy Object) Proxy configuration.
extendOutputFunction
: (Optional) (String) Function that takes a JQuery handle ($) as an argument and returns an object with data.
customMapFunction
: (Optional) (String) Function that takes each object's handle as an argument and returns the object with executing the function.
This solution requires the use of Proxy servers, either your own proxy servers or you can use Apify Proxy.
When you want to scrape over a specific list URL, just copy and paste the link as one of the startUrl.
If you would like to scrape only the first page of a list then put the link for the page and have the endPage
as 1.
With the last approach that is explained above you can also fetch any interval of pages. If you provide the 5th page of a list and define the endPage
parameter as 6 then you'll have the 5th and 6th pages only.
The actor is optimized to run blazing fast and scrape as many items as possible. Therefore, it forefronts all the detailed requests. If the actor doesn't block very often it'll scrape 100 listings in 2 minutes with ~0.01-0.15 compute units.
1{ 2 "startUrls": [ 3 "https://eksisozluk.com/biri/elmyra", 4 "https://eksisozluk.com/basliklar/gundem", 5 "https://eksisozluk.com/istanbul--32102", 6 "https://eksisozluk.com/entry/21381787" 7 ], 8 "maxItems": 20, 9 "searchKeyword": "eksi", 10 "searchAuthor": "ssg", 11 "searchStartDate": "26-07-2013", 12 "searchEndDate": "30-07-2013", 13 "isSearchNiceOnly": true, 14 "searchSortOrder": "Date", 15 "proxy":{ 16 "useApifyProxy": true 17 } 18}
During the run, the actor will output messages letting you know what is going on. Each message always contains a short label specifying which page from the provided list is currently specified. When items are loaded from the page, you should see a message about this event with a loaded item count and total item count for each page.
If you provide incorrect input to the actor, it will immediately stop with a failure state and output an explanation of what is wrong.
During the run, the actor stores results into a dataset. Each item is a separate item in the dataset.
You can manage the results in any language (Python, PHP, Node JS/NPM). See the FAQ or our API reference to learn more about getting results from this Eksi Sozluk actor.
The structure of each item in Eksi Sozluk looks like this:
1{ 2 "type": "entry", 3 "issueUrl": "https:/www.eksisozluk.com/eksi-sozluk-hakkindaki-akademik-calismalar--2131734", 4 "entryId": "110286085", 5 "authorId": "8097", 6 "authorName": "ssg", 7 "authorUrl": "https:/www.eksisozluk.com/biri/ssg", 8 "authorAvatar": "https://img.ekstat.com/profiles/ssg-638271629469815122.jpg", 9 "issueTitle": "ekşi sözlük hakkındaki akademik çalışmalar", 10 "entryUrl": "https:/www.eksisozluk.com/entry/110286085", 11 "content": "web-based macroseismic intensity study in turkey: entries in ekşi sözlük, deniz ertuncay, laura cataldi, and giovanni costa, 2020 <a rel="nofollow noopener" class="url" target="_blank" href="https://gc.copernicus.org/preprints/gc-2020-31/">https://gc.copernicus.org/preprints/gc-2020-31/</a>", 12 "date": "16.07.2020 21:19", 13 "favoriteCount": "17" 14}
Please visit us through epctex.com to see all the products that are available for you. If you are looking for any custom integration or so, please reach out to us through the chat box in epctex.com. In need of support? business@epctex.com is at your service.
Yes, if you're scraping publicly available data for personal or internal use. Always review Websute's Terms of Service before large-scale use or redistribution.
No. This is a no-code tool — just enter a job title, location, and run the scraper directly from your dashboard or Apify actor page.
It extracts job titles, companies, salaries (if available), descriptions, locations, and post dates. You can export all of it to Excel or JSON.
Yes, you can scrape multiple pages and refine by job title, location, keyword, or more depending on the input settings you use.
You can use the Try Now button on this page to go to the scraper. You’ll be guided to input a search term and get structured results. No setup needed!