<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Madhav Adhikari</title>
    <description>The latest articles on DEV Community by Madhav Adhikari (@madhav_adhikari_de0e6617c).</description>
    <link>https://dev.to/madhav_adhikari_de0e6617c</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3926309%2Fb9351633-1382-4d12-8ab9-ccd58860ef72.png</url>
      <title>DEV Community: Madhav Adhikari</title>
      <link>https://dev.to/madhav_adhikari_de0e6617c</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/madhav_adhikari_de0e6617c"/>
    <language>en</language>
    <item>
      <title>I built an email validation API that checks DNS and detects fake emails, free to try</title>
      <dc:creator>Madhav Adhikari</dc:creator>
      <pubDate>Tue, 12 May 2026 06:32:49 +0000</pubDate>
      <link>https://dev.to/madhav_adhikari_de0e6617c/i-built-an-email-validation-api-that-checks-dns-and-detects-fake-emails-free-to-try-56a9</link>
      <guid>https://dev.to/madhav_adhikari_de0e6617c/i-built-an-email-validation-api-that-checks-dns-and-detects-fake-emails-free-to-try-56a9</guid>
      <description>&lt;p&gt;I was building a signup form for a side project. I needed to validate emails. Not just check if there is an @ symbol — actually check if the email can receive mail.&lt;br&gt;
Most free validators only check format. That is not enough. Someone can type &lt;a href="mailto:fake@notarealdomain.xyz"&gt;fake@notarealdomain.xyz&lt;/a&gt; and pass a format check easily.&lt;br&gt;
So I built MailGuard API. It does real checks.&lt;br&gt;
What it does for each email:&lt;/p&gt;

&lt;p&gt;Checks the format&lt;br&gt;
Does a DNS lookup to see if the domain exists&lt;br&gt;
Checks MX records to see if the domain can actually receive email&lt;br&gt;
Detects disposable/temporary email domains (I have a list of 500+ of them)&lt;br&gt;
Detects role-based emails like admin@, info@, support@ — useful if you are building a mailing list&lt;br&gt;
Returns a quality score from 0 to 100&lt;br&gt;
Returns a risk level: low, medium, or high&lt;/p&gt;

&lt;p&gt;There is also a bulk endpoint. You send up to 50 emails in one request and get back a summary with deliverability rate.&lt;br&gt;
Example response for a real email:&lt;br&gt;
json{&lt;br&gt;
  "email": "&lt;a href="mailto:test@gmail.com"&gt;test@gmail.com&lt;/a&gt;",&lt;br&gt;
  "is_valid": true,&lt;br&gt;
  "quality_score": 100,&lt;br&gt;
  "risk_level": "low",&lt;br&gt;
  "suggestion": "Safe to use"&lt;br&gt;
}&lt;br&gt;
Example response for a disposable email:&lt;br&gt;
json{&lt;br&gt;
  "email": "&lt;a href="mailto:fake@mailinator.com"&gt;fake@mailinator.com&lt;/a&gt;",&lt;br&gt;
  "is_valid": false,&lt;br&gt;
  "quality_score": 60,&lt;br&gt;
  "risk_level": "medium",&lt;br&gt;
  "risk_reasons": ["Disposable/temporary email domain"],&lt;br&gt;
  "suggestion": "Use with caution"&lt;br&gt;
}&lt;br&gt;
I built it with FastAPI and Python. No external API — just DNS lookups and logic. Hosted on Render free tier. Total cost is zero.&lt;br&gt;
Free tier is 100 requests per month, no credit card needed.&lt;br&gt;
Link: &lt;a href="https://rapidapi.com/adhikariparzival/api/mailguard-api" rel="noopener noreferrer"&gt;https://rapidapi.com/adhikariparzival/api/mailguard-api&lt;/a&gt;&lt;br&gt;
If something is wrong or you need a feature, tell me in the comments. I am still learning and I will try to fix or add it.&lt;/p&gt;

</description>
      <category>api</category>
      <category>showdev</category>
      <category>sideprojects</category>
      <category>webdev</category>
    </item>
    <item>
      <title>I made a jobs API and put it on RapidAPI, here is what I learned</title>
      <dc:creator>Madhav Adhikari</dc:creator>
      <pubDate>Tue, 12 May 2026 05:25:43 +0000</pubDate>
      <link>https://dev.to/madhav_adhikari_de0e6617c/i-made-a-jobs-api-and-put-it-on-rapidapi-here-is-what-i-learned-430e</link>
      <guid>https://dev.to/madhav_adhikari_de0e6617c/i-made-a-jobs-api-and-put-it-on-rapidapi-here-is-what-i-learned-430e</guid>
      <description>&lt;h1&gt;
  
  
  I made a jobs API and put it on RapidAPI, here is what I learned
&lt;/h1&gt;

&lt;p&gt;I am not from US or UK. Finding job data for my country is hard. Most APIs only cover US or UK jobs and they cost a lot of money.&lt;/p&gt;

&lt;p&gt;So I built my own.&lt;/p&gt;

&lt;p&gt;It is called JobSphere API. It gives you live job listings, salary data, and hiring trends. It covers 10 countries including US, UK, Australia, Canada, Germany, France, India, Singapore, Netherlands, and South Africa.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it does
&lt;/h2&gt;

&lt;p&gt;You send a keyword and a country code. It gives you back jobs.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight http"&gt;&lt;code&gt;&lt;span class="err"&gt;GET /jobs/search?keyword=python+developer&amp;amp;country=us
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You get job title, company, location, salary, description, and apply link. Real data, not fake.&lt;/p&gt;

&lt;p&gt;There is also a salary endpoint. You ask for a job title and country, it tells you the average salary, minimum, and maximum. I found this very useful when I was trying to understand if a salary offer was good or not.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight http"&gt;&lt;code&gt;&lt;span class="err"&gt;GET /jobs/salary?keyword=data+scientist&amp;amp;country=gb
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And there is a trending endpoint. It shows how many job vacancies exist over time. You can see if hiring is going up or down in a country.&lt;/p&gt;

&lt;h2&gt;
  
  
  How I built it
&lt;/h2&gt;

&lt;p&gt;I used FastAPI and Python. The data comes from Adzuna which has a free API key for developers. I hosted it on Render free tier.&lt;/p&gt;

&lt;p&gt;Total cost: zero dollars.&lt;/p&gt;

&lt;p&gt;I had no experience deploying APIs before this. I made mistakes. The first deploy failed because I forgot the start command. But it works now.&lt;/p&gt;

&lt;h2&gt;
  
  
  Problems I had
&lt;/h2&gt;

&lt;p&gt;Render free tier sleeps after inactivity. So the first request is slow, maybe 30 seconds. After that it is fast. I fixed this with a free uptime monitor that pings the server every 14 minutes.&lt;/p&gt;

&lt;p&gt;Reddit removed my posts two times because my account is new. So I am writing here instead.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who might use this
&lt;/h2&gt;

&lt;p&gt;If you are building a job board, a salary calculator, a career app, or just need job data for a project, this might help you. The free tier is 100 requests per month, no credit card needed.&lt;/p&gt;

&lt;p&gt;Paid plans start at $9.99 per month.&lt;/p&gt;

&lt;p&gt;Link: &lt;a href="https://rapidapi.com/adhikariparzival/api/jobsphere-api" rel="noopener noreferrer"&gt;https://rapidapi.com/adhikariparzival/api/jobsphere-api&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I am still learning. If something is broken or you need a different country or endpoint, tell me in the comments. I will try to add it.&lt;/p&gt;

</description>
      <category>api</category>
      <category>career</category>
      <category>showdev</category>
      <category>sideprojects</category>
    </item>
  </channel>
</rss>
