Roman Milyushkevich: Co-Founder of HasData on Building a Startup
Roman is an entrepreneur, incredibly curious, an engineer, a father of two, and, as it relates to this podcast, he’s the co-founder of HasData.com — a brand that I’ve personally invested in.
Roman used his experience in developing web scrapers for various clients and with his co-founder, Sergey, built a web scraping API — now many APIs — that would be an easy-to-use no-code tool for marketers, e-commerce sites, real estate professionals and more.
In this episode we talk about his entrepreneurial journey, what HasData is, who uses it, who should use it, and what’s next for the brand.
If you’re an SEO geek, a digital entrepreneur, or you own a marketing agency, then this podcast is, most likely, for you.
Welcome, Roman.
Favorite Roman Milyushkevich Quote
“At the very beginning, we closely followed our competitors and tried to replicate their features. And I wouldn’t recommend doing this in the long run. It could be okay in the very beginning, but I realized we have different customers with different needs. So listen to your customers and their needs.” – Roman Milyushkevich
Additional Resources
Full Transcript of Our Conversation
Introduction: Meet Roman Milyushkevich
00:00.72 – Brian David Crane
Please welcome Roman Milyushkevich. He’s an entrepreneur, an incredibly curious guy, an engineer, and a father of two. And as it relates to this podcast, he’s the co-founder of HasData dot.com. It’s a brand which I’m an investor in. So we’re going to be talking about his entrepreneurial journey, what HasData is, who uses it, and what’s next for the brand. If you’re an SEO geek, if you’re a digital entrepreneur, or you own a marketing agency, then this podcast is most likely for you.
00:29.82 – Brian David Crane
Welcome, Roman, glad you’re here.
00:32.27 – Roman Milyushkevich
Thanks, thanks for having me. Glad to be here.
00:36.21 – Brian David Crane
So tell me a little bit about how you co-founded HasData. What’s your journey into being a SaaS business owner?
How HasData Began
00:46.82 – Roman Milyushkevich
I had a lot of experience in building web scrapers prior to HasData. I faced many many challenges related to web scraping development myself, such as avoiding captures, bot detection software, proxies, management, and scaling.
01:07.27 – Roman Milyushkevich
And at the same time, I was running an outsourcing company, and we had a client. It’s a digital marketing agency ,and they reached us. They wanted us to build a SERP rank checker for internal purposes. They were tight on budget and couldn’t afford their own SERP rank checker and wanted to use an external API provider.
01:36.06 – Roman Milyushkevich
So ,I told them we have a SERP API. We haven’t had it yet. We negotiated a monthly price for the volume of the request,and they agreed. So, while my outsourcing company started developing the product, I started working on my own product to serve their SERP scraped needs. So this is like this for sale, Kickstarter HasData development. Yes, that’s that’s the story.
02:07.25 – Brian David Crane
Yeah. So you had a customer in hand before you had a product.
02:10.64 – Roman Milyushkevich
Yes.
02:11.55 – Brian David Crane
Yeah. And what are some of the challenges between captures between proxies? You know, like assessing the tech, that the audience listening is pretty technical.
02:22.97 – Brian David Crane
What, what, why is the script, why is web scraping so difficult?
Why Web Scraping is Difficult
02:29.38 – Roman Milyushkevich
On the modern web, there are a lot of heavy JavaScript websites, and you can just make a simple HTTP request and get HTML back. You need to run a browser on the server, and like we are running to to scrape something, we are running like a regular Chrome browser — imagine Chrome taking up a lot of resources. So the first challenge is that it’s hard to scale. If you need to scrape thousands, hundreds, hundreds of thousands of pages, you need to run thousands of Chrome browsers. And it’s very, like, very expensive.
03:18.66 – Roman Milyushkevich
And you need to know the technical stuff to deploy these browsers. You need to be not only a software engineer but also a little bit of a web expert. The second challenge is captured.
03:33.29 – Roman Milyushkevich
We are living where CloudFlare serves almost half of the internet. And maybe you notice that when you visit some website, you have this Cloudflare CAPTCHA, or Cloudflare, interstitial like they’re checking your browser. So, like, they’re doing these background checks and analyzing a lot of stuff, like your browser headers, your fingerprint, your IP address, and decide whether you are a legitimate user or a bot. And when you’re developing a scraper, you need to pretend to be a real user.
04:18.85 – Roman Milyushkevich
And you can’t with the same set of headers or the same version of the browser. You can make a lot of requests because they will catch you very fast. They will notice that, like, one single computer is doing a lot of requests, and they just block you so that’s the second challenge you need to randomize your settings and third challenge eight.
04:49.10 – Brian David Crane
And then, sorry, before you get to the third challenge, the reason the second challenge is important is because these website owners are in a position where they are spending money on bandwidth, server costs, XYZ. They have data that they view as proprietary, but yet it’s public. So, you know, you’re in this dynamic where they don’t want you to have this data, yet you’re legally allowed to have it. Is that right?
Ethical Web Scraping
05:20.13 – Roman Milyushkevich
Yeah. And so also a good point about the costs. A lot of sites nowadays are deployed on cloud platforms, and they charge you by how many resources, depends on how many cloud computing resources you use. And if you are serving a lot of requests to just bots you will end up with a big deal and without having real users actually it’s also important to not like when you are scraping some site you need to scrape it carefully and Do not overload target website servers. Do not send a sound request a second
Proxies and VPNs Explained
06:14.22 – Brian David Crane
You need to be delicate, and you need to be distributed.
06:16.23 – Roman Milyushkevich
Yes, and saying about the third challenge is its proxies, and the same as the fingerprint or bot detection system checks your IP address, and if you are making a lot of requests from the same IP they will block you eventually, there are two groups of IPs. I will split them into two groups. It’s a data center IPs and residential IPs. Data center IPs coming from data centers owned by Google, Amazon, and other hosting providers and residential, these are IPs that real users use from their phones, laptops, et cetera.
07:10.13 – Roman Milyushkevich
Uh, for example, in Cloudflare, you can just enable these settings to block all data centers. Uh, so, and most likely you will.
07:20.73 – Brian David Crane
Even if they’re coming from a unique user, like just basically say, yeah.
07:22.95 – Roman Milyushkevich
Yeah. Yeah. So they just cut off entire data center pieces. That’s it. Uh, and yes, that’s correct.
07:31.23 – Brian David Crane
This would then also impact people who are using VPNs because when they come in on a VPN, and it pops up through a data center, Cloudflare is automatically going to block them.
07:40.85 – Roman Milyushkevich
Yes, that’s correct. A lot of VPNs deployed like their exit nodes deployed on some cloud providers like Amazon and Google.
07:53.05 – Brian David Crane
Yeah, okay, and then what about on the residential proxy side? Do you want to talk about that?
07:57.34 – Roman Milyushkevich
Yes, so residential proxies. So there are a lot of things, like how do they get, like how do proxy providers obtain residential proxies?
Residential Proxies Uncovered
08:09.27 – Roman Milyushkevich
So this is like a big question.
08:11.27 – Brian David Crane
I’m dying to know.
08:12.95 – Roman Milyushkevich
Yeah, so two, like two things.
08:13.38 – Brian David Crane
Really?
08:17.91 – Roman Milyushkevich
First, like legitimate obtaining residential addresses and hidden obtaining of residential IP addresses.
08:29.53 – Roman Milyushkevich
Legitimate is exchanging your internet bandwidth for free use of some app. For example, there is a BrightData data proxy provider, and they distribute their own app, BrightVPN, and it’s free.
08:49.73 – Roman Milyushkevich
And in exchange for a free VPN, users share their internet bandwidth. And to use like users, they are exit nodes for web scraping. So, of course.
09:01.41 – Brian David Crane
BrightVPN is a desktop piece of software that’s running on the local user’s machine, right? Just on the desktop. It’s not on their phones or it’s also on their phones.
09:12.28 – Brian David Crane
So okay, yeah.
09:13.21 – Roman Milyushkevich
It’s on desktop only.
09:16.38 – Roman Milyushkevich
They also have SDKs for third-party app developers who want to earn more money for their app and who are looking for ways to monetize their user base.
09:28.20 – Roman Milyushkevich
I think it’s working.
09:29.73 – Brian David Crane
And how does that work in practice?
09:32.31 – Brian David Crane
Sorry to interrupt you. Like how do like Basically, if you have an app and you may implement this Bright SDK, what does the user see or what do they experience when they’re using your app?
09:44.65 – Roman Milyushkevich
So usually, these apps have some warning and note in terms of use that they will use your phone and internet boundaries for scraping and they must agree to this in order to use the app.
10:10.49 – Brian David Crane
Is there a particular app that comes to mind that you have seen that is using Bright SDK? The reason I go there with this question is I’ve seen a lot of these games that have millions of users.
10:17.00 – Roman Milyushkevich
No I…
10:24.79 – Brian David Crane
People don’t seem to spend any money inside of the app. They don’t really make a lot of money from advertising, and then I suspect that they are implementing the Bright SDK as a means of monetizing their users’ bandwidth or their users’ mobile connections without the user necessarily knowing it or being aware of it. I don’t know if that’s true or not.
10:47.24 – Roman Milyushkevich
I haven’t seen such apps for iOS, but definitely, there are some apps for Android because Android API allows you to do this. On Android devices, you can install apps outside of the Play market, which is not possible for Apple devices. And I think the app with such an SDK will never get into the App Store. But I don’t have in mind any Android apps with such an SDK.
How HasData Helps Businesses
11:28.22 – Brian David Crane
Got it. Okay. Yeah. Okay. So then, what is the, so then if I understand correctly, like HasData as a business sits between, uh, these proxy providers, let’s say, and the end user and basically helps the end user either get the data they want or have it in an API format, which allows them to, consistently I’ll capture the data that they’re looking for. Is that right?
11:58.33 – Roman Milyushkevich
Yeah, correct. The problem with proxy providers is that a lot of them are just resellers of bigger guys like BrightData data, and they charge more. And sometimes it’s not obvious whether they have their own proxy pool or they just resell in BrightData data. So when I research proxy providers, I like to go to LinkedIn, find them looking at the number of employees if it’s less than 10, I think and they most likely are resellers. Because it’s very difficult to build your own proxy pool. You need someone on the team who understands how to build proxy servers and how to build desktop apps.
12:45.19 – Roman Milyushkevich
It’s unlikely that the company with a couple of employees and three of them are sales will build their own proxy, and that’s said be yeah yeah. And that’s also a big effort to research and validate proxy providers because, like a piece of one, proxy providers might work for some specific websites but for others they will not.
12:58.47 – Brian David Crane
Well, they also have to get people to install the app right or install the desktop application.
13:19.11 – Roman Milyushkevich
And so you usually need to use a couple of proxy providers for multiple targets or even a couple of proxy providers for one target.
13:34.03 – Brian David Crane
Yeah. Okay. And so then when you look at the product offering on HasData, you’ve got, you know, things like Google search results, Shopify, Amazon, Zillow.
13:47.41 – Brian David Crane
Do you need to use different proxy providers for those different websites? Because let’s say Shopify is very good at blocking BrightData, but they’re not very good at blocking, you know, another proxy provider. Is that accurate?
14:07.59 – Roman Milyushkevich
Yes, that’s accurate. Also, now imagine, like, let’s say BrightData has one million IPs, but they also have a lot of clients. And most likely these clients are using the same IPs for scraping the same target website. So, these IPs will be flagged by the target site system. So you can’t use BrightData Data for scraping, for example, Google search.
14:36.52 – Roman Milyushkevich
And you’re going to use another proxy provider, like which IPs are not, like, yeah, yeah, for some specific target website you are scraping.
14:45.24 – Brian David Crane
Getting abused by everybody else. Yeah.
14:50.18 – Brian David Crane
Yeah. Yeah. It’s a bit of a, to me HasData sounds like a two-sided marketplace in the sense that it’s not really a two-sided marketplace, but it’s this intermediary that charges the customer for the service of basically saying HasData is going to figure out which proxy provider and which, uh, well, which proxies are going to get you the data that you’re looking for basically.
15:17.12 – Roman Milyushkevich
Yeah, yeah. And scaling as well because everything runs in the cloud, and we are handling browser scaling on our own.
15:17.86 – Brian David Crane
Yeah.
15:27.96 – Brian David Crane
Cool. Okay. So then, all right. Let’s assess that I’m in, you know, I’m, I’m involved in SEO. Uh, why would I be using HasData, right? Like, what’s the benefit to, well, what’s the benefit to the Google SERP API, which I think is a popular product for y’all, as opposed to, like, like, why do I need it?
Automating SEO with SERP API
15:48.79 – Roman Milyushkevich
Yeah, so the main, one of the main products of HasData is Google SERP API. We provide Google search result pages in the format that can be used for SERP.
16:04.74 – Roman Milyushkevich
We mainly serve businesses working in the area of marketing, mostly sales agencies SEM agencies. And think of Google as a database of all the information on the internet, and you can programmatically access it and get the results in a format the computer can understand and developer developers can use it. So, a very common use case is how agencies do back-checking for their clients.
16:39.59 – Roman Milyushkevich
It’s very useful for big agencies that have more than, let’s say, 100 clients. So agencies provide regular, like weekly, monthly reports to their clients. The cost of traditional tools like refs will be very high, plus there is a limited automation opportunity. And these companies are looking to automate their reporting.
17:08.12 – Roman Milyushkevich
because they have a lot of clients and it’s very time consuming to prepare such a big amount of reports. So they use our API and their internal toolkit to build these reports for their clients and also to mentor their own work, whether the site is moving in the right direction or not in terms of service.
17:31.44 – Brian David Crane
Yeah, because I’m thinking, as a business owner, I wouldn’t. It’s great, like, you know, this agency that I’ve hired gives me a report that says our SERPs are going up or down or sideways or whatever. And I’m like, that’s okay, cool. Thank you for that. How does that translate into action steps for you as the agency, like the one that you’ve hired? And it’s been said at the end that some of these eight agencies are actually then tasked not only with reporting but also taking action based on what’s in their reporting, right? Like, so they the the reporting is one part of,
18:05.86 – Brian David Crane
The way that they justify the cost or whatever they’re charging to these companies, right?
18:13.58 – Brian David Crane
Yeah. So then, so then some of the other use cases are like, what are the other scrapers? What are the other APIs that are popular on HasData?
18:24.01 – Roman Milyushkevich
I want to talk more about Serp API because I want to highlight some use cases. So for example, we have a client that provides.
18:32.18 – Brian David Crane
Please.
18:39.77 – Roman Milyushkevich
Service that does plagiarism checking, yeah so imagine you have a text so you can split it into smaller chunks and google each small chunk, and if this small chunk of text appears somewhere like on the SERP most likely it’s a plagiarism so it’s another use case of using SERP API
18:43.03 – Brian David Crane
That is plagiarism taking out. Okay.
19:06.93 – Roman Milyushkevich
And yeah, and another use case, it’s SaaS companies that help other companies with SEM research.
19:06.94 – Brian David Crane
Pretty clever.
19:18.11 – Roman Milyushkevich
Using Google SERP, you can find trending content on platforms like TikTok, Instagram. They can find videos for given keywords, and they can even process these videos, like,
19:36.86 – Roman Milyushkevich
Using large language models and video-to-text APIs, they can extract text from the video, analyze brand mentions in the videos, and provide analytics to the brand owners.
19:55.71 – Brian David Crane
Yeah, but that’s, so that is, yeah, still going through the Google ecosystem. So it’s basically like, it’s constantly using, you’re using Google to then find these different data, so data points or data sets on a place like TikTok or a place like Instagram. What about if the brand owner wants to know?
Scraping Social Data via Google
20:20.33 – Brian David Crane
Yeah. Are you, let me say this a different way. Are you doing that because you cannot, uh, reliably scrape Instagram directly or TikTok directly.
20:30.79 – Roman Milyushkevich
You can’t. You will be bound.
20:34.33 – Brian David Crane
So the way around it is to basically go in through Google and see what Google has crawled and indexed on tick tock or on Instagram for specific terms.
20:43.44 – Roman Milyushkevich
Yeah, and also, like for Instagram,and for TikTok, you will need two scrapers, one for Instagram and one for TikTok. But if you scrape in Google, you just need Google scraper, that’s it.
20:57.96 – Brian David Crane
Got it. OK. So yeah, it’s basically saying, OK, cool. This site, Google is able to crawl it. So therefore, we’re going to leverage Google to get at the data that Google has been able to crawl.
21:07.53 – Roman Milyushkevich
Yeah.
21:08.32 – Brian David Crane
Yeah. And then what about inside of the SERP API? How is HasData dealing with, you know AI, Gemini, shopping results, and paid search results?
21:20.61 – Brian David Crane
Because that’s different. Yeah. You might have a digital marketing agency who’s really focused on paid. Are you able to scrape paid results as well and see what, who is paying for what in particular locations, or whether it’s on mobile versus desktop?
21:39.57 – Roman Milyushkevich
Yeah, we have Google Shopping API and Google Product API. And it allows companies that do price monitoring to scrape prices. Google Shopping and Google Products, provide prices from various sources for a single product. And again, you don’t need to develop a lot of scrapers to scrape Amazon, eBay, and other sites. You just need one scrape,r and you can pull prices from all these websites because Google did it for you. We also have Google News API, Google Events API, Google Images API, Google Maps API.
22:30.56 – Roman Milyushkevich
Like almost everything that we will provide.
22:35.94 – Brian David Crane
And why is it that you, out of curiosity, you scrape Google Maps, and somebody comes and says, hey, I need HVAC, you know, or lawyers in, I don’t know, Barcelona, Spain? So they’re looking for a data set around lawyers in Barcelona, Spain. Abogados there.
22:58.72 – Brian David Crane
Why doesn’t Google give them the data that they have inside of Google Maps? Why is it that you need to use a third party service to get that kind of information?
23:12.01 – Roman Milyushkevich
It’s a hard question. I don’t know the real reasons behind that.
23:20.84 – Brian David Crane
Because it’s the best, yeah, it’s weird. To me, it’s a weird dynamic because of Google. The data in Google Maps is accurate, and yet the only way to access it is via Google Maps,and you’re not able to export it to build a sales pipeline or buy, or you’re not able to export it via Google Maps with their blessing, let’s say, right?
23:45.77 – Roman Milyushkevich
Yeah.
23:49.27 – Roman Milyushkevich
Well, I don’t know. I don’t know. So it’s for me. It sounds like they are trying to protect their data. And so they don’t want to be, you know, Google Maps, it’s like community driving mostly, like community out there, like businesses, open hours and stuff like that. and so one of the reasons is maybe Google doesn’t want to be responsible for the inaccurate data. So, like, say like maybe they don’t want to take money for the inaccurate data because someone maybe will then complain, like, why are you selling inaccurate data. So he’s one of the reasons, but I’m pretty sure there are many more reasons.
24:38.51 – Brian David Crane
Makes sense. So then, what about the data sets or the no-code scrapers? What’s the story with those on HasData? What is a no-code scraper when I say that?
24:50.03 – Roman Milyushkevich
For all APIs, we have an equivalent of no code scraper for users who don’t need an API or, who don’t know how to use it or who don’t even know what an API is. So this is an audience of our no-code scrapers. We provide a simple interface where users can enter keywords they want to scrape, like some parameters filtering, like results limit, location, and setup, and click one button, wait a little bit, and download a CSV file or Excel file.
25:35.50 – Roman Milyushkevich
We have a lot of customers using our Google Maps scraper for sales purposes. These are businesses who sell to other local businesses that are on Google Maps.
25:51.96 – Brian David Crane
Yeah, I think one thing you said, though, is that they’re using HasData as Google Maps scraper, but they don’t necessarily even know that all they know is that they’re getting the data that they need.
26:03.01 – Brian David Crane
All they know is they get in the day that they need, basically. So they come, and they say, okay, cool. Like the lawyers in Barcelona, for example, they’re not, maybe you explain to them how you’re getting it.
26:14.54 – Brian David Crane
Maybe you don’t. All they care about is that they have a CSV file that answers the question they’re asking, which is how do I get a list of all the lawyers in Barcelona, right?
26:28.64 – Roman Milyushkevich
So in the case that I described, people know they’re using Google Maps, no code scraper, because it’s Google Maps, no code scraper.
26:35.06 – Brian David Crane
Good.
26:36.86 – Roman Milyushkevich
And the case you described, I think it’s our, that data sets offer. And yes, in that case, like we do not say the source of the data, but we are using many sources.
26:49.12 – Brian David Crane
Yep.
26:52.91 – Roman Milyushkevich
In all our data sets, we provide emails, and Google Maps does not have email.
26:54.98 – Brian David Crane
Hmm.
26:59.17 – Roman Milyushkevich
In their listings. So we’re using various and multiple sources to crop this data, and for some datasets, we’re using Google Maps in combination with web scraping. For some datasets, we don’t even use Google at all.
27:16.30 – Brian David Crane
Got it. Yeah. Okay. Makes sense. And who, yeah, makes sense. So then where, what’s what’s, what’s the, what’s the follow-on question to that? Because basically, yeah, why, but let’s talk about the legality or the ethics of web scraping. Why does somebody like Google not want you to scrape their data?
Legal and Ethical Challenges
27:45.31 – Brian David Crane
And what are the court cases around it?
27:49.27 – Roman Milyushkevich
So, in my opinion, everything that is publicly open and not behind the login wall or paywall can be scraped.
28:02.24 – Roman Milyushkevich
And because it’s public data. Like Google scrapes the whole internet, every website.
28:06.39 – Brian David Crane
They crawl it. They would argue they crawl it, right?
28:07.54 – Roman Milyushkevich
So why don’t we do that?
28:08.65 – Brian David Crane
Like, yeah.
28:13.12 – Roman Milyushkevich
It’s not a monopoly for Google to scrape the web, and we can do it as well.
28:21.36 – Brian David Crane
And if you’re a website owner, what’s to say there have been cases where BrightData data was in a lawsuit in the US around the legality of web scraping, right?
28:31.61 – Roman Milyushkevich
Yeah, and yeah, they want it as far as they know.
28:35.37 – Brian David Crane
Yeah, because it was deemed to be that it was public information, it was published publicly, so therefore.
28:40.35 – Roman Milyushkevich
Yeah. If you publish it on your website, it’s a public page, so you allow everyone to like it, and everyone can access it.
28:50.90 – Brian David Crane
Yeah. Okay. All right. So then, what do you see as but for 2025? Like, you know, you’re running the SAS company. What, what, what were the learnings? Like, what was, what did you learn in 2024? As far as you know, let’s say product market fit. And what are you hoping for in 2025?
Lessons from 2024
29:12.69 – Roman Milyushkevich
A lot of learnings this year, so I can feel that our ship fast, let’s call it culture, worked well.
29:28.76 – Roman Milyushkevich
So me being the technical co-founder and also product lead at the same time allows us to quickly develop some new features and by quickly, I mean like the same day, like in the morning, we had an idea and in the evening, it’s deployed in production.
29:44.90 – Roman Milyushkevich
So yeah and then see how this feature is used by our customers.
29:47.17 – Brian David Crane
Cool.
29:54.38 – Roman Milyushkevich
And then we can improve it gradually or/or remove it completely.
29:59.65 – Brian David Crane
Are there certain products that you’ve, that you’ve removed completely or ones that you’ve decided to improve gradually, like one that did better than you expected?
30:11.14 – Roman Milyushkevich
It was everything related to no code scrapers. We improved them consistently, like optimized parameters and parameters naming, so non-technical users better understand how to get data as they want.
30:28.38 – Brian David Crane
Yeah, because I’m envisioning somebody on the no-code scraper side who, you know, if they’re let’s, let’s say, for instance, they’re in real estate, and they are, they know they need this data, they don’t know how to code, but they can, they can use the no code scraper to get at the pieces of data that they would like.
30:48.09 – Brian David Crane
Without necessarily having a technical background or even needing to understand what an API is. Is that the benefit?
30:53.76 – Roman Milyushkevich
Yeah.
30:54.56 – Brian David Crane
Yeah. Okay. And so then what, what, what do you, what do you see like, you know, what didn’t work in 2024? What was, uh, what was surprising to you? That was, uh, I’ll call it a failure, but like, yeah, it just didn’t work.
31:07.17 – Roman Milyushkevich
So I try to learn from every failure, and I don’t consider such things as they have not worked for us. They work but in the opposite direction.
31:23.20 – Brian David Crane
You learned what didn’t work.
31:24.51 – Roman Milyushkevich
At the very beginning, we closely followed our competitors and tried to replicate their features. And I wouldn’t recommend doing this in the long run.
31:39.73 – Roman Milyushkevich
It could be okay in the very beginning, but I realized we have different customers with different needs. So listen to your customers and their needs.
31:50.51 – Roman Milyushkevich
And so this is what I like, like what didn’t work, like following competitors that didn’t work for us.
31:57.88 – Brian David Crane
Yeah.
31:59.63 – Roman Milyushkevich
And listen to our customers. And I’m the customer. I’m like the customer of our own product. I use it very, very often. I listen to myself, like scraping something and facing some new challenges and we implement it in our product as well, or optimizing some workflows.
32:23.27 – Brian David Crane
And how do you find it as the technical co-founder and the product owner? like Is your team spread out? Is it all in one office? How do you manage the team?
32:36.95 – Roman Milyushkevich
We have a team of five people, three team members working in engineering and two team members working in the marketing department. We are all in the same office in our city in Grodna, and so every teammate is pretty autonomous, I would say.
33:11.09 – Roman Milyushkevich
So we have weekly meetings which we like which we are used to creating a plan for the next week and that’s it.
33:19.19 – Brian David Crane
Sick. Yeah.
33:24.34 – Roman Milyushkevich
Everyone likes to have a task after this meeting, and they’re working on it. From the software engineering process.
33:37.99 – Roman Milyushkevich
Like us, we have automated tests.
33:42.43 – Roman Milyushkevich
So everyone from the engineering team, including me, like, uh, must include automated tests, uh, like in every code change in every new feature. Uh, so we like ensuring quality and, uh,
34:02.14 – Roman Milyushkevich
And, like if some check fails, like not like it won’t get on on production. And using these automations, I don’t have to manage to and to oversee someone’s work and stuff like that. It just works.
34:24.03 – Brian David Crane
What are you? What are you building on? What’s the software stack that HasData built on?
34:28.01 – Roman Milyushkevich
We are using the backend version Node.js and Go, on the frontend version React.js.
34:36.64 – Brian David Crane
Okay. You’re happy with both of those choices.
34:40.91 – Roman Milyushkevich
Yeah, like, I’m working with this tech stack for more than the whole of my career, ten years. Everyone on the team likes using this tech stack and is familiar with it.
34:59.62 – Roman Milyushkevich
So it was an obvious choice for us, what text tech to use.
34:59.71 – Brian David Crane
So what’s coming?
35:02.86 – Brian David Crane
Yeah. Well, especially because you already had a customer waiting on you to provide a product. And so you’re basically like, cool, what are we going to do? We’re going to build a software language that we are already familiar with.
35:11.00 – Roman Milyushkevich
Yeah, I didn’t have time to experiment with his different software languages.
35:21.27 – Brian David Crane
Are you seeing, Are you seeing any of the customers for HasData do anything in AI, or are you seeing a use for AI? How does that fit in with web scraping and basically data collection and aggregation?
35:37.84 – Roman Milyushkevich
So, I want to share my own AI experience and combination with this HasData.
35:45.47 – Brian David Crane
Yeah.
35:46.02 – Roman Milyushkevich
I got a little carried away with scripted trading, and I was curious if ChatGPT or another large language models make trading decisions.
35:58.27 – Roman Milyushkevich
Large language models are very good at analyzing text and the sentiment of the text. So my idea was I could pull news about some specific cryptocurrency, monetize it, analyze sentiment, and make a trading decision based on the new sentiment.
36:18.47 – Roman Milyushkevich
I was using this data for pulling news from Google, extracting article content, and then passing it to ChatGPT. And so I invested.
36:29.48 – Brian David Crane
To analyze sentiment.
36:31.34 – Roman Milyushkevich
Yeah, I invested in the S&P 500 and lost them due to bad trading decisions. But it was a fun experiment.
36:45.80 – Brian David Crane
Yeah, okay. So, are there customers as data who are using the data to supplement their AI endeavors in some way or another? You know, LLM is one part of AI. Are there others for image creation or for, I don’t know, like what are they using? Is there anybody who you look at and go to? This is an AI company that is using the data that we’re able to provide via HasData to achieve their business goals.
37:18.84 – Roman Milyushkevich
It’s not like a direct use of, let’s say, Google SERP data and then pass it to the chat GPT.
37:29.29 – Roman Milyushkevich
I like One of the use cases is, for example, that there are companies and services that help you with article creation. So what they do, you give them a keyword or some specific, like, what do you want to write about?
37:51.49 – Roman Milyushkevich
And so they ask you.
37:51.53 – Brian David Crane
Yeah.
37:53.23 – Roman Milyushkevich
And using our SERP API, they pull a search result. So for this keyword, pull the articles, analyze them using chat GPT, and suggest what to write about.
38:08.05 – Brian David Crane
Yeah. They’re basically using it as a research assistant, let’s say.
38:11.91 – Roman Milyushkevich
Yeah.
38:12.61 – Brian David Crane
Yeah. Yeah. Okay. And what’s funny then is like, okay, cool. HasData is helping them with that. But then on the same side, if they’re plagiarizing it, HasData is also helping, uh, helping them be caught, let’s say, right?
38:24.06 – Roman Milyushkevich
Yeah.
38:26.98 – Brian David Crane
Two sides, the same coin. Cool. So, in 2025, what’s on the roadmap?
What’s Next for HasData
38:33.12 – Roman Milyushkevich
Yeah.
38:33.00 – Brian David Crane
What are you excited about? You know, in your entrepreneurial journey with HasData.
38:38.79 – Roman Milyushkevich
So, I’m excited that we hit our MRR target. And in 2025, we will continue to add new Google APIs. We want to cover Google Flights API and Google Hotels API.
39:01.06 – Brian David Crane
I would be a user.
39:03.15 – Brian David Crane
I use Google Flights a lot. I would be a user of that.
39:06.59 – Roman Milyushkevich
Yeah, another item in our roadmap is to… like, we want to focus more on our content creation, on the education of users.
39:25.77 – Roman Milyushkevich
about how to scrape some particular website using different languages using like Python, JavaScript, and others so like we are doing this right now, and we will continue to do this in 2025 yeah, also, we are developing our own proxy pool, so we don’t want to depend on external proxy providers and use our exclusive IP addresses.
40:06.40 – Brian David Crane
Yeah, to get out of the pool where all the other unwashed masses are coming in and abusing those IPs, right?
40:14.86 – Roman Milyushkevich
Yes, yes, exactly.
40:15.79 – Brian David Crane
Yeah. Yeah. Yeah, cool. I think that watching HasData grow, watching the team coalesce at the speed at which, yeah, you’re able to, let’s say, iterate and change directions and tweak based on what’s coming from from customer feedback. It’s really encouraging. I’ve just been impressed with the brand, how quickly you’ve all been able to move, and your leadership of it. So kudos to you on that.
40:52.67 – Roman Milyushkevich
Thanks, thanks, I appreciate hearing that.
40:55.45 – Brian David Crane
Yeah, if people, yeah, if they want to test out HasData, if listening to this, they’re like, cool, like I either want to try one of the existing APIs, or I want a custom scraper, or like, what’s the best way to get in touch? What should be their next step? They need to go to the website. What should they do?
41:18.64 – Roman Milyushkevich
If someone wants to create a custom scraper or get a custom dataset, yes, we will have forms on the website where you can fill in all the necessary information. Like If you want to develop a custom scraper, you need to let us know the target website or website’s data points you’re looking for.
41:46.99 – Roman Milyushkevich
And you fill the form, and we will reach out to you soon and yeah and talk and because custom scraper yeah it’s not easy to build and like there are many, many factors, do you need a regular data scraping or is it just one time scraping.
41:59.15 – Brian David Crane
It’s not easy, let’s say.
42:14.05 – Roman Milyushkevich
Do we need a section of data, or do we need to scrape the whole dataset again? Do we need some data post-processing, like translating, analyzing articles, and extracting some data? Like entities from the raw text, do you need to save images, or just links to the images will be enough? So many, many, many factors.
42:50.35 – Brian David Crane
And we way as you’re doing this, as you’re working on these custom scrapers, somebody comes in on an as-needed basis or ad hoc basis. Have you and you found that these things actually lead to new businesses or they lead to new areas? Or is it entirely like you know you do it one off, and then you never ever get to touch the code again, let’s say?
43:14.85 – Brian David Crane
Not the best way to put it, but like that,it’s so esoteric somebody comes to you and says. Yeah, like that they have any of these developed into long-standing products that now you have on HasData.
43:28.85 – Roman Milyushkevich
We have like, I observe our customers observe their businesses and. Like I saw a lot of customers grow up with such customers that started small, say as some of the customers started with the smallest plan, like 49 months, and now they are sitting on the custom enterprise plans because their products grew brute and they need more data from us.
43:52.82 – Brian David Crane
Mm hmm.
43:56.34 – Brian David Crane
Mm hmm.
44:05.56 – Brian David Crane
Got it. Yeah. Let’s talk about growth then for a second. Like what has been, you know, we’re now in, I don’t know, year two, year three, I don’t know of this border conflict between Russia, Ukraine, Belarus has gotten involved on the side of Russia, has come under sanctions as a result of it from basically been barred from the Western financial system to a large degree, not entirely like would have been some of the challenges in terms of building a software team and running this from Belarus.
44:43.24 – Roman Milyushkevich
The main challenge was economic isolation and many customers just refused to work with the Russian companies because of sanctions. Some of them made this decision because of some like Just because they don’t like what the Belarus government does.
45:11.68 – Roman Milyushkevich
So that was a big issue.
45:11.90 – Brian David Crane
Yeah.
45:15.02 – Roman Milyushkevich
It was very hard to run a sourcing company these days because you need to pay people’s salaries. And you don’t know if the bank will allow the money transfer from your client in Europe or the US.
45:32.20 – Roman Milyushkevich
And so it was very, very stressful. It was a big challenge. We sold that company to the bigger outsourcing company that has offices across the whole of Europe so they can easily send money between their business entities.
45:55.73 – Roman Milyushkevich
Retry if something like some payment fails or try sending money from another business entity in a different country it was a growth strategy to buy smaller companies and I am happy about that decision.
46:17.89 – Brian David Crane
To sell, to sell to the other company.
46:18.78 – Roman Milyushkevich
Yeah, yeah.
46:19.78 – Brian David Crane
Yeah.
46:22.09 – Roman Milyushkevich
And it was also a fun experience, like the first acquisition, I went through the process, all that, like providing data, negotiations, stuff like that.
46:34.61 – Roman Milyushkevich
So it was pretty fun. You don’t do this every day.
46:41.76 – Brian David Crane
You learn, and you get your stripes, as we would say. That’s like you earned your stripes doing it.
46:44.99 – Roman Milyushkevich
Yeah, yeah. Yeah, so this was the main challenge, like isolation.
46:56.01 – Brian David Crane
Yeah. Yeah. Economic isolation, right?
46:58.46 – Roman Milyushkevich
Yeah.
46:59.23 – Brian David Crane
Yeah. All right. If people want to follow you personally or they’re interested in getting in contact with you, Roman, what do you recommend that they do? If they want to check out HasData, it’s h-a-s-d-a-t-a dot com.
47:12.14 – Brian David Crane
What like, what do you, what would somebody who’s listening to this, what would you like them to do?
47:18.85 – Roman Milyushkevich
Contact me by email, Roman, at HasData dot com.
47:22.61 – Brian David Crane
Yeah.
47:26.49 – Brian David Crane
And they can contact you in English, Russian, or Belarusian. I don’t know.
47:32.84 – Roman Milyushkevich
Yeah, any language. I will use Google Translate.
47:39.37 – Brian David Crane
So if you need, uh, if you need data, Roman is your guy. Okay.
47:43.16 – Roman Milyushkevich
Yeah.
47:44.33 – Brian David Crane
Thanks for joining me and talking to you offline.
47:48.74 – Roman Milyushkevich
Thanks, have a good day.