<?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: Ryan Vinson</title>
    <description>The latest articles on DEV Community by Ryan Vinson (@ryanvinson).</description>
    <link>https://dev.to/ryanvinson</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4001313%2F4567cc77-c177-4651-b8bc-a9e378c8511b.jpg</url>
      <title>DEV Community: Ryan Vinson</title>
      <link>https://dev.to/ryanvinson</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ryanvinson"/>
    <language>en</language>
    <item>
      <title>How to Build a Festival Coverage Monitor with Festival API</title>
      <dc:creator>Ryan Vinson</dc:creator>
      <pubDate>Fri, 31 Jul 2026 18:03:33 +0000</pubDate>
      <link>https://dev.to/ryanvinson/how-to-build-a-festival-coverage-monitor-with-festival-api-2p4</link>
      <guid>https://dev.to/ryanvinson/how-to-build-a-festival-coverage-monitor-with-festival-api-2p4</guid>
      <description>&lt;p&gt;A festival directory is useful at the moment you search it. A festival coverage monitor is useful every week after that. Instead of asking a filmmaker or a support team to repeat the same research, you can use Festival API to maintain a focused view of the festivals that matter to a project and surface what has changed.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://festivalapi.com/blog/build-a-festival-coverage-monitor-with-festival-api/" rel="noopener noreferrer"&gt;https://festivalapi.com/blog/build-a-festival-coverage-monitor-with-festival-api/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>api</category>
      <category>showdev</category>
      <category>automation</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Filmmakers usually piece pre-production together across separate tools, freelancers, and spreadsheets.</title>
      <dc:creator>Ryan Vinson</dc:creator>
      <pubDate>Thu, 30 Jul 2026 16:06:03 +0000</pubDate>
      <link>https://dev.to/ryanvinson/filmmakers-usually-piece-pre-production-together-across-separate-tools-freelancers-and-471l</link>
      <guid>https://dev.to/ryanvinson/filmmakers-usually-piece-pre-production-together-across-separate-tools-freelancers-and-471l</guid>
      <description>&lt;p&gt;FilmPilot.ai takes a single screenplay PDF and generates a full AI pre-production package that can include storyboards, budget estimates, schedules, call sheets, audience reviews, festival strategy, and more.&lt;/p&gt;

&lt;p&gt;If you are curious what AI can do beyond script notes, this is the page to look at:&lt;br&gt;
&lt;a href="https://filmpilot.ai/ai-pre-production-package/" rel="noopener noreferrer"&gt;https://filmpilot.ai/ai-pre-production-package/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>ai</category>
      <category>automation</category>
      <category>programming</category>
    </item>
    <item>
      <title>Direct Submission Links: The submission_url Field</title>
      <dc:creator>Ryan Vinson</dc:creator>
      <pubDate>Wed, 29 Jul 2026 20:34:17 +0000</pubDate>
      <link>https://dev.to/ryanvinson/direct-submission-links-the-submissionurl-field-2cje</link>
      <guid>https://dev.to/ryanvinson/direct-submission-links-the-submissionurl-field-2cje</guid>
      <description>&lt;p&gt;Over 12,000 film festivals now available! If you are building a filmmaker tool, a festival discovery app, or a submission workflow, one small ambiguity can break the whole user experience. You can show a festival card, rank it, save it, and even surface deadline data correctly, but the moment a user clicks Submit Now, the link has to go to the right place. Until now, that was harder than it should have been because a festival's general website and its actual submission page are not always the same thing.&lt;/p&gt;

&lt;p&gt;Festival API now solves that with a dedicated submission_url field.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://festivalapi.com/blog/direct-submission-links-the-submission-url-field/" rel="noopener noreferrer"&gt;https://festivalapi.com/blog/direct-submission-links-the-submission-url-field/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>api</category>
      <category>showdev</category>
      <category>automation</category>
      <category>productivity</category>
    </item>
    <item>
      <title>I launched Festival API: a film festival data API for developers and filmmakers</title>
      <dc:creator>Ryan Vinson</dc:creator>
      <pubDate>Wed, 08 Jul 2026 23:00:03 +0000</pubDate>
      <link>https://dev.to/ryanvinson/i-launched-festival-api-a-film-festival-data-api-for-developers-and-filmmakers-1gg2</link>
      <guid>https://dev.to/ryanvinson/i-launched-festival-api-a-film-festival-data-api-for-developers-and-filmmakers-1gg2</guid>
      <description>&lt;p&gt;I just launched &lt;strong&gt;Festival API&lt;/strong&gt;, a developer-first REST API that helps answer one simple question:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Which film festivals are accepting submissions right now?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Festival discovery is still scattered across submission platforms, individual festival websites, old listings, spreadsheets, and manually maintained directories. That creates a real problem for filmmakers, filmmaker tools, AI agents, entertainment platforms, and anyone trying to build useful discovery workflows around festival submissions.&lt;/p&gt;

&lt;p&gt;Festival API turns that fragmented festival information into clean, searchable JSON.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Festival API does
&lt;/h2&gt;

&lt;p&gt;Festival API currently tracks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;2,000+ active film festivals&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;30+ categories&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;75+ countries&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Developers can search and filter festivals by:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Genre&lt;/li&gt;
&lt;li&gt;Category&lt;/li&gt;
&lt;li&gt;Country&lt;/li&gt;
&lt;li&gt;Deadline&lt;/li&gt;
&lt;li&gt;Maximum submission fee&lt;/li&gt;
&lt;li&gt;Keyword&lt;/li&gt;
&lt;li&gt;Festival relevance score&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The API returns structured data such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Festival name&lt;/li&gt;
&lt;li&gt;Submission deadlines&lt;/li&gt;
&lt;li&gt;Fees&lt;/li&gt;
&lt;li&gt;Accepted categories&lt;/li&gt;
&lt;li&gt;Genres&lt;/li&gt;
&lt;li&gt;Eligibility requirements&lt;/li&gt;
&lt;li&gt;Contact information&lt;/li&gt;
&lt;li&gt;Venue details&lt;/li&gt;
&lt;li&gt;Festival rosters&lt;/li&gt;
&lt;li&gt;Country and category metadata&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;VersusMedia has supported independent film and music since 2001. Over the years, one of the recurring pain points for filmmakers has been discovery: finding the right opportunities at the right time.&lt;/p&gt;

&lt;p&gt;There are thousands of film festivals around the world, but the information is spread out, inconsistent, and time-consuming to organize.&lt;/p&gt;

&lt;p&gt;Festival API is meant to provide the data layer for better filmmaker tools.&lt;/p&gt;

&lt;p&gt;That could mean:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Festival discovery apps&lt;/li&gt;
&lt;li&gt;Submission planning tools&lt;/li&gt;
&lt;li&gt;Filmmaker dashboards&lt;/li&gt;
&lt;li&gt;AI agents&lt;/li&gt;
&lt;li&gt;Entertainment marketplaces&lt;/li&gt;
&lt;li&gt;Studio and distributor tools&lt;/li&gt;
&lt;li&gt;Research products&lt;/li&gt;
&lt;li&gt;Indie film platforms&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal is simple: make film festival data easier to build with.&lt;/p&gt;

&lt;h2&gt;
  
  
  Festival Score
&lt;/h2&gt;

&lt;p&gt;One of the core features is the &lt;strong&gt;Festival Score&lt;/strong&gt;, a proprietary 0 to 100 relevance score that helps rank festivals based on submission fit.&lt;/p&gt;

&lt;p&gt;The score can factor in signals like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Category match&lt;/li&gt;
&lt;li&gt;Genre alignment&lt;/li&gt;
&lt;li&gt;Deadline proximity&lt;/li&gt;
&lt;li&gt;Fee reasonableness&lt;/li&gt;
&lt;li&gt;Submission relevance&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This gives developers a way to build ranked festival recommendations instead of showing a flat list of results.&lt;/p&gt;

&lt;p&gt;For example, a short horror filmmaker does not need every festival in the database. They need the festivals that are most relevant to their project, budget, timing, and submission goals.&lt;/p&gt;

&lt;h2&gt;
  
  
  Example use cases
&lt;/h2&gt;

&lt;p&gt;Here are a few things developers could build with Festival API:&lt;/p&gt;

&lt;h3&gt;
  
  
  A filmmaker submission planner
&lt;/h3&gt;

&lt;p&gt;Let filmmakers enter their film type, genre, budget, and target regions, then return a ranked list of festivals accepting submissions.&lt;/p&gt;

&lt;h3&gt;
  
  
  An AI festival assistant
&lt;/h3&gt;

&lt;p&gt;Use Festival API as a data source for an AI agent that recommends festivals, explains why each one may be a fit, and helps plan a submission calendar.&lt;/p&gt;

&lt;h3&gt;
  
  
  A film platform dashboard
&lt;/h3&gt;

&lt;p&gt;Add festival discovery directly inside a filmmaker or creator dashboard.&lt;/p&gt;

&lt;h3&gt;
  
  
  A research tool
&lt;/h3&gt;

&lt;p&gt;Analyze festival categories, locations, submission fees, and deadlines across countries and regions.&lt;/p&gt;

&lt;h3&gt;
  
  
  A festival discovery widget
&lt;/h3&gt;

&lt;p&gt;Add a searchable festival finder to an entertainment or indie film website.&lt;/p&gt;

&lt;h2&gt;
  
  
  Python client
&lt;/h2&gt;

&lt;p&gt;Festival API includes an official lightweight Python client.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pip &lt;span class="nb"&gt;install &lt;/span&gt;festivalapi
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;festivalapi&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;FestivalAPI&lt;/span&gt;

&lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;FestivalAPI&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;fes_your_api_key&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Search festivals by category
&lt;/span&gt;&lt;span class="n"&gt;festivals&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;festivals&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;list&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;category&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;short_film&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Keyword search
&lt;/span&gt;&lt;span class="n"&gt;results&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;festivals&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;list&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;q&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Cambodia&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Get relevance-ranked festivals
&lt;/span&gt;&lt;span class="n"&gt;scored&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;festivals&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;scored&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;min_score&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;70&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Get a festival's film roster
&lt;/span&gt;&lt;span class="n"&gt;roster&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;festivals&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;roster&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;301&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Health check
&lt;/span&gt;&lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;health&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Node.js client
&lt;/h2&gt;

&lt;p&gt;There is also an official Node.js client.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install &lt;/span&gt;festivalapi
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;FestivalAPI&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;festivalapi&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;FestivalAPI&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;fes_your_api_key&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;// Search festivals&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;festivals&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;festivals&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;list&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;category&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;short_film&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;

&lt;span class="c1"&gt;// Get relevance-ranked festivals&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;scored&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;festivals&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;scored&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;min_score&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;70&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;

&lt;span class="c1"&gt;// Get a festival's film roster&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;roster&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;festivals&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;roster&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;301&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;// Health check&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;health&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;health&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  REST API
&lt;/h2&gt;

&lt;p&gt;Festival API is a plain REST/JSON API using Bearer token authentication, so you can also use it with any HTTP client.&lt;/p&gt;

&lt;p&gt;Example request:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="s2"&gt;"https://festivalapi.com/api/v1/festivals/?category=short_film"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer fes_your_api_key"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Pricing
&lt;/h2&gt;

&lt;p&gt;Festival API uses simple prepaid credits.&lt;/p&gt;

&lt;p&gt;New accounts receive &lt;strong&gt;50 free credits&lt;/strong&gt; with no credit card required.&lt;/p&gt;

&lt;p&gt;Credit packs are one-time purchases:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Starter: $20 for 2,000 credits&lt;/li&gt;
&lt;li&gt;Pro: $50 for 5,000 credits&lt;/li&gt;
&lt;li&gt;Enterprise: $200 for 22,000 credits&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There are no subscriptions, no auto-billing, and no saved payment methods. Credits are valid for one year.&lt;/p&gt;

&lt;h2&gt;
  
  
  Also now inside VersusMedia
&lt;/h2&gt;

&lt;p&gt;As part of the launch, we also added Festival Search inside the VersusMedia artist dashboard.&lt;/p&gt;

&lt;p&gt;Artists who have uploaded at least one video to VersusMedia can now use festival search tools powered by Festival API to discover relevant submission opportunities for their work.&lt;/p&gt;

&lt;h2&gt;
  
  
  What comes next
&lt;/h2&gt;

&lt;p&gt;The current API already covers 2,000+ active festivals across 75+ countries, and the discovery pipeline has scouted thousands more. The plan is to keep expanding coverage, refreshing data, improving scoring, and adding more developer-friendly ways to use the data.&lt;/p&gt;

&lt;p&gt;I’m especially interested in seeing what people build with it: filmmaker tools, AI workflows, dashboards, festival planners, and anything else that helps independent creators find better opportunities.&lt;/p&gt;

&lt;p&gt;You can explore Festival API here:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://festivalapi.com" rel="noopener noreferrer"&gt;https://festivalapi.com&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Built for developers. Made for filmmakers.&lt;/p&gt;

&lt;h2&gt;
  
  
  Suggested Dev.to tags
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;api&lt;/code&gt; &lt;code&gt;webdev&lt;/code&gt; &lt;code&gt;python&lt;/code&gt; &lt;code&gt;javascript&lt;/code&gt;&lt;/p&gt;

</description>
      <category>api</category>
      <category>showdev</category>
      <category>automation</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Beach Day API is now available on Apify!</title>
      <dc:creator>Ryan Vinson</dc:creator>
      <pubDate>Sat, 04 Jul 2026 17:22:08 +0000</pubDate>
      <link>https://dev.to/ryanvinson/beach-day-api-is-now-available-on-apify-37no</link>
      <guid>https://dev.to/ryanvinson/beach-day-api-is-now-available-on-apify-37no</guid>
      <description>&lt;p&gt;No coding needed for those who like simplicity. Run beach conditions, tide data, and Beach Day Score lookups as repeatable jobs. Schedule daily checks, export to CSV/JSON, connect to webhooks, or let AI agents call it via MCP.&lt;/p&gt;


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://apify.com/versusmedia/beach-day-api-actor" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fapify.com%2Fog-image%2Factor%3FactorName%3DBeach%2BConditions%2B%2526%2BTide%2BData%2BAPI%26uniqueName%3Dversusmedia%252Fbeach-day-api-actor%26categories%3DDEVELOPER_TOOLS%252CTRAVEL%252CAUTOMATION%26users%3D1%26runs%3D5%26pictureUrl%3Dhttps%253A%252F%252Fapify-image-uploads-prod.s3.us-east-1.amazonaws.com%252FLXjzjdrbxeD4eCpfY-actor-7ccR8fkVblPUgrSZk-LrD36eNfVr-BeachDayAPI_icon_500x500.png%26authorName%3DRyan%2BVinson%26userPictureUrl%3Dhttps%253A%252F%252Fimages.apifyusercontent.com%252FAbrNLOpO3Y4S_4TUoMHxqKgX-d2_p2Vw9OFzcS1GT1s%252Frs%253Afill%253A224%253A224%252Fcb%253A1%252FaHR0cHM6Ly93d3cuZ3JhdmF0YXIuY29tL2F2YXRhci80Y2JlZTJiNDAyYzgwNmFhMWNlNjgzZDVhYTU2ZDNjZmIwZTczZTMzZmY2MmMzZDhmMzMyMTMwNTEyMDYzYjMxP2Q9aHR0cHMlM0ElMkYlMkZjZG4uYXBpZnkuY29tJTJGaW1nJTJGaWNvbnMlMkZhbm9ueW1vdXNfdXNlcl9waWN0dXJlLnBuZw.webp" height="420" class="m-0" width="800"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://apify.com/versusmedia/beach-day-api-actor" rel="noopener noreferrer" class="c-link"&gt;
            Beach Conditions &amp;amp; Tide Data API · Apify
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Get structured beach condition data, tide predictions, water quality grades, &amp;amp; Beach Day Scores for 12,000+ beaches in 27+ countries. Search by state or...
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fapify.com%2Ffavicon.ico%3Ffavicon.2653ilt32bing.ico%3Fdpl%3D6901a3abaf" width="48" height="48"&gt;
          apify.com
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
      <category>api</category>
      <category>apify</category>
      <category>automation</category>
      <category>devtool</category>
    </item>
    <item>
      <title>Beach Day API is now available as a Zapier integration (Beta)!</title>
      <dc:creator>Ryan Vinson</dc:creator>
      <pubDate>Fri, 03 Jul 2026 17:31:26 +0000</pubDate>
      <link>https://dev.to/ryanvinson/beach-day-api-is-now-available-as-a-zapier-integration-beta-31c5</link>
      <guid>https://dev.to/ryanvinson/beach-day-api-is-now-available-as-a-zapier-integration-beta-31c5</guid>
      <description>&lt;p&gt;Connect beach data to Slack, Gmail, Google Sheets, and 9,000+ apps without writing any code. Over 12,000 beaches worldwide are searchable.&lt;/p&gt;

&lt;p&gt;Available actions:&lt;br&gt;
• Look Up Beach Conditions — get current water quality, weather, ocean conditions, and tides&lt;br&gt;
• Look Up Beach Score — fetch the beach day score and grade&lt;br&gt;
• Search Beaches — find beaches by name&lt;/p&gt;

&lt;p&gt;To use, go to the Beach Day API page on Zapier and click Try It. You'll need your API key from the Dashboard.&lt;/p&gt;


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://zapier.com/apps/beach-day-api/integrations" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fres.cloudinary.com%2Fzapier-media%2Fimage%2Fupload%2Fq_auto%2Ff_auto%2Fv1746212260%2FApp%2520Directory%2Fzapier_logo_ybrvyf.png" height="420" class="m-0" width="800"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://zapier.com/apps/beach-day-api/integrations" rel="noopener noreferrer" class="c-link"&gt;
            Beach Day API Integrations | Connect Your Apps with Zapier
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Instantly connect Beach Day API with the apps you use everyday. Beach Day API integrates with 9,000 other apps on Zapier - it's the easiest way to automate your work.
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.zapier.com%2Fzapier%2Fimages%2Ffavicon.ico" width="192" height="192"&gt;
          zapier.com
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
      <category>api</category>
      <category>zapier</category>
      <category>developer</category>
      <category>showdev</category>
    </item>
    <item>
      <title>Beach Day API is now available as a Zapier integration (Beta)! Connect beach data to Slack, Gmail, Google Sheets, and 9,000+ apps without writing any code.

https://zapier.com/apps/beach-day-api/integrations

#api #zapier #beach</title>
      <dc:creator>Ryan Vinson</dc:creator>
      <pubDate>Fri, 03 Jul 2026 17:28:01 +0000</pubDate>
      <link>https://dev.to/ryanvinson/beach-day-api-is-now-available-as-a-zapier-integration-beta-connect-beach-data-to-slack-gmail-3d71</link>
      <guid>https://dev.to/ryanvinson/beach-day-api-is-now-available-as-a-zapier-integration-beta-connect-beach-data-to-slack-gmail-3d71</guid>
      <description>&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://zapier.com/apps/beach-day-api/integrations" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fres.cloudinary.com%2Fzapier-media%2Fimage%2Fupload%2Fq_auto%2Ff_auto%2Fv1746212260%2FApp%2520Directory%2Fzapier_logo_ybrvyf.png" height="420" class="m-0" width="800"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://zapier.com/apps/beach-day-api/integrations" rel="noopener noreferrer" class="c-link"&gt;
            Beach Day API Integrations | Connect Your Apps with Zapier
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Instantly connect Beach Day API with the apps you use everyday. Beach Day API integrates with 9,000 other apps on Zapier - it's the easiest way to automate your work.
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.zapier.com%2Fzapier%2Fimages%2Ffavicon.ico" width="192" height="192"&gt;
          zapier.com
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
    </item>
    <item>
      <title>I launched Beach Day API today</title>
      <dc:creator>Ryan Vinson</dc:creator>
      <pubDate>Thu, 25 Jun 2026 03:38:39 +0000</pubDate>
      <link>https://dev.to/ryanvinson/i-launched-beach-day-api-today-f02</link>
      <guid>https://dev.to/ryanvinson/i-launched-beach-day-api-today-f02</guid>
      <description>&lt;p&gt;Today I launched &lt;strong&gt;Beach Day API&lt;/strong&gt;, a developer API for real-time beach, ocean, water quality, advisory, amenity, access, and condition data.&lt;/p&gt;

&lt;p&gt;The goal is simple: make it easier for developers to build apps and tools around beach conditions without having to manually gather data from scattered sources.&lt;/p&gt;

&lt;p&gt;Beach Day API currently supports beaches across the &lt;strong&gt;United States and Australia&lt;/strong&gt;, and returns structured JSON that can be used in travel apps, weather apps, surf tools, tourism websites, hotel and resort platforms, map-based search experiences, local discovery apps, and coastal safety dashboards.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the API includes
&lt;/h2&gt;

&lt;p&gt;Beach Day API can provide data such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Beach profiles&lt;/li&gt;
&lt;li&gt;GPS and location data&lt;/li&gt;
&lt;li&gt;Ocean and weather conditions&lt;/li&gt;
&lt;li&gt;Water quality grades&lt;/li&gt;
&lt;li&gt;Advisories and closures&lt;/li&gt;
&lt;li&gt;Amenities&lt;/li&gt;
&lt;li&gt;Access details&lt;/li&gt;
&lt;li&gt;Beach-specific safety and visitor information&lt;/li&gt;
&lt;li&gt;A proprietary &lt;strong&gt;Beach Day Score&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The Beach Day Score is designed to give developers a fast way to surface whether a beach looks like a good choice for visitors on a given day.&lt;/p&gt;

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

&lt;p&gt;Most weather APIs are broad. They can tell you temperature, wind, rain, or general conditions, but they usually do not answer the real user question:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;“Is this a good beach day?”&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That question depends on more than weather.&lt;/p&gt;

&lt;p&gt;It can involve water quality, advisories, closures, ocean conditions, amenities, beach access, and the actual visitor experience. Beach Day API is built around that more specific use case.&lt;/p&gt;

&lt;h2&gt;
  
  
  Example use cases
&lt;/h2&gt;

&lt;p&gt;Some things developers could build with it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A beach finder app&lt;/li&gt;
&lt;li&gt;A surf or coastal conditions app&lt;/li&gt;
&lt;li&gt;A hotel or resort beach conditions widget&lt;/li&gt;
&lt;li&gt;A local tourism guide&lt;/li&gt;
&lt;li&gt;A travel planning tool&lt;/li&gt;
&lt;li&gt;A map-based beach discovery experience&lt;/li&gt;
&lt;li&gt;A safety dashboard for advisories and closures&lt;/li&gt;
&lt;li&gt;A recommendation engine for nearby beaches&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Built for simple integration
&lt;/h2&gt;

&lt;p&gt;The API uses API-key authentication and returns clean JSON responses. I wanted it to be straightforward enough that a developer could start testing quickly and then build it into a real product without a lot of friction.&lt;/p&gt;

&lt;p&gt;I also kept the pricing simple: prepaid credits, no subscriptions, no auto-billing, and free credits to start testing.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is next
&lt;/h2&gt;

&lt;p&gt;I am working on improving the developer documentation, adding marketplace listings, refining the endpoint structure, and expanding coverage and data quality over time.&lt;/p&gt;

&lt;p&gt;I am especially interested in feedback from developers building travel, weather, hospitality, surf, local search, recreation, or public information products.&lt;/p&gt;

&lt;p&gt;You can check it out here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://beachdayapi.com/" rel="noopener noreferrer"&gt;https://beachdayapi.com/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Would love to hear what you would build with it.&lt;/p&gt;

</description>
      <category>api</category>
      <category>saas</category>
      <category>showdev</category>
      <category>data</category>
    </item>
  </channel>
</rss>
