--- /dev/null
+Copyright (c) 2021 Armaan Bhojwani <me@armaanb.net>
+
+Permission to use, copy, modify, and distribute this software for any purpose
+with or without fee is hereby granted, provided that the above copyright notice
+and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
+OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
+THIS SOFTWARE.
--- /dev/null
+#lang racket
+
+(require json)
+(require net/url)
+
+(require "blacklist.rkt")
+
+(define engine (string->url
+ "https://search.trom.tf/search?q=facebook&format=json"))
+(define response (get-pure-port engine))
+(define json-raw (port->string response))
+(close-input-port response)
+
+(define json
+ (with-input-from-string
+ json-raw
+ (lambda ()
+ (read-json))))
+
+; Convert results to net/url format
+(for-each (lambda (i)
+ (define result-url (string->url (hash-ref i 'url)))
+ (unless (member (url-host result-url) blacklist)
+ (writeln (url-host result-url))))
+ (hash-ref json 'results))