Entries ======= You can get all entries for a user sorted by `created_at` descending. The entry attributes vary from the original feed in several ways. Links and image sources are rewritten to always point to the fully qualified URL. This means sanitizing/escaping content is up to you. The `published` date is converted to UTC. ### `GET /v2/entries.json` Returns a paginated array of all entries for the user. ```bash curl --request GET --user "example@example.com:password" https://api.feedbin.com/v2/entries.json ``` ```json [ { "id": 2077, "feed_id": 135, "title": "Objective-C Runtime Releases", "url": "http:\/\/mjtsai.com\/blog\/2013\/02\/02\/objective-c-runtime-releases\/", "extracted_content_url": "https://extract.feedbin.com/parser/feedbin/9197b49979d10d5012130f8b456bd5bd040d3206?base64_url=aHR0cDovL3d3dy5jcmFpZ2tlcnN0aWVucy5jb20vMjAxNy8wMy8xMi9nZXR0aW5nLXN0YXJ0ZWQtd2l0aC1qc29uYi1pbi1wb3N0Z3Jlcy8=", "author": "Michael Tsai", "content": "

Bavarious<\/a> created a GitHub repository<\/a> that shows the differences between versions of Apple\u2019s Objective-C runtime<\/a> that shipped with different versions of Mac OS X.<\/p>", "summary": "Bavarious created a GitHub repository that shows the differences between versions of Apple\u2019s Objective-C runtime that shipped with different versions of Mac OS X.", "published": "2013-02-03T01:00:19.000000Z", "created_at": "2013-02-04T01:00:19.127893Z" } ] ``` Note that `title`, `author`, and `content` can be null. For example, using this feed: ```xml urn:uuid:60a76c80-d399-11d9-b93C-0003939e0af6 urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a ``` ```json [{ "id": 1570169709, "feed_id": 1356310, "title": null, "author": null, "summary": "", "content": null, "url": "http://s3.amazonaws.com", "extracted_content_url": "https://extract.feedbin.com/parser/feedbin/9197b49979d10d5012130f8b456bd5bd040d3206?base64_url=aHR0cDovL3d3dy5jcmFpZ2tlcnN0aWVucy5jb20vMjAxNy8wMy8xMi9nZXR0aW5nLXN0YXJ0ZWQtd2l0aC1qc29uYi1pbi1wb3N0Z3Jlcy8=", "published": "2017-10-28T14:54:19.885152Z", "created_at":"2017-10-28T14:54:19.885105Z" }] ``` | Parameter | Required | Example | | ------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | | `page: number` | false | `GET /v2/entries.json?page=2` will get page two of the available entries | | `since: date` | false | `GET /v2/entries.json?since=2013-02-02T14:07:33.000000Z` will get all entries created after the iso 8601 timestamp. | | `ids: number(s)` | false | `GET /v2/entries.json?ids=1,2,3` will get the entries with the ids 1, 2 and 3. A maximum of 100 entries can be requested. | | `read: boolean` | false | `GET /v2/entries.json?read=false` will get all unread entries. | | `starred: boolean` | false | `GET /v2/entries.json?starred=true` will get all starred entries. | | `per_page: number` | false | `GET /v2/entries.json?per_page=50` will limit results to 50 per page. | | `mode: enum` | false | `GET /v2/entries.json?mode=extended` the only mode available is `extended`. This includes more metadata for the entry | | `include_original: boolean` | false | `GET /v2/entries.json?include_original=true` include original entry data if the entry has been updated. | | `include_enclosure: boolean` | false | `GET /v2/entries.json?include_enclosure=true` include podcast/RSS enclosure data. | | `include_content_diff: boolean` | false | `GET /v2/entries.json?include_content_diff=true` include a diff of changed content. Result is HTML marked up to show differences. [Sample styles](https://github.com/feedbin/feedbin/blob/2610ba5aed103789d2a61708ffcd10d0432b5161/app/assets/stylesheets/_site.scss#L3246-L3309). | #### About `extracted_content_url` The `extracted_content_url` is the link to another [Feedbin service](https://feedbin.com/blog/2019/03/11/the-future-of-full-content/) that attempts to extract the full content of the entry `url`. It is powered by [Mercury Parser](https://github.com/postlight/mercury-parser) and returns the same JSON object that Mercury uses. ```json { "title": "Thunder (mascot)", "content": "...

Thunder is the stage name for the...", "author": "Wikipedia Contributors", "date_published": "2016-09-16T20:56:00.000Z", "lead_image_url": null, "dek": null, "next_page_url": null, "url": "https://en.wikipedia.org/wiki/Thunder_(mascot)", "domain": "en.wikipedia.org", "excerpt": "Thunder Thunder is the stage name for the horse who is the official live animal mascot for the Denver Broncos", "word_count": 4677, "direction": "ltr", "total_pages": 1, "rendered_pages": 1 } ``` #### About `extended` Mode The `extended` mode includes a lot of additional meta-data for entries including the usual `id`, `feed_id`, `title`, `author`, `summary`, `content`, `url`, `published`, `created_at`. As well as these additions: - `original`: The JSON for the full original entry, if this entry has been updated - `images`: The image that Feedbin has extracted to be associated with the entry. - `enclosure`: Podcast related metadata - `twitter_id`: If the entry is a tweet, this is the id of the tweet on twitter. You can use this with the Twitter API to load tweets in your app. - `twitter_thread_ids`: If the entry has a related Twitter thread, this array of ids can be used with the Twitter API to load to load the full thread. The ids are sorted in ascending chronological order. - `extracted_articles`: If the entry is a tweet that links to articles, Feedbin attempts to extract the article content and provides it via the API. - `json_feed`: If the entry is from a JSON Feed, this contains the additional metadata that [JSON Feed offers](https://jsonfeed.org/version/1). Extended mode was created to make sure the original data would stay the same. The `extended` mode has a different policy where new data may be added over time. The only thing to keep in mind here is that there may be additional keys in the future and that your JSON parser should be flexible enough to deal with that. Keys will not be removed and their purpose will not change. An example with all of the keys populated would look like: ```json { "id": 1682191545, "feed_id": 1379740, "title": "Peter Kafka @pkafka", "author": "Peter Kafka", "summary": "In 2009, the big magazine publishers built their own digital service so they wouldn't be cut out by Apple or Google. Now they're selling to Apple.", "content": "

Content
", "url": "https://twitter.com/fromedome/status/973315765393920000", "extracted_content_url": "https://extract.feedbin.com/parser/feedbin/9197b49979d10d5012130f8b456bd5bd040d3206?base64_url=aHR0cDovL3d3dy5jcmFpZ2tlcnN0aWVucy5jb20vMjAxNy8wMy8xMi9nZXR0aW5nLXN0YXJ0ZWQtd2l0aC1qc29uYi1pbi1wb3N0Z3Jlcy8=", "published": "2018-03-12T21:52:16.000000Z", "created_at": "2018-03-12T22:55:53.437304Z", "original": { "author": "Brent Simmons", "content": "
Content
", "title": "Catching Up on The Omni Show", "url": "https://www.omnigroup.com/blog/entry/catching-up-on-the-omni-show", "entry_id": "https://www.omnigroup.com/blog/entry/catching-up-on-the-omni-show", "published": "2018-03-12T21:24:00.000Z", "data": {} }, "twitter_id": 973315765393920000, "twitter_thread_ids": [973315765393920000, 973315765393920001], "images": { "original_url": "http://www.macdrifter.com/uploads/2018/03/ScreenShot20180312_044129.jpg", "size_1": { "cdn_url": "https://images.feedbinusercontent.com/85996e1/85996e10ef95a3b96a914e67dfc08d5d3362c6e0.jpg", "width": 542, "height": 304 } }, "enclosure": { "enclosure_url": "http://traffic.libsyn.com/atpfm/atp264.mp3", "enclosure_type": "audio/mpeg", "enclosure_length": "54103635", "itunes_duration": "01:51:35", "itunes_image": "http://static1.squarespace.com/static/513abd71e4b0fe58c655c105/t/52c45a37e4b0a77a5034aa84/1388599866232/1500w/Artwork.jpg" }, "extracted_articles": [ { "url": "https://www.recode.net/2018/3/12/17109592/apple-buys-texture-magazine-next-issue-media-eddy-cue-sxsw?utm_campaign=recode.net&utm_content=chorus&utm_medium=social&utm_source=twitter", "title": "Apple is buying Texture, the digital magazine distributor", "host": "www.recode.net", "author": "Peter Kafka", "content": "
Content
" } ] } ``` ### `GET /v2/feeds/203/entries.json` Returns a paginated array of all entries in feed_id 203 ```bash curl --request GET --user "example@example.com:password" https://api.feedbin.com/v2/feeds/203/entries.json ``` ```json [ { "id": 3648, "feed_id": 203, "title": "Cleveland Drinkup February 6", "url": "https:\/\/github.com\/blog\/1398-cleveland-drinkup-february-6", "extracted_content_url": "https://extract.feedbin.com/parser/feedbin/9197b49979d10d5012130f8b456bd5bd040d3206?base64_url=aHR0cDovL3d3dy5jcmFpZ2tlcnN0aWVucy5jb20vMjAxNy8wMy8xMi9nZXR0aW5nLXN0YXJ0ZWQtd2l0aC1qc29uYi1pbi1wb3N0Z3Jlcy8=", "author": "juliamae", "content": "

Cleveland \":metal:\"! Let's \":beers:\"\":cocktail:\"\":neckbeard:\"\":guitar:\"\":octocat:\" in one of Ohio's greatest cities, Cleveland!<\/p>\n\n

Join @asenchi<\/a> and me Wednesday at the Great Lakes Brewing Company Taproom<\/a>, drinks on GitHub.<\/p>\n\n

\"Great<\/p>\n\n

The Facts:<\/strong><\/p>\n\n