diff --git a/bridges/Formula1Bridge.php b/bridges/Formula1Bridge.php
new file mode 100644
index 00000000..bcd53aac
--- /dev/null
+++ b/bridges/Formula1Bridge.php
@@ -0,0 +1,65 @@
+%s
';
+ const ARTICLE_URL = 'https://formula1.com/en/latest/article.%s.%s.html';
+
+ const LIMIT_MIN = 1;
+ const LIMIT_DEFAULT = 10;
+ const LIMIT_MAX = 100;
+
+ const PARAMETERS = array(
+ array(
+ 'limit' => array(
+ 'name' => 'Limit',
+ 'type' => 'number',
+ 'required' => false,
+ 'title' => 'Number of articles to return',
+ 'exampleValue' => self::LIMIT_DEFAULT,
+ 'defaultValue' => self::LIMIT_DEFAULT
+ )
+ )
+ );
+
+ public function collectData() {
+ $limit = $this->getInput('limit') ?: self::LIMIT_DEFAULT;
+ $limit = min(self::LIMIT_MAX, max(self::LIMIT_MIN, $limit));
+ $url = sprintf(self::API_URL, $limit);
+
+ $json = json_decode(getContents($url, array('apikey: ' . self::API_KEY)))
+ or returnServerError(sprintf(self::ERR_QUERY, $url));
+ if($json->error) {
+ returnServerError($json->message);
+ }
+ $list = $json->items;
+
+ foreach($list as $article) {
+ $item = array();
+ $item['uri'] = sprintf(self::ARTICLE_URL, $article->slug, $article->id);
+ $item['title'] = $article->title;
+ $item['timestamp'] = $article->updatedAt;
+ $item['author'] = self::ARTICLE_AUTHOR;
+ $item['enclosures'] = array($article->thumbnail->image->url);
+ $item['uid'] = $article->id;
+ $item['content'] = sprintf(
+ self::ARTICLE_HTML,
+ $article->metaDescription,
+ $item['title'],
+ $item['enclosures'][0],
+ $article->thumbnail->image->title,
+ $article->thumbnail->image->title
+ );
+ $this->items[] = $item;
+ }
+ }
+}