FORMAT: 1A HOST: https://api.ritekit.com # RiteKit API RiteKit API is based on REST principles. Authentication uses standard OAuth 2.0 process ##Getting started 1. Sign up for [RiteKit](https://ritekit.com/) 1. Go to [developer dashboard](https://ritekit.com/developer/dashboard/) 1. Click "Create a token" button to get your **Client ID** and **Client secret** 1. When you reach your free limit of calls per month, [upgrade to paid tiers](https://ritekit.com/developer/) ## Options for authorizing API Calls #### Using Client ID directly You can directly connect to our API using your **client ID** by sending it as a GET query parameter. This option is simple (no need for oAuth) but it should be used only in case the Client ID is not exposed publicly. GET https://api.ritekit.com/v1/stats/multiple-hashtags?tags=php&client_id=292c6912e7710c838347ae178b4a ## Hashtags [/v1/stats/] ### Auto-Hashtag [GET /v1/stats/auto-hashtag{?post,maxHashtags,hashtagPosition}] Returns auto-hashtagged text of the post. + Parameters + post (string, `Is artificial intelligence the future of customer service?`) ... Text of the post + maxHashtags = `2` (optional, integer) ... Max number of hashtags. + hashtagPosition = `auto` (optional, string) ... Position of hashtags: end => at the end, auto => anywhere + Request (text/html; charset=utf-8) + Response 200 (application/json; charset=utf-8) + Body { "result": true, "code": 200, "message": "OK", "post": "Is #ArtificialIntelligence the future of #CustomerService?" } ### Hashtag Suggestions [GET /v1/stats/hashtag-suggestions{?text}] Returns list of hashtag suggestions for a single-word topic or a shorter text up to 1000 characters. Takes into account both semantic relevancy and real-time hashtag popularity. + Parameters + text (string, `seo`) ... Topic + Request (text/html; charset=utf-8) + Response 200 (application/json; charset=utf-8) + Body { "result": true, "code": 200, "message": "OK", "hashtag": "seo", "data": [ { "hashtag": "seo", "tag": "seo", "tweets": 600, "exposure": 5217908, "retweets": 338, "images": 31.33333, "links": 98.0, "mentions": 14.66667, "color": 3 } ] } ### Hashtag Stats [GET /v1/stats/multiple-hashtags{?tags}] Returns real-time stats for up to 100 hashtags (updated hourly). + Parameters + tags (array, `jobs,hello`) ... Hashtag(s) without # mark + Request (text/html; charset=utf-8) + Response 200 (application/json; charset=utf-8) + Body { "result": true, "code": 200, "hashtags": [ "jobs", "hello" ], "message": "OK", "stats": [ { "hashtag": "jobs", "tag": "jobs", "tweets": 2208, "exposure": 5046671, "retweets": 42, "images": 0.0303442, "links": 0.9981884, "mentions": 0.0076993, "color": 3 }, { "hashtag": "hello", "tag": "hello", "tweets": 21, "exposure": 5254, "retweets": 12, "images": 0.5714286, "links": 0.3809524, "mentions": 0.1904762, "color": 2 } ], "color": [ "Unused", "Overused", "Good", "Great" ] } ### Hashtag History [GET /v1/stats/history/{hashtag}] Returns historical stats for a given hashtag from the last 30 days + Parameters + hashtag (string, `job`) ... Hashtag without # mark + Request (text/html; charset=utf-8) + Response 200 (application/json; charset=utf-8) + Body { "result": true, "code": 200, "message": "OK", "hashtag": "job", "data": [ { "links": 1.0, "color": 3, "images": 0.03, "tweets": 153000, "tag": "job", "retweets": 3100, "date": "2017-10-25", "mentions": 0.01, "exposure": 160471200 }, { "links": 1.0, "color": 3, "images": 0.02, "tweets": 151000, "tag": "job", "retweets": 4100, "date": "2017-10-26", "mentions": 0.01, "exposure": 109069700 }, { "links": 1.0, "color": 3, "images": 0.03, "tweets": 148800, "tag": "job", "retweets": 3500, "date": "2017-10-27", "mentions": 0.01, "exposure": 137699400 }, { "links": 1.0, "color": 3, "images": 0.03, "tweets": 137300, "tag": "job", "retweets": 4600, "date": "2017-10-28", "mentions": 0.01, "exposure": 235051400 }, { "links": 1.0, "color": 3, "images": 0.02, "tweets": 134500, "tag": "job", "retweets": 3500, "date": "2017-10-29", "mentions": 0.0, "exposure": 121564000 }, { "links": 1.0, "color": 3, "images": 0.02, "tweets": 143000, "tag": "job", "retweets": 3600, "date": "2017-10-30", "mentions": 0.01, "exposure": 128854800 }, { "links": 1.0, "color": 3, "images": 0.02, "tweets": 140800, "tag": "job", "retweets": 4100, "date": "2017-10-31", "mentions": 0.01, "exposure": 132086500 }, { "links": 0.99, "color": 3, "images": 0.02, "tweets": 145400, "tag": "job", "retweets": 3400, "date": "2017-11-01", "mentions": 0.01, "exposure": 131824000 }, { "links": 1.0, "color": 3, "images": 0.02, "tweets": 155700, "tag": "job", "retweets": 3600, "date": "2017-11-02", "mentions": 0.01, "exposure": 184530800 }, { "links": 1.0, "color": 3, "images": 0.02, "tweets": 153100, "tag": "job", "retweets": 4200, "date": "2017-11-03", "mentions": 0.01, "exposure": 144650100 }, { "links": 1.0, "color": 3, "images": 0.02, "tweets": 137800, "tag": "job", "retweets": 4700, "date": "2017-11-04", "mentions": 0.01, "exposure": 109752200 }, { "links": 1.0, "color": 3, "images": 0.02, "tweets": 136400, "tag": "job", "retweets": 3600, "date": "2017-11-05", "mentions": 0.01, "exposure": 135693300 }, { "links": 1.0, "color": 3, "images": 0.02, "tweets": 151500, "tag": "job", "retweets": 3400, "date": "2017-11-06", "mentions": 0.01, "exposure": 156251100 }, { "links": 1.0, "color": 3, "images": 0.02, "tweets": 157300, "tag": "job", "retweets": 4500, "date": "2017-11-07", "mentions": 0.01, "exposure": 172000300 }, { "links": 1.0, "color": 3, "images": 0.02, "tweets": 155800, "tag": "job", "retweets": 3800, "date": "2017-11-08", "mentions": 0.01, "exposure": 179755400 }, { "links": 1.0, "color": 3, "images": 0.02, "tweets": 164300, "tag": "job", "retweets": 2800, "date": "2017-11-09", "mentions": 0.01, "exposure": 146006500 }, { "links": 1.0, "color": 3, "images": 0.03, "tweets": 153500, "tag": "job", "retweets": 2700, "date": "2017-11-10", "mentions": 0.01, "exposure": 109453700 }, { "links": 1.0, "color": 3, "images": 0.01, "tweets": 144800, "tag": "job", "retweets": 1800, "date": "2017-11-11", "mentions": 0.01, "exposure": 103181700 }, { "links": 1.0, "color": 3, "images": 0.02, "tweets": 40200, "tag": "job", "retweets": 800, "date": "2017-11-12", "mentions": 0.01, "exposure": 67415600 }, { "links": 1.0, "color": 3, "images": 0.02, "tweets": 115200, "tag": "job", "retweets": 2400, "date": "2017-11-13", "mentions": 0.01, "exposure": 102777900 }, { "links": 1.0, "color": 3, "images": 0.03, "tweets": 120400, "tag": "job", "retweets": 2500, "date": "2017-11-14", "mentions": 0.01, "exposure": 100626300 }, { "links": 1.0, "color": 3, "images": 0.03, "tweets": 148200, "tag": "job", "retweets": 2300, "date": "2017-11-15", "mentions": 0.01, "exposure": 103573900 }, { "links": 1.0, "color": 3, "images": 0.02, "tweets": 153000, "tag": "job", "retweets": 3900, "date": "2017-11-16", "mentions": 0.01, "exposure": 104332600 }, { "links": 1.0, "color": 3, "images": 0.03, "tweets": 124000, "tag": "job", "retweets": 2600, "date": "2017-11-17", "mentions": 0.01, "exposure": 114890500 }, { "links": 1.0, "color": 3, "images": 0.03, "tweets": 116400, "tag": "job", "retweets": 1900, "date": "2017-11-18", "mentions": 0.01, "exposure": 78934500 }, { "links": 1.0, "color": 3, "images": 0.03, "tweets": 120400, "tag": "job", "retweets": 2600, "date": "2017-11-19", "mentions": 0.01, "exposure": 125604100 }, { "links": 1.0, "color": 3, "images": 0.03, "tweets": 128300, "tag": "job", "retweets": 3400, "date": "2017-11-20", "mentions": 0.01, "exposure": 157730700 }, { "links": 1.0, "color": 3, "images": 0.02, "tweets": 130000, "tag": "job", "retweets": 3100, "date": "2017-11-21", "mentions": 0.0, "exposure": 109622600 }, { "links": 1.0, "color": 3, "images": 0.02, "tweets": 111600, "tag": "job", "retweets": 1700, "date": "2017-11-22", "mentions": 0.01, "exposure": 85755200 }, { "links": 1.0, "color": 3, "images": 0.03, "tweets": 131400, "tag": "job", "retweets": 3300, "date": "2017-11-23", "mentions": 0.01, "exposure": 189899700 } ], "color": [ "Unused", "Overused", "Good", "Great" ] } ### Trending Hashtags [GET /v1/search/trending{?green,latin}] Returns list of hashtags currently trending on Twitter + Parameters + green = `1` (optional, boolean) ... Restrict results only to green hashtags. Hides overused (red) hashtags. + latin = `1` (optional, boolean) ... Restrict results only to hashtags with latin characters + Request (text/html; charset=utf-8) + Response 200 (application/json; charset=utf-8) + Body { "result": true, "message": "OK", "code": 200, "tags": [ { "tag": "blackfriday", "tweets": 6704, "retweets": 10025, "exposure": 122017712, "links": 0.6537888, "photos": 0.2045048, "mentions": 0.2131563, "color": 3 }, { "tag": "happythanksgiving", "tweets": 5712, "retweets": 9184, "exposure": 51914008, "links": 0.4114146, "photos": 0.327556, "mentions": 0.1771709, "color": 3 }, { "tag": "job", "tweets": 5438, "retweets": 179, "exposure": 5492292, "links": 0.9990805, "photos": 0.0283192, "mentions": 0.0031261, "color": 3 }, { "tag": "hadith", "tweets": 5096, "retweets": 104, "exposure": 7558725, "links": 0.0007849, "photos": 0.0007849, "mentions": 0.0, "color": 3 }, { "tag": "ariasharrystyles", "tweets": 4792, "retweets": 8846, "exposure": 5989358, "links": 0.1435726, "photos": 0.1087229, "mentions": 0.4252922, "color": 3 }, { "tag": "mtvstars", "tweets": 4683, "retweets": 192, "exposure": 541196, "links": 0.9822763, "photos": 0.0, "mentions": 0.0036302, "color": 3 }, { "tag": "newprofilepic", "tweets": 4454, "retweets": 2200, "exposure": 4334317, "links": 0.0017961, "photos": 0.9982039, "mentions": 0.0121239, "color": 3 }, { "tag": "hiring", "tweets": 4225, "retweets": 67, "exposure": 4363421, "links": 1.0, "photos": 0.0089941, "mentions": 0.0059172, "color": 3 }, { "tag": "boxluansantana10anos", "tweets": 3633, "retweets": 446, "exposure": 11793633, "links": 0.0803743, "photos": 0.0195431, "mentions": 0.2557115, "color": 3 }, { "tag": "ad", "tweets": 3471, "retweets": 358, "exposure": 7265592, "links": 0.97724, "photos": 0.0959378, "mentions": 0.04552, "color": 3 }, { "tag": "news", "tweets": 3421, "retweets": 987, "exposure": 30332321, "links": 0.963461, "photos": 0.1584332, "mentions": 0.0561239, "color": 3 }, { "tag": "quran", "tweets": 3400, "retweets": 212, "exposure": 8032954, "links": 0.0552941, "photos": 0.0035294, "mentions": 0.0035294, "color": 3 }, { "tag": "trecru", "tweets": 3200, "retweets": 17, "exposure": 72458, "links": 1.0, "photos": 1.0, "mentions": 0.0, "color": 3 }, { "tag": "tuitutil", "tweets": 3046, "retweets": 21, "exposure": 6195338, "links": 1.0, "photos": 0.0013132, "mentions": 0.1421536, "color": 3 }, { "tag": "rt", "tweets": 2979, "retweets": 4009, "exposure": 47011650, "links": 0.8405505, "photos": 0.1285666, "mentions": 0.2349782, "color": 3 }, { "tag": "np", "tweets": 2588, "retweets": 1054, "exposure": 19059058, "links": 0.7874807, "photos": 0.070711, "mentions": 0.3203246, "color": 3 }, { "tag": "indonesia", "tweets": 2446, "retweets": 14304, "exposure": 2478625, "links": 0.1447261, "photos": 0.1210139, "mentions": 0.1054783, "color": 3 }, { "tag": "music", "tweets": 2283, "retweets": 559, "exposure": 54113471, "links": 0.9290407, "photos": 0.1060009, "mentions": 0.1533071, "color": 3 }, { "tag": "jobs", "tweets": 2208, "retweets": 42, "exposure": 5046671, "links": 0.9981884, "photos": 0.0303442, "mentions": 0.0076993, "color": 3 } ] } ## Emojis [/v1/emoji/] ### Emoji Suggestions [GET /v1/emoji/suggestions{?text}] Returns list of emoji suggestions for a given text of the post + Parameters + text (string, `Why robots may soon steal all manufacturing jobs – but it’s not all bad news`) ... Text of the post + Request (text/html; charset=utf-8) + Response 200 (application/json; charset=utf-8) + Body { "result": true, "code": 200, "message": "OK", "emojis": [ "πŸ€–", "πŸ—ž", "❓" ] } ### Auto-Emojify [GET /v1/emoji/auto-emojify{?text}] Returns text of the post with emoji added + Parameters + text (string, `Why robots may soon steal all manufacturing jobs – but it’s not all bad news`) ... Text of the post + Request (text/html; charset=utf-8) + Response 200 (application/json; charset=utf-8) + Body { "result": true, "code": 200, "message": "OK", "text": "Why robots may soon steal all manufacturing jobs – but it’s not all bad news πŸ€–πŸ—žβ“" } ## Images [/v1/images/] ### Text to Image [GET /v1/images/quote{?quote,author,fontSize,quoteFont,quoteFontColor,authorFont,authorFontColor,enableHighlight,highlightColor,bgType,backgroundColor,gradientColor1,gradientColor2,gradientType,brandLogo,animation,showQuoteMark}] Returns URL of an image created from text according to given style parameters + Parameters + quote (string, `If you love life, don't waste time, for time is what life is made up of`) ... Text of the quote + author (string, `Bruce Lee`) ... Name of the author/source + fontSize (integer, `60`) ... Font size for the quote (author font size is calculated automatically) + quoteFont (string, `Lora`) ... Font-family used for quote text + quoteFontColor (string, `#4f4f4f`) ... Font color of the quote text + authorFont (string, `Lato Black`) ... Font-family used for author name + authorFontColor (string, `#e5e5e5`) ... Font color of the author + enableHighlight (integer, `1`) ... Enable highlight on quote text + highlightColor (string, `#f0ea66`) ... Color used for highlight + bgType (string, `gradient`) ... Background type (gradient/solid) + backgroundColor (string, `#000000`) ... Background color for solid background type + gradientType (string, `linear`) ... Type of gradient background (linear/radial) + gradientColor1 (string, `#1ee691`) ... First color for gradient background type + gradientColor2 (string, `#1ddad6`) ... Second color for gradient background type + brandLogo (url, `https://cdn.ritekit.com/assets/img/common/made-with-ritekit-white.png`) ... URL of the brand logo + animation (string, `glint`) ... Animation type: none, rays, glint, circle + showQuoteMark = '1' (optional, integer) ... showing/hiding quote mark + Request (text/html; charset=utf-8) + Response 200 (application/json; charset=utf-8) + Body { "result": true, "url": "https://media.ritekit.com/media/images/82a4d5be-6981-4913-8018-94161a5e190e.jpeg" } ### Animate Image [GET /v1/images/animate{?url,type}] Returns URL of an animated GIF. + Parameters + url (string, `https://jpeg.org/images/jpeg-home.jpg`) ... URL of the company + type (string, `glint`) ... URL of the company + Request (text/html; charset=utf-8) + Response 200 (image/gif) ### Company Logo [GET /v1/images/logo{?domain}] Returns a company logo based on website domain. If the logo is not in our database yet, it will be extracted from the site on the fly. White logo background is automatically removed to make the logo look better on color backgrounds. Note: It is not possible to access our company logo API publicly without authentication. If you wish to do so, you have to create proxy on your own server that calls our API from the server side. + Parameters + domain (string, `google.com`) ... URL of the company + Request (text/html; charset=utf-8) + Response 200 (image/png) ## Instagram [/v2/instagram/] ### Hashtags cleaner [GET /v2/instagram/hashtags-cleaner{?post}] Remove banned hashtags before posting to Instagram + Parameters + post (string, `#instaphotography #instabeauty #instagirls #instanature #instagirl #photography #beauty #girls #nature #girl #sky #water #lady #ladies #woman #women #photograph #photographs #beauties #sunlight #sitting #waters #skies #sit #photographies`) ... post + Request (text/html; charset=utf-8) + Response 200 (application/json; charset=utf-8) + Body { "result": true, "message": "OK", "post": "#instaphotography #instabeauty #instagirls #instanature #photography #beauty #girls #nature #girl #sky #water #lady #ladies #photograph #photographs #beauties #sunlight #sitting #waters #skies #sit #photographies", "bannedHashtags": [ "#instagirl", "#woman", "#women" ] } ## Link shortening [/v1/links/] ### Shorten Link [GET /v1/link/short-link{?url,cta}] Returns a shorten link with a given CTA. + Parameters + url (string, `https://ritekit.com`) ... URL + cta (integer, `6530`) ... cta id + Request (text/html; charset=utf-8) + Response 200 (application/json; charset=utf-8) + Body { "result": true, "url": "rite.ly/jr6e", "original": "https://ritekit.com", "service": "rite.ly", "ctaId": "6530", "limit": { "remaining": 1000 } } ### List of CTAs [GET /v1/link/cta] Returns list of available CTA for current user. Requires each user to authenticate with RiteKit + Request (text/html; charset=utf-8) + Response 200 (application/json; charset=utf-8) + Body { "result": true, "list": [ { "id": "bit.ly", "name": "Bit.ly", "code": "Bit.ly", "default": 0 }, { "id": 2163, "name": "test", "code": "test", "default": 0 } ] }