<story><title>Show HN: Crul – Query Any Webpage or API</title><url>https://www.crul.com/</url><text>Hi HN, we’re Carl and Nic, the creators of crul (&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;www.crul.com&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;www.crul.com&lt;/a&gt;), and we’ve been hard at work for the last year and a half building our dream of turning the web into a dataset. In a nutshell crul is a tool for querying and building web and api data feeds from anywhere to anywhere.&lt;p&gt;With crul you can crawl and transform web pages into csv tables, explore and dynamically query APIs, filter and organize data, and push data sets to third party data lakes and analytics tools. Here’s a demo video, we’ve been told Nic sounds like John Mayer (lol) (&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;www.crul.com&amp;#x2F;demo-video&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;www.crul.com&amp;#x2F;demo-video&lt;/a&gt;)&lt;p&gt;We’ve personally struggled wrangling data from the web using puppeteer&amp;#x2F;playwright&amp;#x2F;selenium, jq or cobbling together python scripts, client libraries, and schedulers to consume APIs. The reality is that shit is hard, doesn’t scale (classic blocking for-loop or async saturation), and comes with thorny maintenance&amp;#x2F;security issues. The tools we love to hate.&lt;p&gt;Crul’s value prop is simple: Query any Webpage or API for free.&lt;p&gt;At its core, crul is based on the foundational linked nature of Web&amp;#x2F;API content. It consists of a purpose built map&amp;#x2F;expand&amp;#x2F;reduce engine for hierarchical Web&amp;#x2F;API content (kind of like postman but with a membership to Gold&amp;#x27;s Gym) with a familiar parser expression grammar that naturally gets the job done (and layered caching to make it quick to fix when it doesn’t on the first try). There’s a boatload of other features like domain policies, scheduler, checkpoints, templates, REST API, Web UI, vault, OAuth for third parties and 20+ stores to send your data to.&lt;p&gt;Our goal is to open source crul as time and resources permit. At the end of the day it’s just the two of us trying to figure things out as we go! We’re just getting started.&lt;p&gt;Crul is one bad mother#^@%*&amp;amp; and the web is finally yours!&lt;p&gt;Download crul for free as a Mac OS desktop application or as a Docker image (&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;www.crul.com&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;www.crul.com&lt;/a&gt;) and let us know if you love it or hate it. (&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;forms.gle&amp;#x2F;5BXb5bLC1D5QG7i99&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;forms.gle&amp;#x2F;5BXb5bLC1D5QG7i99&lt;/a&gt;) And come say hello to us on our slack channel - we’re a friendly bunch! (&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;crulinc.slack.com&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;crulinc.slack.com&amp;#x2F;&lt;/a&gt;)&lt;p&gt;Nic and Carl (&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;www.crul.com&amp;#x2F;early-days&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;www.crul.com&amp;#x2F;early-days&lt;/a&gt;)</text></story><parent_chain></parent_chain><comment><author>jensneuse</author><text>Hey, just watched the video. This looks super useful! I&amp;#x27;m the founder of WunderGraph (&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;wundergraph.com&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;wundergraph.com&lt;/a&gt;) and we allow our users to easily integrate multiple data sources into a virtual graph, which they can then access using GraphQL. You can add various data sources, like GraphQL, Federation, OpenAPI, Databases, etc... I was just thinking, wouldn&amp;#x27;t it be cool if we could find an easy way to add a &amp;quot;Crul&amp;quot; datasource? If you&amp;#x27;re interested, please DM me in our discord (&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;wundergraph.com&amp;#x2F;discord&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;wundergraph.com&amp;#x2F;discord&lt;/a&gt;). I&amp;#x27;d love to have a conversation!</text></comment>
<story><title>Show HN: Crul – Query Any Webpage or API</title><url>https://www.crul.com/</url><text>Hi HN, we’re Carl and Nic, the creators of crul (&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;www.crul.com&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;www.crul.com&lt;/a&gt;), and we’ve been hard at work for the last year and a half building our dream of turning the web into a dataset. In a nutshell crul is a tool for querying and building web and api data feeds from anywhere to anywhere.&lt;p&gt;With crul you can crawl and transform web pages into csv tables, explore and dynamically query APIs, filter and organize data, and push data sets to third party data lakes and analytics tools. Here’s a demo video, we’ve been told Nic sounds like John Mayer (lol) (&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;www.crul.com&amp;#x2F;demo-video&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;www.crul.com&amp;#x2F;demo-video&lt;/a&gt;)&lt;p&gt;We’ve personally struggled wrangling data from the web using puppeteer&amp;#x2F;playwright&amp;#x2F;selenium, jq or cobbling together python scripts, client libraries, and schedulers to consume APIs. The reality is that shit is hard, doesn’t scale (classic blocking for-loop or async saturation), and comes with thorny maintenance&amp;#x2F;security issues. The tools we love to hate.&lt;p&gt;Crul’s value prop is simple: Query any Webpage or API for free.&lt;p&gt;At its core, crul is based on the foundational linked nature of Web&amp;#x2F;API content. It consists of a purpose built map&amp;#x2F;expand&amp;#x2F;reduce engine for hierarchical Web&amp;#x2F;API content (kind of like postman but with a membership to Gold&amp;#x27;s Gym) with a familiar parser expression grammar that naturally gets the job done (and layered caching to make it quick to fix when it doesn’t on the first try). There’s a boatload of other features like domain policies, scheduler, checkpoints, templates, REST API, Web UI, vault, OAuth for third parties and 20+ stores to send your data to.&lt;p&gt;Our goal is to open source crul as time and resources permit. At the end of the day it’s just the two of us trying to figure things out as we go! We’re just getting started.&lt;p&gt;Crul is one bad mother#^@%*&amp;amp; and the web is finally yours!&lt;p&gt;Download crul for free as a Mac OS desktop application or as a Docker image (&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;www.crul.com&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;www.crul.com&lt;/a&gt;) and let us know if you love it or hate it. (&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;forms.gle&amp;#x2F;5BXb5bLC1D5QG7i99&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;forms.gle&amp;#x2F;5BXb5bLC1D5QG7i99&lt;/a&gt;) And come say hello to us on our slack channel - we’re a friendly bunch! (&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;crulinc.slack.com&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;crulinc.slack.com&amp;#x2F;&lt;/a&gt;)&lt;p&gt;Nic and Carl (&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;www.crul.com&amp;#x2F;early-days&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;www.crul.com&amp;#x2F;early-days&lt;/a&gt;)</text></story><parent_chain></parent_chain><comment><author>dishwishy</author><text>I just started playing with CRUL recently to try to map out different media download links on various websites, in an effort to avoid clicking around looking for hidden content. The language is very robust, but just the `filter` command alone is crazy powerful for just exploring things quickly and intuitively.</text></comment>