├── LICENSE ├── README.md └── media ├── oldreader-icon-1024-white.png ├── oldreader-icon-1024.png ├── oldreader-icon-2048-white.png ├── oldreader-icon-2048.png ├── oldreader-icon-red-196.png ├── oldreader-icon.ai └── oldreader-icon.svg /LICENSE: -------------------------------------------------------------------------------- 1 | Creative Commons Legal Code 2 | 3 | Attribution 3.0 Unported 4 | 5 | CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE 6 | LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN 7 | ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS 8 | INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES 9 | REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR 10 | DAMAGES RESULTING FROM ITS USE. 11 | 12 | License 13 | 14 | THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE 15 | COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY 16 | COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS 17 | AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. 18 | 19 | BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE 20 | TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY 21 | BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS 22 | CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND 23 | CONDITIONS. 24 | 25 | 1. Definitions 26 | 27 | a. "Adaptation" means a work based upon the Work, or upon the Work and 28 | other pre-existing works, such as a translation, adaptation, 29 | derivative work, arrangement of music or other alterations of a 30 | literary or artistic work, or phonogram or performance and includes 31 | cinematographic adaptations or any other form in which the Work may be 32 | recast, transformed, or adapted including in any form recognizably 33 | derived from the original, except that a work that constitutes a 34 | Collection will not be considered an Adaptation for the purpose of 35 | this License. For the avoidance of doubt, where the Work is a musical 36 | work, performance or phonogram, the synchronization of the Work in 37 | timed-relation with a moving image ("synching") will be considered an 38 | Adaptation for the purpose of this License. 39 | b. "Collection" means a collection of literary or artistic works, such as 40 | encyclopedias and anthologies, or performances, phonograms or 41 | broadcasts, or other works or subject matter other than works listed 42 | in Section 1(f) below, which, by reason of the selection and 43 | arrangement of their contents, constitute intellectual creations, in 44 | which the Work is included in its entirety in unmodified form along 45 | with one or more other contributions, each constituting separate and 46 | independent works in themselves, which together are assembled into a 47 | collective whole. A work that constitutes a Collection will not be 48 | considered an Adaptation (as defined above) for the purposes of this 49 | License. 50 | c. "Distribute" means to make available to the public the original and 51 | copies of the Work or Adaptation, as appropriate, through sale or 52 | other transfer of ownership. 53 | d. "Licensor" means the individual, individuals, entity or entities that 54 | offer(s) the Work under the terms of this License. 55 | e. "Original Author" means, in the case of a literary or artistic work, 56 | the individual, individuals, entity or entities who created the Work 57 | or if no individual or entity can be identified, the publisher; and in 58 | addition (i) in the case of a performance the actors, singers, 59 | musicians, dancers, and other persons who act, sing, deliver, declaim, 60 | play in, interpret or otherwise perform literary or artistic works or 61 | expressions of folklore; (ii) in the case of a phonogram the producer 62 | being the person or legal entity who first fixes the sounds of a 63 | performance or other sounds; and, (iii) in the case of broadcasts, the 64 | organization that transmits the broadcast. 65 | f. "Work" means the literary and/or artistic work offered under the terms 66 | of this License including without limitation any production in the 67 | literary, scientific and artistic domain, whatever may be the mode or 68 | form of its expression including digital form, such as a book, 69 | pamphlet and other writing; a lecture, address, sermon or other work 70 | of the same nature; a dramatic or dramatico-musical work; a 71 | choreographic work or entertainment in dumb show; a musical 72 | composition with or without words; a cinematographic work to which are 73 | assimilated works expressed by a process analogous to cinematography; 74 | a work of drawing, painting, architecture, sculpture, engraving or 75 | lithography; a photographic work to which are assimilated works 76 | expressed by a process analogous to photography; a work of applied 77 | art; an illustration, map, plan, sketch or three-dimensional work 78 | relative to geography, topography, architecture or science; a 79 | performance; a broadcast; a phonogram; a compilation of data to the 80 | extent it is protected as a copyrightable work; or a work performed by 81 | a variety or circus performer to the extent it is not otherwise 82 | considered a literary or artistic work. 83 | g. "You" means an individual or entity exercising rights under this 84 | License who has not previously violated the terms of this License with 85 | respect to the Work, or who has received express permission from the 86 | Licensor to exercise rights under this License despite a previous 87 | violation. 88 | h. "Publicly Perform" means to perform public recitations of the Work and 89 | to communicate to the public those public recitations, by any means or 90 | process, including by wire or wireless means or public digital 91 | performances; to make available to the public Works in such a way that 92 | members of the public may access these Works from a place and at a 93 | place individually chosen by them; to perform the Work to the public 94 | by any means or process and the communication to the public of the 95 | performances of the Work, including by public digital performance; to 96 | broadcast and rebroadcast the Work by any means including signs, 97 | sounds or images. 98 | i. "Reproduce" means to make copies of the Work by any means including 99 | without limitation by sound or visual recordings and the right of 100 | fixation and reproducing fixations of the Work, including storage of a 101 | protected performance or phonogram in digital form or other electronic 102 | medium. 103 | 104 | 2. Fair Dealing Rights. Nothing in this License is intended to reduce, 105 | limit, or restrict any uses free from copyright or rights arising from 106 | limitations or exceptions that are provided for in connection with the 107 | copyright protection under copyright law or other applicable laws. 108 | 109 | 3. License Grant. Subject to the terms and conditions of this License, 110 | Licensor hereby grants You a worldwide, royalty-free, non-exclusive, 111 | perpetual (for the duration of the applicable copyright) license to 112 | exercise the rights in the Work as stated below: 113 | 114 | a. to Reproduce the Work, to incorporate the Work into one or more 115 | Collections, and to Reproduce the Work as incorporated in the 116 | Collections; 117 | b. to create and Reproduce Adaptations provided that any such Adaptation, 118 | including any translation in any medium, takes reasonable steps to 119 | clearly label, demarcate or otherwise identify that changes were made 120 | to the original Work. For example, a translation could be marked "The 121 | original work was translated from English to Spanish," or a 122 | modification could indicate "The original work has been modified."; 123 | c. to Distribute and Publicly Perform the Work including as incorporated 124 | in Collections; and, 125 | d. to Distribute and Publicly Perform Adaptations. 126 | e. For the avoidance of doubt: 127 | 128 | i. Non-waivable Compulsory License Schemes. In those jurisdictions in 129 | which the right to collect royalties through any statutory or 130 | compulsory licensing scheme cannot be waived, the Licensor 131 | reserves the exclusive right to collect such royalties for any 132 | exercise by You of the rights granted under this License; 133 | ii. Waivable Compulsory License Schemes. In those jurisdictions in 134 | which the right to collect royalties through any statutory or 135 | compulsory licensing scheme can be waived, the Licensor waives the 136 | exclusive right to collect such royalties for any exercise by You 137 | of the rights granted under this License; and, 138 | iii. Voluntary License Schemes. The Licensor waives the right to 139 | collect royalties, whether individually or, in the event that the 140 | Licensor is a member of a collecting society that administers 141 | voluntary licensing schemes, via that society, from any exercise 142 | by You of the rights granted under this License. 143 | 144 | The above rights may be exercised in all media and formats whether now 145 | known or hereafter devised. The above rights include the right to make 146 | such modifications as are technically necessary to exercise the rights in 147 | other media and formats. Subject to Section 8(f), all rights not expressly 148 | granted by Licensor are hereby reserved. 149 | 150 | 4. Restrictions. The license granted in Section 3 above is expressly made 151 | subject to and limited by the following restrictions: 152 | 153 | a. You may Distribute or Publicly Perform the Work only under the terms 154 | of this License. You must include a copy of, or the Uniform Resource 155 | Identifier (URI) for, this License with every copy of the Work You 156 | Distribute or Publicly Perform. You may not offer or impose any terms 157 | on the Work that restrict the terms of this License or the ability of 158 | the recipient of the Work to exercise the rights granted to that 159 | recipient under the terms of the License. You may not sublicense the 160 | Work. You must keep intact all notices that refer to this License and 161 | to the disclaimer of warranties with every copy of the Work You 162 | Distribute or Publicly Perform. When You Distribute or Publicly 163 | Perform the Work, You may not impose any effective technological 164 | measures on the Work that restrict the ability of a recipient of the 165 | Work from You to exercise the rights granted to that recipient under 166 | the terms of the License. This Section 4(a) applies to the Work as 167 | incorporated in a Collection, but this does not require the Collection 168 | apart from the Work itself to be made subject to the terms of this 169 | License. If You create a Collection, upon notice from any Licensor You 170 | must, to the extent practicable, remove from the Collection any credit 171 | as required by Section 4(b), as requested. If You create an 172 | Adaptation, upon notice from any Licensor You must, to the extent 173 | practicable, remove from the Adaptation any credit as required by 174 | Section 4(b), as requested. 175 | b. If You Distribute, or Publicly Perform the Work or any Adaptations or 176 | Collections, You must, unless a request has been made pursuant to 177 | Section 4(a), keep intact all copyright notices for the Work and 178 | provide, reasonable to the medium or means You are utilizing: (i) the 179 | name of the Original Author (or pseudonym, if applicable) if supplied, 180 | and/or if the Original Author and/or Licensor designate another party 181 | or parties (e.g., a sponsor institute, publishing entity, journal) for 182 | attribution ("Attribution Parties") in Licensor's copyright notice, 183 | terms of service or by other reasonable means, the name of such party 184 | or parties; (ii) the title of the Work if supplied; (iii) to the 185 | extent reasonably practicable, the URI, if any, that Licensor 186 | specifies to be associated with the Work, unless such URI does not 187 | refer to the copyright notice or licensing information for the Work; 188 | and (iv) , consistent with Section 3(b), in the case of an Adaptation, 189 | a credit identifying the use of the Work in the Adaptation (e.g., 190 | "French translation of the Work by Original Author," or "Screenplay 191 | based on original Work by Original Author"). The credit required by 192 | this Section 4 (b) may be implemented in any reasonable manner; 193 | provided, however, that in the case of a Adaptation or Collection, at 194 | a minimum such credit will appear, if a credit for all contributing 195 | authors of the Adaptation or Collection appears, then as part of these 196 | credits and in a manner at least as prominent as the credits for the 197 | other contributing authors. For the avoidance of doubt, You may only 198 | use the credit required by this Section for the purpose of attribution 199 | in the manner set out above and, by exercising Your rights under this 200 | License, You may not implicitly or explicitly assert or imply any 201 | connection with, sponsorship or endorsement by the Original Author, 202 | Licensor and/or Attribution Parties, as appropriate, of You or Your 203 | use of the Work, without the separate, express prior written 204 | permission of the Original Author, Licensor and/or Attribution 205 | Parties. 206 | c. Except as otherwise agreed in writing by the Licensor or as may be 207 | otherwise permitted by applicable law, if You Reproduce, Distribute or 208 | Publicly Perform the Work either by itself or as part of any 209 | Adaptations or Collections, You must not distort, mutilate, modify or 210 | take other derogatory action in relation to the Work which would be 211 | prejudicial to the Original Author's honor or reputation. Licensor 212 | agrees that in those jurisdictions (e.g. Japan), in which any exercise 213 | of the right granted in Section 3(b) of this License (the right to 214 | make Adaptations) would be deemed to be a distortion, mutilation, 215 | modification or other derogatory action prejudicial to the Original 216 | Author's honor and reputation, the Licensor will waive or not assert, 217 | as appropriate, this Section, to the fullest extent permitted by the 218 | applicable national law, to enable You to reasonably exercise Your 219 | right under Section 3(b) of this License (right to make Adaptations) 220 | but not otherwise. 221 | 222 | 5. Representations, Warranties and Disclaimer 223 | 224 | UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR 225 | OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY 226 | KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, 227 | INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, 228 | FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF 229 | LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, 230 | WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION 231 | OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. 232 | 233 | 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE 234 | LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR 235 | ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES 236 | ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS 237 | BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 238 | 239 | 7. Termination 240 | 241 | a. This License and the rights granted hereunder will terminate 242 | automatically upon any breach by You of the terms of this License. 243 | Individuals or entities who have received Adaptations or Collections 244 | from You under this License, however, will not have their licenses 245 | terminated provided such individuals or entities remain in full 246 | compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will 247 | survive any termination of this License. 248 | b. Subject to the above terms and conditions, the license granted here is 249 | perpetual (for the duration of the applicable copyright in the Work). 250 | Notwithstanding the above, Licensor reserves the right to release the 251 | Work under different license terms or to stop distributing the Work at 252 | any time; provided, however that any such election will not serve to 253 | withdraw this License (or any other license that has been, or is 254 | required to be, granted under the terms of this License), and this 255 | License will continue in full force and effect unless terminated as 256 | stated above. 257 | 258 | 8. Miscellaneous 259 | 260 | a. Each time You Distribute or Publicly Perform the Work or a Collection, 261 | the Licensor offers to the recipient a license to the Work on the same 262 | terms and conditions as the license granted to You under this License. 263 | b. Each time You Distribute or Publicly Perform an Adaptation, Licensor 264 | offers to the recipient a license to the original Work on the same 265 | terms and conditions as the license granted to You under this License. 266 | c. If any provision of this License is invalid or unenforceable under 267 | applicable law, it shall not affect the validity or enforceability of 268 | the remainder of the terms of this License, and without further action 269 | by the parties to this agreement, such provision shall be reformed to 270 | the minimum extent necessary to make such provision valid and 271 | enforceable. 272 | d. No term or provision of this License shall be deemed waived and no 273 | breach consented to unless such waiver or consent shall be in writing 274 | and signed by the party to be charged with such waiver or consent. 275 | e. This License constitutes the entire agreement between the parties with 276 | respect to the Work licensed here. There are no understandings, 277 | agreements or representations with respect to the Work not specified 278 | here. Licensor shall not be bound by any additional provisions that 279 | may appear in any communication from You. This License may not be 280 | modified without the mutual written agreement of the Licensor and You. 281 | f. The rights granted under, and the subject matter referenced, in this 282 | License were drafted utilizing the terminology of the Berne Convention 283 | for the Protection of Literary and Artistic Works (as amended on 284 | September 28, 1979), the Rome Convention of 1961, the WIPO Copyright 285 | Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 286 | and the Universal Copyright Convention (as revised on July 24, 1971). 287 | These rights and subject matter take effect in the relevant 288 | jurisdiction in which the License terms are sought to be enforced 289 | according to the corresponding provisions of the implementation of 290 | those treaty provisions in the applicable national law. If the 291 | standard suite of rights granted under applicable copyright law 292 | includes additional rights not granted under this License, such 293 | additional rights are deemed to be included in the License; this 294 | License is not intended to restrict the license of any rights under 295 | applicable law. 296 | 297 | 298 | Creative Commons Notice 299 | 300 | Creative Commons is not a party to this License, and makes no warranty 301 | whatsoever in connection with the Work. Creative Commons will not be 302 | liable to You or any party on any legal theory for any damages 303 | whatsoever, including without limitation any general, special, 304 | incidental or consequential damages arising in connection to this 305 | license. Notwithstanding the foregoing two (2) sentences, if Creative 306 | Commons has expressly identified itself as the Licensor hereunder, it 307 | shall have all rights and obligations of Licensor. 308 | 309 | Except for the limited purpose of indicating to the public that the 310 | Work is licensed under the CCPL, Creative Commons does not authorize 311 | the use by either party of the trademark "Creative Commons" or any 312 | related trademark or logo of Creative Commons without the prior 313 | written consent of Creative Commons. Any permitted use will be in 314 | compliance with Creative Commons' then-current trademark usage 315 | guidelines, as may be published on its website or otherwise made 316 | available upon request from time to time. For the avoidance of doubt, 317 | this trademark restriction does not form part of this License. 318 | 319 | Creative Commons may be contacted at http://creativecommons.org/. 320 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # The Old Reader API 2 | 3 | ## TODO 4 | 5 | - Tagging items 6 | - OAuth 7 | 8 | ## Apps 9 | 10 | See complete list of apps and extensions on [theoldreader.com](http://theoldreader.com/pages/apps). 11 | 12 | ## Libraries 13 | 14 | - [PHP](https://github.com/zelenin/Tor) (by [zelenin](https://github.com/zelenin)) 15 | - [Ruby](https://github.com/ianzy/theoldreader) (by [ianzy](https://github.com/ianzy)) 16 | 17 | ## Contributing 18 | 19 | You are welcome to improve documentation, please feel free to send us pull requests with your adjustments. 20 | 21 | If you find any bugs or feel that something is not working as expected, please create a github issue or contact us at [api@theoldreader.com](mailto:api@theoldreader.com). 22 | 23 | ## Current API 24 | 25 | Current API tries to mimic the unofficial Google Reader API. 26 | 27 | Please note that even though you can use API both via http and https, we highly encourage you to use https for security reasons. 28 | 29 | ### Differences 30 | 31 | - Currently only json format is supported 32 | - We use BSON ObjectId for user, item, subscription identifiers (example: ```00157a17b192950b65be3791```) 33 | - We also use ObjectId in Stream Ids instead of URL (example: ```feed/00157a17b192950b65be3791```) 34 | - Current user id is replaced with ```-``` in state/label strings (examples: ```user/-/state/com.google/reading-list```, ```user/-/label/Folder```) 35 | 36 | ### Authentication 37 | 38 | All requests you will be sending to the API should be authenticated by a token. 39 | 40 | Please note that The Old Reader allows users to sign in via OAuth (Google or Facebook), but the only way to get an API token for a now is to set password in settings and use it for authentication. 41 | 42 | #### Getting a token 43 | 44 | Sample request: 45 | 46 | ``` 47 | curl -d "client=YourAppName&accountType=HOSTED_OR_GOOGLE&service=reader&Email=test@krasnoukhov.com&Passwd=..." https://theoldreader.com/accounts/ClientLogin 48 | ``` 49 | 50 | Sample response: 51 | 52 | ``` 53 | SID=none 54 | LSID=none 55 | Auth=LyTEJPvTJiSPrCxLu46d 56 | ``` 57 | 58 | Please note that you can also get a token by requesting following url: ```/reader/api/0/accounts/ClientLogin``` 59 | 60 | Also you might want to add ```output=json``` to POST parameters for corresponding result. 61 | 62 | #### Using a token 63 | 64 | Include `Authorization: GoogleLogin auth=TOKEN` HTTP header in all your requests. For example: 65 | 66 | Authorization: GoogleLogin auth=LyTEJPvTJiSPrCxLu46d 67 | 68 | ### Errors 69 | 70 | All errors except [Adding subscription](#adding-subscription) have following format: 71 | 72 | XML: 73 | 74 | ``` 75 | 76 | 77 | XML output currently is not supported 78 | 79 | ``` 80 | 81 | JSON: 82 | 83 | ``` 84 | { 85 | errors: [ 86 | "Temporary unavailable, please try later" 87 | ] 88 | } 89 | ``` 90 | 91 | ### Status 92 | 93 | After a couple unsuccessful requests you might try to obtain current The Old Reader status: 94 | 95 | GET [https://theoldreader.com/reader/api/0/status?output=json](https://theoldreader.com/reader/api/0/status?output=json) 96 | 97 | Everything is fine: 98 | 99 | ``` 100 | > curl https://theoldreader.com/reader/api/0/status?output=json 101 | {"status":"up"} 102 | ``` 103 | 104 | Something is wrong: 105 | 106 | ``` 107 | > curl https://theoldreader.com/reader/api/0/status?output=json 108 | {"status":"down","description":"Database issues","redirect":"http://status.theoldreader.com"} 109 | ``` 110 | 111 | ### Generic methods 112 | 113 | #### Token 114 | 115 | GET [https://theoldreader.com/reader/api/0/token](https://theoldreader.com/reader/api/0/token) 116 | 117 | ``` 118 | > curl https://theoldreader.com/reader/api/0/token -H "Authorization: GoogleLogin auth=LyTEJPvTJiSPrCxLu46d" 119 | LyTEJPvTJiSPrCxLu46d 120 | ``` 121 | 122 | Added for compatibility. 123 | 124 | #### User info 125 | 126 | GET [https://theoldreader.com/reader/api/0/user-info?output=json](https://theoldreader.com/reader/api/0/user-info?output=json) 127 | 128 | ``` 129 | > curl https://theoldreader.com/reader/api/0/user-info?output=json -H "Authorization: GoogleLogin auth=LyTEJPvTJiSPrCxLu46d" 130 | {"userId":"00157a17b192950b65be3791","userName":"Test","userProfileId":"00157a17b192950b65be3791","userEmail":"test@krasnoukhov.com","isBloggerUser":false,"signupTimeSec":1370709105,"isMultiLoginEnabled":false,"isPremium":true} 131 | ``` 132 | 133 | #### Preferences list 134 | 135 | GET [https://theoldreader.com/reader/api/0/preference/list?output=json](https://theoldreader.com/reader/api/0/preference/list?output=json) 136 | 137 | Added for compatibility. 138 | 139 | ### Friends 140 | 141 | #### Friend list 142 | 143 | GET [https://theoldreader.com/reader/api/0/friend/list?output=json](https://theoldreader.com/reader/api/0/friend/list?output=json) 144 | 145 | Contains friends list. 146 | 147 | #### Following/unfollowing a friend 148 | 149 | POST [https://theoldreader.com/reader/api/0/friend/edit](https://theoldreader.com/reader/api/0/friend/edit) 150 | 151 | Parameters: 152 | 153 | # Follow 154 | action=addfollowing 155 | 156 | # Or unfollow 157 | action=removefollowing 158 | 159 | # By id 160 | u=00157a17b192950b65be3791 161 | 162 | # Or by stream id 163 | u=user/00157a17b192950b65be3791/state/com.google/broadcast 164 | 165 | ### Comments 166 | 167 | #### Adding a comment 168 | 169 | POST [https://theoldreader.com/reader/api/0/comment/edit](https://theoldreader.com/reader/api/0/comment/edit) 170 | 171 | Parameters: 172 | 173 | action=addcomment 174 | i=tag:google.com,2005:reader/item/00157a17b192950b65be3791 175 | comment=Hello 176 | 177 | ### Folders 178 | 179 | #### Tag list 180 | 181 | GET [https://theoldreader.com/reader/api/0/tag/list?output=json](https://theoldreader.com/reader/api/0/tag/list?output=json) 182 | 183 | Contains folder list. 184 | 185 | #### Stream preferences list 186 | 187 | GET [https://theoldreader.com/reader/api/0/preference/stream/list?output=json](https://theoldreader.com/reader/api/0/preference/stream/list?output=json) 188 | 189 | Contains information about subscriptions ordering for root (folders and subscriptions ordering) and user folders (subscriptions ordering). 190 | 191 | #### Update stream preferences 192 | 193 | POST [https://theoldreader.com/reader/api/0/preference/stream/set](https://theoldreader.com/reader/api/0/preference/stream/set) 194 | 195 | Added for compatibility. 196 | 197 | #### Renaming folder 198 | 199 | POST [https://theoldreader.com/reader/api/0/rename-tag](https://theoldreader.com/reader/api/0/rename-tag) 200 | 201 | Parameters: 202 | 203 | s=user/-/label/Folder 204 | dest=user/-/label/NewFolder 205 | 206 | #### Removing folder 207 | 208 | POST [https://theoldreader.com/reader/api/0/disable-tag](https://theoldreader.com/reader/api/0/disable-tag) 209 | 210 | Removes folder and moves subscriptions to default folder. 211 | 212 | Parameters: 213 | 214 | s=user/-/label/Folder 215 | 216 | ### Subscriptions 217 | 218 | #### Unread count 219 | 220 | GET [https://theoldreader.com/reader/api/0/unread-count?output=json](https://theoldreader.com/reader/api/0/unread-count?output=json) 221 | 222 | Contains unread counts for all items (reading list), each folder, subscription and friend. 223 | 224 | #### Subscriptions list 225 | 226 | GET [https://theoldreader.com/reader/api/0/subscription/list?output=json](https://theoldreader.com/reader/api/0/subscription/list?output=json) 227 | 228 | Each subscription contains ```url```, ```htmlUrl``` and ```iconUrl```. 229 | 230 | #### Subscriptions OPML 231 | 232 | GET [https://theoldreader.com/reader/subscriptions/export](https://theoldreader.com/reader/subscriptions/export) 233 | 234 | #### Adding subscription 235 | 236 | POST [https://theoldreader.com/reader/api/0/subscription/quickadd?quickadd=blog.theoldreader.com](https://theoldreader.com/reader/api/0/subscription/quickadd?quickadd=blog.theoldreader.com) 237 | 238 | Successful response: 239 | 240 | ``` 241 | {"query":"blog.theoldreader.com","numResults":1,"streamId":"feed/00157a17b192950b65be3791"} 242 | ``` 243 | 244 | Failed response: 245 | 246 | ``` 247 | {"query":"blog.theoldreader.com","numResults":0,"error":"Feed was not added. You already have 129 subscriptions, your limit is 100. You should upgrade to premium."} 248 | ``` 249 | 250 | 251 | #### Updating subscription 252 | 253 | POST [https://theoldreader.com/reader/api/0/subscription/edit](https://theoldreader.com/reader/api/0/subscription/edit) 254 | 255 | Parameters: 256 | 257 | ac=edit 258 | 259 | # Stream Id 260 | s=feed/00157a17b192950b65be3791 261 | 262 | # Change subscription title 263 | t=Title 264 | 265 | # Move subscription to folder with a given title 266 | a=user/-/label/Folder 267 | 268 | # Move subscription to default folder (no difference what r is) 269 | r=user/-/label/Folder 270 | 271 | #### Removing subscription 272 | 273 | POST [https://theoldreader.com/reader/api/0/subscription/edit](https://theoldreader.com/reader/api/0/subscription/edit) 274 | 275 | Parameters: 276 | 277 | ac=unsubscribe 278 | s=feed/00157a17b192950b65be3791 # Stream Id 279 | 280 | ### Items 281 | 282 | #### Item ids 283 | 284 | GET [https://theoldreader.com/reader/api/0/stream/items/ids?output=json](https://theoldreader.com/reader/api/0/stream/items/ids?output=json) 285 | 286 | Parameters: 287 | 288 | Filter by stream: 289 | 290 | # All items 291 | s=user/-/state/com.google/reading-list 292 | 293 | # Read items 294 | s=user/-/state/com.google/read 295 | 296 | # Starred items 297 | s=user/-/state/com.google/starred 298 | 299 | # Liked items 300 | s=user/-/state/com.google/like 301 | 302 | # Shared items 303 | s=user/-/state/com.google/broadcast 304 | 305 | # Commented items 306 | s=user/-/state/com.google/broadcast-friends-comments 307 | 308 | # Shared by friends 309 | s=user/-/state/com.google/broadcast-friends 310 | 311 | # Folder 312 | s=user/-/label/... 313 | 314 | # Subscription 315 | s=feed/00157a17b192950b65be3791 316 | 317 | # Friend 318 | s=user/00157a17b192950b65be3791/state/com.google/broadcast 319 | 320 | Exclude items (please note that this does not work for starred/liked/shared/commented items): 321 | 322 | # Only unread 323 | xt=user/-/state/com.google/read 324 | 325 | Other parameters: 326 | 327 | n=1000 # Limit items 328 | r=o # Reverse sorting 329 | c=… # Continuation 330 | nt=1371645508 # Older than 331 | ot=1371645508 # Newer than 332 | 333 | Please note that maximum limit is: ```10000``` for item ids, ```1000``` for item contents. 334 | 335 | #### Item contents 336 | 337 | POST [https://theoldreader.com/reader/api/0/stream/items/contents?output=json](https://theoldreader.com/reader/api/0/stream/items/contents?output=json) 338 | 339 | Parameters: 340 | 341 | # Item ids 342 | i=tag:google.com,2005:reader/item/00157a17b192950b65be3791&i=…&i=… 343 | 344 | # Atom output 345 | output=atom 346 | 347 | #### Stream contents 348 | 349 | GET [https://theoldreader.com/reader/api/0/stream/contents?output=json](https://theoldreader.com/reader/api/0/stream/contents?output=json) 350 | 351 | Parameters: 352 | 353 | # Same as for ids 354 | 355 | # Atom output 356 | output=atom 357 | 358 | Also there is an atom feed for specific Stream Id: 359 | 360 | GET [https://theoldreader.com/reader/atom/feed/00157a17b192950b65be3791](https://theoldreader.com/reader/atom/feed/00157a17b192950b65be3791) 361 | 362 | And state: 363 | 364 | GET [https://theoldreader.com/reader/atom/user/-/state/com.google/read](https://theoldreader.com/reader/atom/user/-/state/com.google/read) 365 | 366 | And folder: 367 | 368 | GET [https://theoldreader.com/reader/atom/user/-/label/Folder](https://theoldreader.com/reader/atom/user/-/label/Folder) 369 | 370 | #### Marking all as read 371 | 372 | POST [https://theoldreader.com/reader/api/0/mark-all-as-read](https://theoldreader.com/reader/api/0/mark-all-as-read) 373 | 374 | Please note that this does not work for starred/liked/shared/commented items. 375 | 376 | Parameters: 377 | 378 | # All items 379 | s=user/-/state/com.google/reading-list 380 | 381 | # Shared by friends 382 | s=user/-/state/com.google/broadcast-friends 383 | 384 | # Folder 385 | s=user/-/label/... 386 | 387 | # Subscription 388 | s=feed/00157a17b192950b65be3791 389 | 390 | # Friend 391 | s=user/00157a17b192950b65be3791/state/com.google/broadcast 392 | 393 | # Older than timestamp in nanoseconds 394 | ts=1371645508000000 395 | 396 | #### Updating items 397 | 398 | POST [https://theoldreader.com/reader/api/0/edit-tag](https://theoldreader.com/reader/api/0/edit-tag) 399 | 400 | Parameters: 401 | 402 | # Item ids 403 | i=tag:google.com,2005:reader/item/00157a17b192950b65be3791&i=…&i=… 404 | 405 | # Mark as read 406 | a=user/-/state/com.google/read 407 | 408 | # Mark as starred 409 | a=user/-/state/com.google/starred 410 | 411 | # Mark as liked 412 | a=user/-/state/com.google/like 413 | 414 | # Mark as shared 415 | a=user/-/state/com.google/broadcast 416 | 417 | # Mark as shared (with note) 418 | a=user/-/state/com.google/broadcast&annotation=Hello 419 | 420 | # Mark as unread 421 | r=user/-/state/com.google/read 422 | 423 | # Remove starred mark 424 | r=user/-/state/com.google/starred 425 | 426 | # Remove liked mark 427 | r=user/-/state/com.google/like 428 | 429 | # Remove shared mark 430 | r=user/-/state/com.google/broadcast 431 | -------------------------------------------------------------------------------- /media/oldreader-icon-1024-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/theoldreader/api/a26a4bc357c689287e59b9458e4e3921ddd53f9f/media/oldreader-icon-1024-white.png -------------------------------------------------------------------------------- /media/oldreader-icon-1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/theoldreader/api/a26a4bc357c689287e59b9458e4e3921ddd53f9f/media/oldreader-icon-1024.png -------------------------------------------------------------------------------- /media/oldreader-icon-2048-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/theoldreader/api/a26a4bc357c689287e59b9458e4e3921ddd53f9f/media/oldreader-icon-2048-white.png -------------------------------------------------------------------------------- /media/oldreader-icon-2048.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/theoldreader/api/a26a4bc357c689287e59b9458e4e3921ddd53f9f/media/oldreader-icon-2048.png -------------------------------------------------------------------------------- /media/oldreader-icon-red-196.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/theoldreader/api/a26a4bc357c689287e59b9458e4e3921ddd53f9f/media/oldreader-icon-red-196.png -------------------------------------------------------------------------------- /media/oldreader-icon.ai: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/theoldreader/api/a26a4bc357c689287e59b9458e4e3921ddd53f9f/media/oldreader-icon.ai -------------------------------------------------------------------------------- /media/oldreader-icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 26 | 27 | 28 | --------------------------------------------------------------------------------