docs.modash.io
Open in
urlscan Pro
3.126.155.67
Public Scan
Submitted URL: http://docs.modash.io/
Effective URL: https://docs.modash.io/
Submission: On February 07 via api from US — Scanned from DE
Effective URL: https://docs.modash.io/
Submission: On February 07 via api from US — Scanned from DE
Form analysis
0 forms found in the DOMText Content
* Authentication * Error codes * Rate Limiting Errors * Billing for Failed Requests * Testing the API * Search * Reports * Pagination * Searching by interests, locations, partnerships (brands) or languages * Interests, Locations and brands * Languages * YouTube * postSearch Influencers * getGet Influencer report * postGenerate report pdf * getList Languages * getList Locations * getList Users * getList Topics * getList YouTube History * getGet Performance Data * TikTok * postSearch Influencers * getGet Influencer report * postGenerate report pdf * getList Languages * getList Locations * getList Users * getList Topics * getList TikTok History * getGet Performance Data * Instagram * postSearch Influencers * getGet Influencer Report * postAudience overlap reports * postGenerate report pdf * getList Partnerships (brands) * getList Interests * getList Languages * getList Locations * getList Users * getList Hashtags * getList Topics * getList Instagram History * getGet Performance Data * Instagram Raw Data * getSearch * getUser Info * getUser Feed * getUser Reels * getUser Tags Feed * getHashtag Feed * getMedia Info * getMedia Comments * getMedia Comment Replies * TikTok Raw Data (Beta) * getTikTok User Info * getTikTok User Feed * getTikTok Challenge Feed * getTikTok Challenge Info * getTikTok Comments * getTikTok Comments Replies * getTikTok Music Info * getTikTok Music Feed * getTikTok Search Users * getTikTok Media Info * getTikTok Media Download * YouTube Raw Data (Beta) * getChannel Info * getUploaded Videos * getUploaded Shorts * getPlaylist Videos * getVideo Info * getShort Info * getVideo Comments * getVideo Comment Replies * User Account * getGet User Account Info API docs by Redocly MODASH.IO API (1.5.0) Download OpenAPI specification:Download API Support: hello@modash.io URL: https://www.modash.io Terms of Service Welcome to the technical overview of the Modash API. Below we outline the best practices, error codes, and how to access the API. If you have any questions about the process or pricing, you can contact us at hello@modash.io. AUTHENTICATION All requests to the API must be authenticated. You can get your access token from https://marketer.modash.io/developer. Use the access token as: * Authorization header field where the value is in the format Bearer {token} * or access_token body parameter * or access_token query parameter ERROR CODES If the API returns errors then the HTTP status code is different from 200 (corresponding 4xx or 5xx code) and error details are formatted as such: { "error": true, "code": "…", // documented below "message": "…" } Code Message api_token_invalid A valid API token is needed. Please visit the account developer section. bad_request Search keyword undefined. Please pass the search keyword id as a query parameter bad_request Comment id undefined. Please pass the comment id as a query parameter bad_request Hashtag undefined. Please pass the hashtag as a query parameter bad_request Media shortcode undefined. Please pass the media code as a query parameter bad_request Url query parameter undefined or has a bad format handle_not_found No public account was found by that handle. It's possible the influencer has been removed or has a private account. account_not_found Requested account does not exist media_not_found Media ID not found entity_not_found Requested entity does not exist private_account Requested account is private empty_audience We have no audience for this account. retry_later We are currently processing the data for this account. Please try again in 5-10 minutes. not_enough_credits You have ran out of credits. Contact support for further information. internal_server_error Our server is experiencing problems processing your request. We have been notified and will look into this. invalid_body_params You have sent invalid body parameters. Please verify your request using the documentation. feature_not_available This feature is not available for your account. Contact us for enabling the feature. no_result No result found for this query, try changing filters and please verify your request using the documentation. page_limit You have reached the maximum page limit. Please contact support. Resources might have more documented errors. These will be documented in the responses section in the routes descriptions. For error handing use the code because messages might change over time without any notice. RATE LIMITING ERRORS Rate limiting errors are always with the HTTP status code 429. Please read the HTTP status code and handle the errors accordingly. BILLING FOR FAILED REQUESTS In case of any failed responses, e.g. HTTP status code 500 (Internal Server Error), we want to assure you that you will not incur any charges or consume any credits/limits. These failed requests are considered non-billable events. TESTING THE API SEARCH You can test out the Instagram Search API for free by leaving the filter object empty. Your request body should look similar to this. > POST https://api.modash.io/v1/instagram/search { "sort": { "field": "followers", "direction": "desc" }, "filter": { } } REPORTS To test out the Instagram Reports API for free you can set the userId as instagram. Your request should look like this. > GET https://api.modash.io/v1/instagram/profile/instagram/report We recommend always using the report route and caching the result if necessary. Everything that is included in the overview is also in a report. PAGINATION When using the Search API, each response has in total 15 influencers. If you wish to query more influencers for the same query you need to increment the page parameter in the request body. By default the page parameter is set to 0. SEARCHING BY INTERESTS, LOCATIONS, PARTNERSHIPS (BRANDS) OR LANGUAGES INTERESTS, LOCATIONS AND BRANDS When finding influencers by interests, locations or brands you need to search by their respective ID. To list all interests, locations or brands you need to call the https://api.modash.io/v1/instagram/interests, https://api.modash.io/v1/instagram/locations, https://api.modash.io/v1/instagram/brands route. You can specify the list of interests, locations or brands returned by using the query parameter and limit the amount of list items returned by using the limit parameter. By default the limit parameter is set to 20. You can query all list items by setting the limit parameter to 0. LANGUAGES Similar to interests, locations and brands, you first need to find the correct language code to search by. This can be done by calling the https://api.modash.io/v1/instagram/languages route. YOUTUBE API for receiving data about YouTube influencers SEARCH INFLUENCERS Get a list of influencers that match your filters. A successful request costs 0.01 credits per search result, with a typical request totaling 0.15 credits for up to 15 results per page Filtering and adding match data:Expand to see additional information When filtering by one or more fields, it is advisable to include these same fields in the sorting process. This ensures that you can retrieve the match information associated with each result. By adding the filtering fields to the sorting criteria, you gain access to detailed match info for every result obtained. Example: If you want to filter by age you would also sort the results by age: { "sort": { "direction": "desc", "field": "audience_age", "sortedValue": "18-24", "value": "18-24" }, "page": 0, "filter": { "audience": { "age": [{"id": "18-24", "weight": 0.3}] } } } You will retrieve match info that will provide details on how well each result matches the filtering criteria. The match info should include two fields: -code: represents the filtering field that corresponds to the result -percentage: quantifies the degree of similarity or relevance Audience filters support weights:Expand to see additional information Weights allow you to set a threshold for the chosen filter. If you remove the weight - we will apply the default weight per filter. Using multiple filters simultaneously results in a logical AND, while applying multiple objects into an array (works with location and age) are applied as a logical OR Example: If you want at least 30% of the audience to be at the age of 18-24, you can use the weight property of 0.3. We recommend starting with low weight and gradually increasing the percentage. You can find the default thresholds in the notes of each filter. Expand the filter object below to see all available options. AUTHORIZATIONS: accessToken REQUEST BODY SCHEMA: APPLICATION/JSON REQUIRED filter object (YouTubeSearchFilters) page number [ 0 .. 665 ] Default: 0 Page number sort object Sorting RESPONSES 200 400 post/v1/youtube/search https://api.modash.io/v1/youtube/search REQUEST SAMPLES * Payload Content type application/json Copy Expand all Collapse all { * "sort": { * "field": "followers", * "value": 123, * "direction": "desc" }, * "page": 0, * "filter": { * "influencer": { * "followers": { * "min": 20000, * "max": 70000 }, * "engagementRate": 0.02, * "location": [ * 148838, * 62149, * 80500, * 1428125, * 304716 ], * "language": "en", * "lastposted": 90, * "relevance": [ * "#cars", * "@topgear" ], * "gender": "MALE", * "age": { * "min": 18, * "max": 25 }, * "followersGrowthRate": { * "interval": "i6months", * "value": 0.01, * "operator": "gt" }, * "views": { * "min": 5000, * "max": 10000 }, * "hasContactDetails": [ * { * "contactType": "email", * "filterAction": "must" } ], * "keywords": "cats" }, * "audience": { * "location": [ * { * "id": 148838, * "weight": 0.2 }, * { * "id": 62149, * "weight": 0.2 }, * { * "id": 80500, * "weight": 0.2 }, * { * "id": 1428125, * "weight": 0.2 }, * { * "id": 304716, * "weight": 0.2 } ], * "language": { * "id": "en", * "weight": 0.2 }, * "gender": { * "id": "MALE", * "weight": 0.5 }, * "age": [ * { * "id": "18-24", * "weight": 0.3 }, * { * "id": "65-", * "weight": 0.3 } ] } } } RESPONSE SAMPLES * 200 * 400 Content type application/json Copy Expand all Collapse all { * "error": false, * "total": 2, * "lookalikes": [ * { * "userId": "1110101", * "profile": { * "userId": "4333460164", * "fullname": "Instagram", * "username": "instagram", * "url": "https://www.instagram.com/instagram/", * "picture": "https://imgigp.modash.io/?https://scontent-arn2-1.cdninstagram.com/t51.2885-19/s320x320/22159423_1794482210565499_9190891265074397184_n.jpg", * "followers": 313560626, * "engagements": 857994, * "engagementRate": 0.0027362938100525414, * "averageViews": 98124, * "handle": "tseries" }, * "match": { * "code": "25-34", * "weight": 0.32 } } ], * "directs": [ * { * "userId": "1110101", * "profile": { * "userId": "4333460164", * "fullname": "Instagram", * "username": "instagram", * "url": "https://www.instagram.com/instagram/", * "picture": "https://imgigp.modash.io/?https://scontent-arn2-1.cdninstagram.com/t51.2885-19/s320x320/22159423_1794482210565499_9190891265074397184_n.jpg", * "followers": 313560626, * "engagements": 857994, * "engagementRate": 0.0027362938100525414, * "averageViews": 98124, * "handle": "tseries" }, * "match": { * "code": "25-34", * "weight": 0.32 } } ], * "isExactMatch": true } GET INFLUENCER REPORT Influencer contact details are not enabled by default. Contact us to unlock this data for free. Every successful request costs 1 credit. AUTHORIZATIONS: accessToken PATH PARAMETERS userId required string User's YouTube handle or user ID from YouTube RESPONSES 200 get/v1/youtube/profile/{userId}/report https://api.modash.io/v1/youtube/profile/{userId}/report RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "error": false, * "profile": { * "userId": "1110101", * "profile": { * "userId": "4333460164", * "fullname": "Instagram", * "username": "instagram", * "url": "https://www.instagram.com/instagram/", * "picture": "https://imgigp.modash.io/?https://scontent-arn2-1.cdninstagram.com/t51.2885-19/s320x320/22159423_1794482210565499_9190891265074397184_n.jpg", * "followers": 313560626, * "engagements": 857994, * "engagementRate": 0.0027362938100525414, * "averageViews": 98124, * "handle": "tseries" }, * "audience": { * "notable": 0.07, * "genders": [ * { * "code": "", * "weight": 0.07 } ], * "geoCountries": [ * { * "name": "", * "weight": 0.07, * "code": "" } ], * "ages": [ * { * "code": "", * "weight": 0.07 } ], * "gendersPerAge": [ * { * "code": "", * "male": 0.07, * "female": 0.07 } ], * "languages": [ * { * "code": "it", * "name": "Italian", * "weight": 0.1 } ], * "notableUsers": [ * { * "userId": "4333460164", * "fullname": "Instagram", * "username": "instagram", * "url": "https://www.instagram.com/instagram/", * "picture": "https://imgigp.modash.io/?https://scontent-arn2-1.cdninstagram.com/t51.2885-19/s320x320/22159423_1794482210565499_9190891265074397184_n.jpg", * "followers": 313560626, * "engagements": 857994 } ], * "audienceLookalikes": [ * { * "userId": "4333460164", * "fullname": "Instagram", * "username": "instagram", * "url": "https://www.instagram.com/instagram/", * "picture": "https://imgigp.modash.io/?https://scontent-arn2-1.cdninstagram.com/t51.2885-19/s320x320/22159423_1794482210565499_9190891265074397184_n.jpg", * "followers": 313560626, * "engagements": 857994 } ] }, * "recentPosts": [ * { * "id": "string", * "text": "string", * "url": "string", * "created": "string", * "likes": 0, * "comments": 0, * "views": 0, * "video": "string", * "thumbnail": "string", * "type": "string", * "title": "string" } ], * "popularPosts": [ * { * "id": "string", * "text": "string", * "url": "string", * "created": "string", * "likes": 0, * "comments": 0, * "views": 0, * "video": "string", * "thumbnail": "string", * "type": "string", * "title": "string" } ], * "city": "New york", * "gender": "FEMALE", * "statHistory": [ * { * "month": "2019-05", * "followers": 1000, * "following": 1000, * "avgLikes": 1000, * "avgViews": 1000, * "avgComments": 1000 } ], * "contacts": [ * { * "type": "email", * "value": "influenceremail@example.com" } ], * "country": "US", * "ageGroup": "18-24", * "isVerified": true, * "postsCount": 37, * "avgLikes": 18211, * "totalViews": 1821211, * "avgComments": 12321, * "description": "CEO of #RockTok", * "interests": [ * { * "id": 1, * "name": "" } ], * "audienceCommenters": { * "notable": 0.07, * "genders": [ * { * "code": "", * "weight": 0.07 } ], * "geoCountries": [ * { * "name": "", * "weight": 0.07, * "code": "" } ], * "ages": [ * { * "code": "", * "weight": 0.07 } ], * "gendersPerAge": [ * { * "code": "", * "male": 0.07, * "female": 0.07 } ], * "languages": [ * { * "code": "it", * "name": "Italian", * "weight": 0.1 } ], * "notableUsers": [ * { * "userId": "4333460164", * "fullname": "Instagram", * "username": "instagram", * "url": "https://www.instagram.com/instagram/", * "picture": "https://imgigp.modash.io/?https://scontent-arn2-1.cdninstagram.com/t51.2885-19/s320x320/22159423_1794482210565499_9190891265074397184_n.jpg", * "followers": 313560626, * "engagements": 857994 } ], * "audienceLookalikes": [ * { * "userId": "4333460164", * "fullname": "Instagram", * "username": "instagram", * "url": "https://www.instagram.com/instagram/", * "picture": "https://imgigp.modash.io/?https://scontent-arn2-1.cdninstagram.com/t51.2885-19/s320x320/22159423_1794482210565499_9190891265074397184_n.jpg", * "followers": 313560626, * "engagements": 857994 } ] }, * "lookalikesByTopics": [ * { * "userId": "4333460164", * "fullname": "Instagram", * "username": "instagram", * "url": "https://www.instagram.com/instagram/", * "picture": "https://imgigp.modash.io/?https://scontent-arn2-1.cdninstagram.com/t51.2885-19/s320x320/22159423_1794482210565499_9190891265074397184_n.jpg", * "followers": 313560626, * "engagements": 857994 } ] } } GENERATE REPORT PDF AUTHORIZATIONS: accessToken PATH PARAMETERS userId required string User's YouTube handle or user ID from YouTube RESPONSES 200 post/v1/youtube/profile/{userId}/report/pdf https://api.modash.io/v1/youtube/profile/{userId}/report/pdf RESPONSE SAMPLES * 200 Content type application/json Copy { * "error": false, * "url": "https://modash-static-development.ams3.cdn.digitaloceanspaces.com/export-pdf/instagram-H0yUXivI.pdf" } LIST LANGUAGES Search the list of languages for Influencers. AUTHORIZATIONS: accessToken QUERY PARAMETERS limit number Max items to get query string String to search by RESPONSES 200 get/v1/youtube/languages https://api.modash.io/v1/youtube/languages RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "error": false, * "languages": [ * { * "code": "en", * "name": "English" } ], * "total": 98 } LIST LOCATIONS Search the list of locations for Influencers. AUTHORIZATIONS: accessToken QUERY PARAMETERS limit number Max items to get query string String to search by RESPONSES 200 get/v1/youtube/locations https://api.modash.io/v1/youtube/locations RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "error": false, * "locations": [ * { * "id": 51800, * "name": "London", * "title": "London, United Kingdom" } ], * "total": 8477 } LIST USERS Search the list of influencers. AUTHORIZATIONS: accessToken QUERY PARAMETERS limit number Max items to get query string String to search by RESPONSES 200 get/v1/youtube/users https://api.modash.io/v1/youtube/users RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "error": false, * "users": [ * { * "userId": "232192182", * "username": "therock", * "fullname": "therock", * "picture": "https://imgp.sptds.icu/v2?mb0KwpL92uYofJiSjDn1%2F6peL1lBwv3s%2BUvShHERlDbrEEwrWumIvR20xZeZXa0LDeIrcniqZeG9S%2F1a5s2Rx3FZdXrWpY%2BmSBJp1l%2FmBGon3rcHA4EfuatZqMhVBzAT", * "followers": 313583625, * "isVerified": true, * "handle": "tseries" } ] } LIST TOPICS Search for topics AUTHORIZATIONS: accessToken QUERY PARAMETERS limit number Max items to get query string String to search by RESPONSES 200 get/v1/youtube/topics https://api.modash.io/v1/youtube/topics RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "error": false, * "tags": [ * "string" ] } LIST YOUTUBE HISTORY Get history in list of overviews, reports viewed, with time range query. AUTHORIZATIONS: accessToken QUERY PARAMETERS endTime string Example: endTime=2020-03-11T20:10:24.252Z End time, ISO 8601 format or milliseconds since Unix Epoch startTime string Example: startTime=2020-03-08T20:10:24.252Z Start time, ISO 8601 format or milliseconds since Unix Epoch type string Enum: "report" "overview" Example: type=overview Type of the report RESPONSES 200 get/v1/youtube/history https://api.modash.io/v1/youtube/history RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "error": false, * "influencersHistory": [ * { * "userId": "123456", * "handle": "instagram", * "updatedAt": "2020-03-05T21:50:18.256Z", * "reportType": "OVERVIEW" } ] } GET PERFORMANCE DATA Returns the performance data of a YouTube channel for the last 6, 12 and 30 videos & shorts. The data is computed on demand, so if it is not available from the first request, a second call should be performed after ~1 minute. Every successful request costs 0.25 credits. If the response code is retry_later or there is an error on our side you will not be charged. AUTHORIZATIONS: accessToken QUERY PARAMETERS url required string YouTube url to channel's page, i.e. https://www.youtube.com/@{channelName} RESPONSES 200 get/v1/youtube/performance-data https://api.modash.io/v1/youtube/performance-data RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "videos": { * "total": 0, * "videos_with_turned_off_comments": 0, * "likes": { * "mean": [ * { * "numberOfItems": 0, * "value": 0 } ], * "min": [ * { * "numberOfItems": 0, * "value": 0 } ], * "max": [ * { * "numberOfItems": 0, * "value": 0 } ], * "median": [ * { * "numberOfItems": 0, * "value": 0 } ] }, * "views": { * "mean": [ * { * "numberOfItems": 0, * "value": 0 } ], * "min": [ * { * "numberOfItems": 0, * "value": 0 } ], * "max": [ * { * "numberOfItems": 0, * "value": 0 } ], * "median": [ * { * "numberOfItems": 0, * "value": 0 } ] }, * "comments": { * "mean": [ * { * "numberOfItems": 0, * "value": 0 } ], * "min": [ * { * "numberOfItems": 0, * "value": 0 } ], * "max": [ * { * "numberOfItems": 0, * "value": 0 } ], * "median": [ * { * "numberOfItems": 0, * "value": 0 } ] }, * "engagement_rate": [ * { * "numberOfItems": 0, * "value": 0 } ], * "posting_statistics": { * "weekDay": { * "mean": { * "numberOfItems": 0, * "value": { * "mon": 0, * "tue": 0, * "wed": 0, * "thu": 0, * "fri": 0, * "sat": 0, * "sun": 0 } } }, * "daily": { * "mean": { * "numberOfItems": 0, * "value": 0 } } } }, * "shorts": { * "total": 0, * "shorts_with_turned_off_comments": 0, * "likes": { * "mean": [ * { * "numberOfItems": 0, * "value": 0 } ], * "min": [ * { * "numberOfItems": 0, * "value": 0 } ], * "max": [ * { * "numberOfItems": 0, * "value": 0 } ], * "median": [ * { * "numberOfItems": 0, * "value": 0 } ] }, * "views": { * "mean": [ * { * "numberOfItems": 0, * "value": 0 } ], * "min": [ * { * "numberOfItems": 0, * "value": 0 } ], * "max": [ * { * "numberOfItems": 0, * "value": 0 } ], * "median": [ * { * "numberOfItems": 0, * "value": 0 } ] }, * "comments": { * "mean": [ * { * "numberOfItems": 0, * "value": 0 } ], * "min": [ * { * "numberOfItems": 0, * "value": 0 } ], * "max": [ * { * "numberOfItems": 0, * "value": 0 } ], * "median": [ * { * "numberOfItems": 0, * "value": 0 } ] }, * "engagement_rate": [ * { * "numberOfItems": 0, * "value": 0 } ] } } TIKTOK API for receiving data about TikTok influencers SEARCH INFLUENCERS Get a list of influencers that match your filters. A successful request costs 0.01 credits per search result, with a typical request totaling 0.15 credits for up to 15 results per page Filtering and adding match data:Expand to see additional information When filtering by one or more fields, it is advisable to include these same fields in the sorting process. This ensures that you can retrieve the match information associated with each result. By adding the filtering fields to the sorting criteria, you gain access to detailed match info for every result obtained. Example: If you want to filter by age you would also sort the results by age: { "sort": { "direction": "desc", "field": "audience_age", "sortedValue": "18-24", "value": "18-24" }, "page": 0, "filter": { "audience": { "age": [{"id": "18-24", "weight": 0.3}] } } } You will retrieve match info that will provide details on how well each result matches the filtering criteria. The match info should include two fields: -code: represents the filtering field that corresponds to the result -percentage: quantifies the degree of similarity or relevance Audience filters support weights:Expand to see additional information Weights allow you to set a threshold for the chosen filter. If you remove the weight - we will apply the default weight per filter. Using multiple filters simultaneously results in a logical AND, while applying multiple objects into an array (works with location and age) are applied as a logical OR Example: If you want at least 30% of the audience to be at the age of 18-24, you can use the weight property of 0.3. We recommend starting with low weight and gradually increasing the percentage. You can find the default thresholds in the notes of each filter. Expand the filter object below to see all available options. AUTHORIZATIONS: accessToken REQUEST BODY SCHEMA: APPLICATION/JSON REQUIRED filter object (TikTokSearchFilters) page number [ 0 .. 665 ] Default: 0 Page number sort object Sorting RESPONSES 200 400 post/v1/tiktok/search https://api.modash.io/v1/tiktok/search REQUEST SAMPLES * Payload Content type application/json Copy Expand all Collapse all { * "sort": { * "field": "followers", * "value": 123, * "direction": "desc" }, * "page": 0, * "filter": { * "influencer": { * "followers": { * "min": 20000, * "max": 70000 }, * "engagementRate": 0.02, * "location": [ * 148838, * 62149, * 80500, * 1428125, * 304716 ], * "language": "en", * "lastposted": 90, * "relevance": [ * "#cars", * "@topgear" ], * "gender": "MALE", * "age": { * "min": 18, * "max": 25 }, * "followersGrowthRate": { * "interval": "i6months", * "value": 0.01, * "operator": "gt" }, * "views": { * "min": 5000, * "max": 10000 }, * "hasContactDetails": [ * { * "contactType": "email", * "filterAction": "must" } ], * "bio": "retro", * "textTags": [ * { * "type": "hashtag", * "value": "carsofinstagram" }, * { * "type": "mention", * "value": "topgear" } ], * "keywords": "cars" }, * "audience": { * "location": [ * { * "id": 148838, * "weight": 0.2 }, * { * "id": 62149, * "weight": 0.2 }, * { * "id": 80500, * "weight": 0.2 }, * { * "id": 1428125, * "weight": 0.2 }, * { * "id": 304716, * "weight": 0.2 } ], * "language": { * "id": "en", * "weight": 0.2 }, * "gender": { * "id": "MALE", * "weight": 0.5 }, * "age": [ * { * "id": "18-24", * "weight": 0.3 }, * { * "id": "65-", * "weight": 0.3 } ] } } } RESPONSE SAMPLES * 200 * 400 Content type application/json Copy Expand all Collapse all { * "error": false, * "total": 2, * "lookalikes": [ * { * "userId": "1110101", * "profile": { * "userId": "4333460164", * "fullname": "Instagram", * "username": "instagram", * "url": "https://www.instagram.com/instagram/", * "picture": "https://imgigp.modash.io/?https://scontent-arn2-1.cdninstagram.com/t51.2885-19/s320x320/22159423_1794482210565499_9190891265074397184_n.jpg", * "followers": 313560626, * "engagements": 857994, * "engagementRate": 0.0027362938100525414 }, * "match": { * "code": "25-34", * "weight": 0.32 } } ], * "directs": [ * { * "userId": "1110101", * "profile": { * "userId": "4333460164", * "fullname": "Instagram", * "username": "instagram", * "url": "https://www.instagram.com/instagram/", * "picture": "https://imgigp.modash.io/?https://scontent-arn2-1.cdninstagram.com/t51.2885-19/s320x320/22159423_1794482210565499_9190891265074397184_n.jpg", * "followers": 313560626, * "engagements": 857994, * "engagementRate": 0.0027362938100525414 }, * "match": { * "code": "25-34", * "weight": 0.32 } } ], * "isExactMatch": true } GET INFLUENCER REPORT Influencer contact details are not enabled by default. Contact us to unlock this data for free. Every successful request costs 1 credit. AUTHORIZATIONS: accessToken PATH PARAMETERS userId required string User's TikTok handle or user ID from TikTok RESPONSES 200 get/v1/tiktok/profile/{userId}/report https://api.modash.io/v1/tiktok/profile/{userId}/report RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "error": false, * "profile": { * "userId": "1110101", * "profile": { * "userId": "4333460164", * "fullname": "Instagram", * "username": "instagram", * "url": "https://www.instagram.com/instagram/", * "picture": "https://imgigp.modash.io/?https://scontent-arn2-1.cdninstagram.com/t51.2885-19/s320x320/22159423_1794482210565499_9190891265074397184_n.jpg", * "followers": 313560626, * "engagements": 857994, * "engagementRate": 0.0027362938100525414, * "averageViews": 98124 }, * "audience": { * "notable": 0.07, * "genders": [ * { * "code": "", * "weight": 0.07 } ], * "geoCountries": [ * { * "name": "", * "weight": 0.07, * "code": "" } ], * "ages": [ * { * "code": "", * "weight": 0.07 } ], * "gendersPerAge": [ * { * "code": "", * "male": 0.07, * "female": 0.07 } ], * "languages": [ * { * "code": "it", * "name": "Italian", * "weight": 0.1 } ], * "notableUsers": [ * { * "userId": "4333460164", * "fullname": "Instagram", * "username": "instagram", * "url": "https://www.instagram.com/instagram/", * "picture": "https://imgigp.modash.io/?https://scontent-arn2-1.cdninstagram.com/t51.2885-19/s320x320/22159423_1794482210565499_9190891265074397184_n.jpg", * "followers": 313560626, * "engagements": 857994 } ], * "audienceLookalikes": [ * { * "userId": "4333460164", * "fullname": "Instagram", * "username": "instagram", * "url": "https://www.instagram.com/instagram/", * "picture": "https://imgigp.modash.io/?https://scontent-arn2-1.cdninstagram.com/t51.2885-19/s320x320/22159423_1794482210565499_9190891265074397184_n.jpg", * "followers": 313560626, * "engagements": 857994 } ] }, * "secUid": "string", * "recentPosts": [ * { * "id": "string", * "text": "string", * "url": "string", * "created": "string", * "likes": 0, * "comments": 0, * "views": 0, * "video": "string", * "thumbnail": "https://p16-amd-va.tiktokcdn.com/obj/tos-useast5-p-0068-tx/ogyxG5KtISdEAzSCEzZL4BA7BIij8pf5dwwBli" } ], * "popularPosts": [ * { * "id": "string", * "text": "string", * "url": "string", * "created": "string", * "likes": 0, * "comments": 0, * "views": 0, * "video": "string", * "thumbnail": "https://p16-amd-va.tiktokcdn.com/obj/tos-useast5-p-0068-tx/ogyxG5KtISdEAzSCEzZL4BA7BIij8pf5dwwBli" } ], * "city": "New york", * "gender": "FEMALE", * "statHistory": [ * { * "month": "2019-05", * "followers": 1000, * "following": 1000, * "avgLikes": 1000, * "avgViews": 1000, * "avgComments": 1000 } ], * "contacts": [ * { * "type": "email", * "value": "influenceremail@example.com" } ], * "country": "US", * "ageGroup": "18-24", * "isPrivate": true, * "isVerified": true, * "postsCount": 37, * "avgLikes": 18211, * "totalLikes": 182211, * "avgComments": 12321, * "bio": "CEO of #RockTok", * "interests": [ * { * "id": 1, * "name": "" } ], * "lookalikes": [ * { * "userId": "4333460164", * "fullname": "Instagram", * "username": "instagram", * "url": "https://www.instagram.com/instagram/", * "picture": "https://imgigp.modash.io/?https://scontent-arn2-1.cdninstagram.com/t51.2885-19/s320x320/22159423_1794482210565499_9190891265074397184_n.jpg", * "followers": 313560626, * "engagements": 857994 } ] } } GENERATE REPORT PDF AUTHORIZATIONS: accessToken PATH PARAMETERS userId required string User's TikTok handle or user ID from TikTok RESPONSES 200 post/v1/tiktok/profile/{userId}/report/pdf https://api.modash.io/v1/tiktok/profile/{userId}/report/pdf RESPONSE SAMPLES * 200 Content type application/json Copy { * "error": false, * "url": "https://modash-static-development.ams3.cdn.digitaloceanspaces.com/export-pdf/instagram-H0yUXivI.pdf" } LIST LANGUAGES Search the list of languages for Influencers. AUTHORIZATIONS: accessToken QUERY PARAMETERS limit number Max items to get query string String to search by RESPONSES 200 get/v1/tiktok/languages https://api.modash.io/v1/tiktok/languages RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "error": false, * "languages": [ * { * "code": "en", * "name": "English" } ], * "total": 98 } LIST LOCATIONS Search the list of locations for Influencers. AUTHORIZATIONS: accessToken QUERY PARAMETERS limit number Max items to get query string String to search by RESPONSES 200 get/v1/tiktok/locations https://api.modash.io/v1/tiktok/locations RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "error": false, * "locations": [ * { * "id": 51800, * "name": "London", * "title": "London, United Kingdom" } ], * "total": 8477 } LIST USERS Search the list of influencers. AUTHORIZATIONS: accessToken QUERY PARAMETERS limit number Max items to get query string String to search by RESPONSES 200 get/v1/tiktok/users https://api.modash.io/v1/tiktok/users RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "error": false, * "users": [ * { * "userId": "232192182", * "username": "therock", * "fullname": "therock", * "picture": "https://imgp.sptds.icu/v2?mb0KwpL92uYofJiSjDn1%2F6peL1lBwv3s%2BUvShHERlDbrEEwrWumIvR20xZeZXa0LDeIrcniqZeG9S%2F1a5s2Rx3FZdXrWpY%2BmSBJp1l%2FmBGon3rcHA4EfuatZqMhVBzAT", * "followers": 313583625, * "isVerified": true } ] } LIST TOPICS Search for topics AUTHORIZATIONS: accessToken QUERY PARAMETERS limit number Max items to get query string String to search by RESPONSES 200 get/v1/tiktok/topics https://api.modash.io/v1/tiktok/topics RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "error": false, * "tags": [ * "string" ] } LIST TIKTOK HISTORY Get history in list of overviews, reports viewed, with time range query. AUTHORIZATIONS: accessToken QUERY PARAMETERS endTime string Example: endTime=2020-03-11T20:10:24.252Z End time, ISO 8601 format or milliseconds since Unix Epoch startTime string Example: startTime=2020-03-08T20:10:24.252Z Start time, ISO 8601 format or milliseconds since Unix Epoch type string Enum: "report" "overview" Example: type=overview Type of the report RESPONSES 200 get/v1/tiktok/history https://api.modash.io/v1/tiktok/history RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "error": false, * "influencersHistory": [ * { * "userId": "123456", * "handle": "instagram", * "updatedAt": "2020-03-05T21:50:18.256Z", * "reportType": "OVERVIEW" } ] } GET PERFORMANCE DATA Returns the performance data of a TikTok account for the last 6, 12 and 30 posts. The data is computed on demand, so if it is not available from the first request, a second call should be performed after ~1 minute. Every successful request costs 0.25 credits. If the response code is retry_later or there is an error on our side you will not be charged. AUTHORIZATIONS: accessToken QUERY PARAMETERS url required string Username (@handle) or user id RESPONSES 200 get/v1/tiktok/performance-data https://api.modash.io/v1/tiktok/performance-data RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "posts": { * "posts_with_hidden_comments": 0, * "total": 0, * "likes": { * "mean": [ * { * "numberOfItems": 0, * "value": 0 } ], * "min": [ * { * "numberOfItems": 0, * "value": 0 } ], * "max": [ * { * "numberOfItems": 0, * "value": 0 } ], * "median": [ * { * "numberOfItems": 0, * "value": 0 } ] }, * "comments": { * "mean": [ * { * "numberOfItems": 0, * "value": 0 } ], * "min": [ * { * "numberOfItems": 0, * "value": 0 } ], * "max": [ * { * "numberOfItems": 0, * "value": 0 } ], * "median": [ * { * "numberOfItems": 0, * "value": 0 } ] }, * "views": { * "mean": [ * { * "numberOfItems": 0, * "value": 0 } ], * "min": [ * { * "numberOfItems": 0, * "value": 0 } ], * "max": [ * { * "numberOfItems": 0, * "value": 0 } ], * "median": [ * { * "numberOfItems": 0, * "value": 0 } ] }, * "engagement_rate": [ * { * "numberOfItems": 0, * "value": 0 } ], * "posting_statistics": { * "weekDayHour": { * "mean": { * "numberOfItems": 0, * "value": 0 } }, * "daily": { * "mean": { * "numberOfItems": 0, * "value": 0 } } } } } INSTAGRAM API for receiving data about Instagram influencers SEARCH INFLUENCERS Get a list of influencers that match your filters. A successful request costs 0.01 credits per search result, with a typical request totaling 0.15 credits for up to 15 results per page Filtering and adding match data:Expand to see additional information When filtering by one or more fields, it is advisable to include these same fields in the sorting process. This ensures that you can retrieve the match information associated with each result. By adding the filtering fields to the sorting criteria, you gain access to detailed match info for every result obtained. Example: If you want to filter by age you would also sort the results by age: { "sort": { "direction": "desc", "field": "audience_age", "sortedValue": "18-24", "value": "18-24" }, "page": 0, "filter": { "audience": { "age": [{"id": "18-24", "weight": 0.3}] } } } You will retrieve match info that will provide details on how well each result matches the filtering criteria. The match info should include two fields: -code: represents the filtering field that corresponds to the result -percentage: quantifies the degree of similarity or relevance Audience filters support weights:Expand to see additional information Weights allow you to set a threshold for the chosen filter. If you remove the weight - we will apply the default weight per filter. Using multiple filters simultaneously results in a logical AND, while applying multiple objects into an array (works with interests, location and age) are applied as a logical OR Example: If you want at least 30% of the audience to be at the age of 18-24, you can use the weight property of 0.3. We recommend starting with low weight and gradually increasing the percentage. You can find the default thresholds in the notes of each filter. Expand the filter object below to see all available options. AUTHORIZATIONS: accessToken REQUEST BODY SCHEMA: APPLICATION/JSON REQUIRED filter object (InstagramSearchFilters) page number [ 0 .. 665 ] Default: 0 Page number sort object Sorting RESPONSES 200 400 post/v1/instagram/search https://api.modash.io/v1/instagram/search REQUEST SAMPLES * Payload Content type application/json Copy Expand all Collapse all { * "sort": { * "field": "followers", * "value": 123, * "direction": "desc" }, * "page": 0, * "filter": { * "influencer": { * "followers": { * "min": 20000, * "max": 70000 }, * "engagementRate": 0.02, * "location": [ * 148838, * 62149, * 80500, * 1428125, * 304716 ], * "language": "en", * "lastposted": 90, * "relevance": [ * "#cars", * "@topgear" ], * "gender": "MALE", * "age": { * "min": 18, * "max": 25 }, * "followersGrowthRate": { * "interval": "i6months", * "value": 0.01, * "operator": "gt" }, * "hasYouTube": false, * "hasContactDetails": [ * { * "contactType": "email", * "filterAction": "must" } ], * "accountTypes": [ * 2 ], * "brands": [ * 1708, * 13 ], * "interests": [ * 3, * 21, * 1, * 13, * 11, * 1708, * 7, * 1826 ], * "keywords": "supercars", * "bio": "photos videos", * "textTags": [ * { * "type": "hashtag", * "value": "carsofinstagram" }, * { * "type": "mention", * "value": "topgear" } ], * "reelsPlays": { * "min": 20000, * "max": 50000000 } }, * "audience": { * "location": [ * { * "id": 148838, * "weight": 0.2 }, * { * "id": 62149, * "weight": 0.2 }, * { * "id": 80500, * "weight": 0.2 }, * { * "id": 1428125, * "weight": 0.2 }, * { * "id": 304716, * "weight": 0.2 } ], * "language": { * "id": "en", * "weight": 0.2 }, * "gender": { * "id": "MALE", * "weight": 0.5 }, * "age": [ * { * "id": "18-24", * "weight": 0.3 }, * { * "id": "65-", * "weight": 0.3 } ], * "interests": [ * { * "id": 1708, * "weight": 0.2 }, * { * "id": 13, * "weight": 0.2 }, * { * "id": 3, * "weight": 0.2 }, * { * "id": 21, * "weight": 0.2 }, * { * "id": 1, * "weight": 0.2 }, * { * "id": 11, * "weight": 0.2 }, * { * "id": 7, * "weight": 0.2 }, * { * "id": 1826, * "weight": 0.2 } ], * "credibility": 0.75 } } } RESPONSE SAMPLES * 200 * 400 Content type application/json Copy Expand all Collapse all { * "error": false, * "total": 2, * "lookalikes": [ * { * "userId": "1110101", * "profile": { * "userId": "4333460164", * "fullname": "Instagram", * "username": "instagram", * "url": "https://www.instagram.com/instagram/", * "picture": "https://imgigp.modash.io/?https://scontent-arn2-1.cdninstagram.com/t51.2885-19/s320x320/22159423_1794482210565499_9190891265074397184_n.jpg", * "followers": 313560626, * "engagements": 857994, * "engagementRate": 0.0027362938100525414 }, * "match": { * "code": "25-34", * "weight": 0.32 } } ], * "directs": [ * { * "userId": "1110101", * "profile": { * "userId": "4333460164", * "fullname": "Instagram", * "username": "instagram", * "url": "https://www.instagram.com/instagram/", * "picture": "https://imgigp.modash.io/?https://scontent-arn2-1.cdninstagram.com/t51.2885-19/s320x320/22159423_1794482210565499_9190891265074397184_n.jpg", * "followers": 313560626, * "engagements": 857994, * "engagementRate": 0.0027362938100525414 }, * "match": { * "code": "25-34", * "weight": 0.32 } } ], * "isExactMatch": true } GET INFLUENCER REPORT To protect our enterprise customers, influencer contact details are not enabled by default. Contact us to unlock them for free. Every successful request costs 1 credit. AUTHORIZATIONS: accessToken PATH PARAMETERS userId required string User's Instagram handle or user ID from Instagram RESPONSES 200 get/v1/instagram/profile/{userId}/report https://api.modash.io/v1/instagram/profile/{userId}/report RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "error": false, * "profile": { * "userId": "1110101", * "profile": { * "userId": "4333460164", * "fullname": "Instagram", * "username": "instagram", * "url": "https://www.instagram.com/instagram/", * "picture": "https://imgigp.modash.io/?https://scontent-arn2-1.cdninstagram.com/t51.2885-19/s320x320/22159423_1794482210565499_9190891265074397184_n.jpg", * "followers": 313560626, * "engagements": 857994, * "engagementRate": 0.0027362938100525414 }, * "hashtags": [ * { * "tag": "", * "weight": 0.1 } ], * "mentions": [ * { * "tag": "", * "weight": 0.1 } ], * "audience": { * "notable": 0.07, * "genders": [ * { * "code": "", * "weight": 0.07 } ], * "geoCountries": [ * { * "name": "", * "weight": 0.07, * "code": "" } ], * "ages": [ * { * "code": "", * "weight": 0.07 } ], * "gendersPerAge": [ * { * "code": "", * "male": 0.07, * "female": 0.07 } ], * "geoCities": [ * { * "name": "", * "weight": 0.07 } ], * "credibility": 0.75, * "interests": [ * { * "name": "", * "weight": 0.07 } ], * "brandAffinity": [ * { * "name": "", * "weight": 0.07 } ], * "languages": [ * { * "code": "it", * "name": "Italian", * "weight": 0.1 } ], * "notableUsers": [ * { * "userId": "4333460164", * "fullname": "Instagram", * "username": "instagram", * "url": "https://www.instagram.com/instagram/", * "picture": "https://imgigp.modash.io/?https://scontent-arn2-1.cdninstagram.com/t51.2885-19/s320x320/22159423_1794482210565499_9190891265074397184_n.jpg", * "followers": 313560626, * "engagements": 857994 } ], * "audienceLookalikes": [ * { * "userId": "4333460164", * "fullname": "Instagram", * "username": "instagram", * "url": "https://www.instagram.com/instagram/", * "picture": "https://imgigp.modash.io/?https://scontent-arn2-1.cdninstagram.com/t51.2885-19/s320x320/22159423_1794482210565499_9190891265074397184_n.jpg", * "followers": 313560626, * "engagements": 857994 } ], * "ethnicities": [ * { * "code": "white", * "name": "White / Caucasian", * "weight": 0.1 } ] }, * "stats": { * "avgLikes": { * "value": 859004, * "compared": 0.007144320631801482 }, * "followers": { * "value": 859004, * "compared": 0.007144320631801482 } }, * "recentPosts": [ * { * "id": "string", * "text": "string", * "url": "string", * "created": "string", * "likes": 0, * "comments": 0, * "views": 0, * "mentions": [ * "string" ], * "hashtags": [ * "string" ] } ], * "popularPosts": [ * { * "id": "string", * "text": "string", * "url": "string", * "created": "string", * "likes": 0, * "comments": 0, * "views": 0, * "thumbnail": "string", * "type": "string" } ], * "city": "New york", * "gender": "FEMALE", * "language": { * "code": "en", * "name": "English" }, * "contacts": [ * { * "type": "email", * "value": "influenceremail@example.com" } ], * "country": "US", * "ageGroup": "18-24", * "isPrivate": true, * "accountType": "Regular", * "isVerified": true, * "postsCounts": 37, * "avgLikes": 18211, * "avgComments": 12321, * "bio": "CEO of #RockTok", * "interests": [ * { * "id": 1, * "name": "" } ], * "brandAffinity": [ * { * "id": 1, * "name": "" } ], * "sponsoredPosts": [ * { * "id": "string", * "text": "string", * "url": "string", * "created": "string", * "likes": 0, * "comments": 0, * "views": 0, * "mentions": [ * "string" ], * "hashtags": [ * "string" ], * "video": "string", * "image": "string", * "thumbnail": "string" } ], * "statHistory": [ * { * "month": "2019-05", * "followers": 1000, * "following": 1000, * "avgLikes": 1000, * "avgViews": 1000, * "avgComments": 1000 } ], * "lookalikes": [ * { * "userId": "4333460164", * "fullname": "Instagram", * "username": "instagram", * "url": "https://www.instagram.com/instagram/", * "picture": "https://imgigp.modash.io/?https://scontent-arn2-1.cdninstagram.com/t51.2885-19/s320x320/22159423_1794482210565499_9190891265074397184_n.jpg", * "followers": 313560626, * "engagements": 857994 } ], * "paidPostPerformance": 0.5, * "postsCount": 37, * "avgViews": 48, * "avgReelsPlays": 5727 } } AUDIENCE OVERLAP REPORTS Check audience (followers) overlap for several influencers. This feature is not enabled by default. Contact us to unlock it. AUTHORIZATIONS: accessToken REQUEST BODY SCHEMA: APPLICATION/JSON REQUIRED influencers Array of strings List of usernames or user ids RESPONSES 200 post/v1/instagram/reports/audience/overlap https://api.modash.io/v1/instagram/reports/audience/overlap REQUEST SAMPLES * Payload Content type application/json Copy Expand all Collapse all { * "influencers": [ * "string" ] } RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "error": false, * "reportInfo": { * "totalFollowers": 0, * "totalUniqueFollowers": 0 }, * "data": [ * { * "userId": "string", * "username": "string", * "followers": 0, * "uniquePercentage": 0, * "overlappingPercentage": 0 } ] } GENERATE REPORT PDF AUTHORIZATIONS: accessToken PATH PARAMETERS userId required string User's Instagram handle or user ID from Instagram RESPONSES 200 post/v1/instagram/profile/{userId}/report/pdf https://api.modash.io/v1/instagram/profile/{userId}/report/pdf RESPONSE SAMPLES * 200 Content type application/json Copy { * "error": false, * "url": "https://modash-static-development.ams3.cdn.digitaloceanspaces.com/export-pdf/instagram-H0yUXivI.pdf" } LIST PARTNERSHIPS (BRANDS) Search the list of Partnerships (brands) that have worked with the influencer. AUTHORIZATIONS: accessToken QUERY PARAMETERS limit number Max items to get query string String to search by RESPONSES 200 get/v1/instagram/brands https://api.modash.io/v1/instagram/brands RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "error": false, * "brands": [ * { * "id": 1, * "name": "" } ], * "total": 28 } LIST INTERESTS Search the list of interests AUTHORIZATIONS: accessToken QUERY PARAMETERS limit number Max items to get query string String to search by RESPONSES 200 get/v1/instagram/interests https://api.modash.io/v1/instagram/interests RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "error": false, * "interests": [ * { * "id": 1, * "name": "" } ], * "total": 28 } LIST LANGUAGES Search the list of languages for Influencers. AUTHORIZATIONS: accessToken QUERY PARAMETERS limit number Max items to get query string String to search by RESPONSES 200 get/v1/instagram/languages https://api.modash.io/v1/instagram/languages RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "error": false, * "languages": [ * { * "code": "en", * "name": "English" } ], * "total": 98 } LIST LOCATIONS Search the list of locations for Influencers. AUTHORIZATIONS: accessToken QUERY PARAMETERS limit number Max items to get query string String to search by RESPONSES 200 get/v1/instagram/locations https://api.modash.io/v1/instagram/locations RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "error": false, * "locations": [ * { * "id": 51800, * "name": "London", * "title": "London, United Kingdom" } ], * "total": 8477 } LIST USERS Search the list of influencers. AUTHORIZATIONS: accessToken QUERY PARAMETERS limit number Max items to get query string String to search by RESPONSES 200 get/v1/instagram/users https://api.modash.io/v1/instagram/users RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "error": false, * "users": [ * { * "userId": "232192182", * "username": "therock", * "fullname": "therock", * "picture": "https://imgp.sptds.icu/v2?mb0KwpL92uYofJiSjDn1%2F6peL1lBwv3s%2BUvShHERlDbrEEwrWumIvR20xZeZXa0LDeIrcniqZeG9S%2F1a5s2Rx3FZdXrWpY%2BmSBJp1l%2FmBGon3rcHA4EfuatZqMhVBzAT", * "followers": 313583625, * "isVerified": true } ] } LIST HASHTAGS Search for hashtags AUTHORIZATIONS: accessToken QUERY PARAMETERS limit number Max items to get query string String to search by RESPONSES 200 get/v1/instagram/hashtags https://api.modash.io/v1/instagram/hashtags RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "error": false, * "tags": [ * "string" ] } LIST TOPICS Search for topics AUTHORIZATIONS: accessToken QUERY PARAMETERS limit number Max items to get query string String to search by RESPONSES 200 get/v1/instagram/topics https://api.modash.io/v1/instagram/topics RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "error": false, * "tags": [ * "string" ] } LIST INSTAGRAM HISTORY Get history in list of reports viewed with time range query. AUTHORIZATIONS: accessToken QUERY PARAMETERS endTime string Example: endTime=2020-03-11T20:10:24.252Z End time, ISO 8601 format or milliseconds since Unix Epoch startTime string Example: startTime=2020-03-08T20:10:24.252Z Start time, ISO 8601 format or milliseconds since Unix Epoch type string Enum: "report" "overview" Example: type=overview Type of the report RESPONSES 200 get/v1/instagram/history https://api.modash.io/v1/instagram/history RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "error": false, * "influencersHistory": [ * { * "userId": "123456", * "handle": "instagram", * "updatedAt": "2020-03-05T21:50:18.256Z", * "reportType": "OVERVIEW" } ] } GET PERFORMANCE DATA Returns the performance data of an Instagram account for the last 6, 12 and 30 posts & reels. The data is computed on demand, so if it is not available from the first request, a second call should be performed after ~1 minute. Every successful request costs 0.25 credits. If the response code is retry_later or there is an error on our side you will not be charged. AUTHORIZATIONS: accessToken QUERY PARAMETERS url required string Username (@handle) or user id RESPONSES 200 get/v1/instagram/performance-data https://api.modash.io/v1/instagram/performance-data RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "posts": { * "total": 0, * "posts_with_hidden_likes": 0, * "likes": { * "mean": [ * { * "numberOfItems": 0, * "value": 0 } ], * "min": [ * { * "numberOfItems": 0, * "value": 0 } ], * "max": [ * { * "numberOfItems": 0, * "value": 0 } ], * "median": [ * { * "numberOfItems": 0, * "value": 0 } ] }, * "comments": { * "mean": [ * { * "numberOfItems": 0, * "value": 0 } ], * "min": [ * { * "numberOfItems": 0, * "value": 0 } ], * "max": [ * { * "numberOfItems": 0, * "value": 0 } ], * "median": [ * { * "numberOfItems": 0, * "value": 0 } ] }, * "views": { * "mean": [ * { * "numberOfItems": 0, * "value": 0 } ], * "min": [ * { * "numberOfItems": 0, * "value": 0 } ], * "max": [ * { * "numberOfItems": 0, * "value": 0 } ], * "median": [ * { * "numberOfItems": 0, * "value": 0 } ] }, * "engagement_rate": [ * { * "numberOfItems": 0, * "value": 0 } ], * "posting_statistics": { * "weekDayHour": { * "mean": { * "numberOfItems": 0, * "value": 0 } }, * "daily": { * "mean": { * "numberOfItems": 0, * "value": 0 } } } }, * "reels": { * "total": 0, * "reels_with_hidden_likes": 0, * "likes": { * "mean": [ * { * "numberOfItems": 0, * "value": 0 } ], * "min": [ * { * "numberOfItems": 0, * "value": 0 } ], * "max": [ * { * "numberOfItems": 0, * "value": 0 } ], * "median": [ * { * "numberOfItems": 0, * "value": 0 } ] }, * "comments": { * "mean": [ * { * "numberOfItems": 0, * "value": 0 } ], * "min": [ * { * "numberOfItems": 0, * "value": 0 } ], * "max": [ * { * "numberOfItems": 0, * "value": 0 } ], * "median": [ * { * "numberOfItems": 0, * "value": 0 } ] }, * "views": { * "mean": [ * { * "numberOfItems": 0, * "value": 0 } ], * "min": [ * { * "numberOfItems": 0, * "value": 0 } ], * "max": [ * { * "numberOfItems": 0, * "value": 0 } ], * "median": [ * { * "numberOfItems": 0, * "value": 0 } ] }, * "engagement_rate": [ * { * "numberOfItems": 0, * "value": 0 } ], * "posting_statistics": { * "weekDayHour": { * "mean": { * "numberOfItems": 0, * "value": 0 } }, * "daily": { * "mean": { * "numberOfItems": 0, * "value": 0 } } } } } INSTAGRAM RAW DATA Instagram Raw Data API allows you to get public data anonymously from Instagram. Access to this API is restricted. To get access to this API contact our support at hello@modash.io. Our RAW API subscriptions come with a monthly limit for requests, every successful request consumes one from the limit. SEARCH Search for users and hashtags. AUTHORIZATIONS: accessToken QUERY PARAMETERS keyword required string RESPONSES 200 get/v1/raw/ig/search https://api.modash.io/v1/raw/ig/search RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "list": [ * { * "position": 0, * "user": { * "pk": "string", * "is_verified": false, * "profile_pic_url": "string", * "username": "string", * "full_name": "string", * "is_private": false }, * "hashtag": { * "name": "string", * "id": 0, * "media_count": 0, * "search_result_subtitle": "string" } } ] } USER INFO Get details about the user profile AUTHORIZATIONS: accessToken QUERY PARAMETERS url required string Username (@handle) or user id RESPONSES 200 get/v1/raw/ig/user-info https://api.modash.io/v1/raw/ig/user-info RESPONSE SAMPLES * 200 Content type application/json Copy { * "pk": "string", * "biography": "string", * "category": "string", * "external_url": "string", * "follower_count": 0, * "following_count": 0, * "full_name": "string", * "has_channel": true, * "has_clips": true, * "has_videos": true, * "has_guides": true, * "has_highlight_reels": true, * "is_business": true, * "is_private": true, * "is_verified": true, * "media_count": 0, * "profile_pic_url_hd": "string", * "profile_pic_url": "string", * "total_igtv_videos": 0, * "username": "string" } USER FEED Get users media feed in a paginated manner. 12 posts on the page. AUTHORIZATIONS: accessToken QUERY PARAMETERS after string Use end_cursor from the last page to get the next page url required string Username (@handle) or user id RESPONSES 200 get/v1/raw/ig/user-feed https://api.modash.io/v1/raw/ig/user-feed RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "items": [ * { * "pk": "string", * "can_viewer_reshare": true, * "caption": { * "text": "string" }, * "carousel_media_count": 0, * "carousel_media": [ * { * "pk": "string", * "display_url": "string", * "has_audio": true, * "image_versions2": { * "candidates": [ * { * "width": 0, * "height": 0, * "url": "string" } ] }, * "is_dash_eligible": 0, * "number_of_qualities": 0, * "video_dash_manifest": "string", * "video_url": "string" } ], * "clips_metadata": { * "music_info": { * "music_asset_info": { * "audio_cluster_id": "string", * "display_artist": "string", * "id": "string", * "subtitle": "string", * "title": "string" } } }, * "coauthor_producers": [ * { * "pk": "string", * "is_verified": false, * "profile_pic_url": "string", * "username": "string" } ], * "code": "string", * "comment_count": 0, * "display_url": "string", * "has_audio": true, * "image_versions2": { * "candidates": [ * { * "width": 0, * "height": 0, * "url": "string" } ] }, * "is_dash_eligible": "string", * "like_and_view_counts_disabled": true, * "like_count": 0, * "location": { * "pk": "string", * "address": "string", * "city": "string", * "lat": 0, * "lng": 0, * "name": "string" }, * "media_type": 0, * "number_of_qualities": 0, * "play_count": 0, * "product_type": "ad", * "sponsor_tags": [ * { * "sponsor": { * "pk": "string", * "is_verified": false, * "profile_pic_url": "string", * "username": "string", * "full_name": "string", * "is_private": true } } ], * "taken_at": 0, * "title": "string", * "user": { * "pk": "string", * "is_verified": false, * "profile_pic_url": "string", * "username": "string", * "full_name": "string", * "is_private": false }, * "usertags": { * "in": [ * { * "user": { * "pk": "string", * "is_verified": false, * "profile_pic_url": "string", * "username": "string", * "full_name": "string", * "is_private": true }, * "position": [ * 0, * 0 ] } ] }, * "video_dash_manifest": "string", * "video_duration": 0, * "video_url": "string", * "view_count": 0 } ], * "more_available": true, * "end_cursor": "string" } USER REELS Get users reels AUTHORIZATIONS: accessToken QUERY PARAMETERS after required string url required string Username (@handle) or user id RESPONSES 200 get/v1/raw/ig/user-reels https://api.modash.io/v1/raw/ig/user-reels RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "items": [ * { * "pk": "string", * "can_viewer_reshare": true, * "caption": { * "text": "string" }, * "carousel_media_count": 0, * "carousel_media": [ * { * "pk": "string", * "display_url": "string", * "has_audio": true, * "image_versions2": { * "candidates": [ * { * "width": 0, * "height": 0, * "url": "string" } ] }, * "is_dash_eligible": 0, * "number_of_qualities": 0, * "video_dash_manifest": "string", * "video_url": "string" } ], * "clips_metadata": { * "music_info": { * "music_asset_info": { * "audio_cluster_id": "string", * "display_artist": "string", * "id": "string", * "subtitle": "string", * "title": "string" } } }, * "coauthor_producers": [ * { * "pk": "string", * "is_verified": false, * "profile_pic_url": "string", * "username": "string" } ], * "code": "string", * "comment_count": 0, * "display_url": "string", * "has_audio": true, * "image_versions2": { * "candidates": [ * { * "width": 0, * "height": 0, * "url": "string" } ] }, * "is_dash_eligible": "string", * "like_and_view_counts_disabled": true, * "like_count": 0, * "location": { * "pk": "string", * "address": "string", * "city": "string", * "lat": 0, * "lng": 0, * "name": "string" }, * "media_type": 0, * "number_of_qualities": 0, * "play_count": 0, * "product_type": "ad", * "sponsor_tags": [ * { * "sponsor": { * "pk": "string", * "is_verified": false, * "profile_pic_url": "string", * "username": "string", * "full_name": "string", * "is_private": true } } ], * "taken_at": 0, * "title": "string", * "user": { * "pk": "string", * "is_verified": false, * "profile_pic_url": "string", * "username": "string", * "full_name": "string", * "is_private": false }, * "usertags": { * "in": [ * { * "user": { * "pk": "string", * "is_verified": false, * "profile_pic_url": "string", * "username": "string", * "full_name": "string", * "is_private": true }, * "position": [ * 0, * 0 ] } ] }, * "video_dash_manifest": "string", * "video_duration": 0, * "video_url": "string", * "view_count": 0 } ], * "more_available": true, * "end_cursor": "string" } USER TAGS FEED Get users tags feed AUTHORIZATIONS: accessToken QUERY PARAMETERS after string Use end_cursor from the last page to get the next page url required string Username (@handle) or user id RESPONSES 200 get/v1/raw/ig/user-tags-feed https://api.modash.io/v1/raw/ig/user-tags-feed RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "items": [ * { * "pk": "string", * "can_viewer_reshare": true, * "caption": { * "text": "string" }, * "carousel_media_count": 0, * "carousel_media": [ * { * "pk": "string", * "display_url": "string", * "has_audio": true, * "image_versions2": { * "candidates": [ * { * "width": 0, * "height": 0, * "url": "string" } ] }, * "is_dash_eligible": 0, * "number_of_qualities": 0, * "video_dash_manifest": "string", * "video_url": "string" } ], * "clips_metadata": { * "music_info": { * "music_asset_info": { * "audio_cluster_id": "string", * "display_artist": "string", * "id": "string", * "subtitle": "string", * "title": "string" } } }, * "coauthor_producers": [ * { * "pk": "string", * "is_verified": false, * "profile_pic_url": "string", * "username": "string" } ], * "code": "string", * "comment_count": 0, * "display_url": "string", * "has_audio": true, * "image_versions2": { * "candidates": [ * { * "width": 0, * "height": 0, * "url": "string" } ] }, * "is_dash_eligible": "string", * "like_and_view_counts_disabled": true, * "like_count": 0, * "location": { * "pk": "string", * "address": "string", * "city": "string", * "lat": 0, * "lng": 0, * "name": "string" }, * "media_type": 0, * "number_of_qualities": 0, * "play_count": 0, * "product_type": "ad", * "sponsor_tags": [ * { * "sponsor": { * "pk": "string", * "is_verified": false, * "profile_pic_url": "string", * "username": "string", * "full_name": "string", * "is_private": true } } ], * "taken_at": 0, * "title": "string", * "user": { * "pk": "string", * "is_verified": false, * "profile_pic_url": "string", * "username": "string", * "full_name": "string", * "is_private": false }, * "usertags": { * "in": [ * { * "user": { * "pk": "string", * "is_verified": false, * "profile_pic_url": "string", * "username": "string", * "full_name": "string", * "is_private": true }, * "position": [ * 0, * 0 ] } ] }, * "video_dash_manifest": "string", * "video_duration": 0, * "video_url": "string", * "view_count": 0 } ], * "more_available": true, * "end_cursor": "string" } HASHTAG FEED Get hashtag feed AUTHORIZATIONS: accessToken QUERY PARAMETERS after string Use end_cursor from the last page to get the next page hashtag required string type required string Enum: "recent" "top" RESPONSES 200 get/v1/raw/ig/hashtag-feed https://api.modash.io/v1/raw/ig/hashtag-feed RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "items": [ * { * "pk": "string", * "can_viewer_reshare": true, * "caption": { * "text": "string" }, * "carousel_media_count": 0, * "carousel_media": [ * { * "pk": "string", * "display_url": "string", * "has_audio": true, * "image_versions2": { * "candidates": [ * { * "width": 0, * "height": 0, * "url": "string" } ] }, * "is_dash_eligible": 0, * "number_of_qualities": 0, * "video_dash_manifest": "string", * "video_url": "string" } ], * "clips_metadata": { * "music_info": { * "music_asset_info": { * "audio_cluster_id": "string", * "display_artist": "string", * "id": "string", * "subtitle": "string", * "title": "string" } } }, * "coauthor_producers": [ * { * "pk": "string", * "is_verified": false, * "profile_pic_url": "string", * "username": "string" } ], * "code": "string", * "comment_count": 0, * "display_url": "string", * "has_audio": true, * "image_versions2": { * "candidates": [ * { * "width": 0, * "height": 0, * "url": "string" } ] }, * "is_dash_eligible": "string", * "like_and_view_counts_disabled": true, * "like_count": 0, * "location": { * "pk": "string", * "address": "string", * "city": "string", * "lat": 0, * "lng": 0, * "name": "string" }, * "media_type": 0, * "number_of_qualities": 0, * "play_count": 0, * "product_type": "ad", * "sponsor_tags": [ * { * "sponsor": { * "pk": "string", * "is_verified": false, * "profile_pic_url": "string", * "username": "string", * "full_name": "string", * "is_private": true } } ], * "taken_at": 0, * "title": "string", * "user": { * "pk": "string", * "is_verified": false, * "profile_pic_url": "string", * "username": "string", * "full_name": "string", * "is_private": false }, * "usertags": { * "in": [ * { * "user": { * "pk": "string", * "is_verified": false, * "profile_pic_url": "string", * "username": "string", * "full_name": "string", * "is_private": true }, * "position": [ * 0, * 0 ] } ] }, * "video_dash_manifest": "string", * "video_duration": 0, * "video_url": "string", * "view_count": 0 } ], * "more_available": true, * "end_cursor": "string" } MEDIA INFO Get media info AUTHORIZATIONS: accessToken QUERY PARAMETERS code required string Instagram post shortcode (digits and letters after https://www.instagram.com/p/) RESPONSES 200 get/v1/raw/ig/media-info https://api.modash.io/v1/raw/ig/media-info RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "items": [ * { * "pk": "string", * "can_viewer_reshare": true, * "caption": { * "text": "string" }, * "carousel_media_count": 0, * "carousel_media": [ * { * "pk": "string", * "display_url": "string", * "has_audio": true, * "image_versions2": { * "candidates": [ * { * "width": 0, * "height": 0, * "url": "string" } ] }, * "is_dash_eligible": 0, * "number_of_qualities": 0, * "video_dash_manifest": "string", * "video_url": "string" } ], * "clips_metadata": { * "music_info": { * "music_asset_info": { * "audio_cluster_id": "string", * "display_artist": "string", * "id": "string", * "subtitle": "string", * "title": "string" } } }, * "coauthor_producers": [ * { * "pk": "string", * "is_verified": false, * "profile_pic_url": "string", * "username": "string" } ], * "code": "string", * "comment_count": 0, * "display_url": "string", * "has_audio": true, * "image_versions2": { * "candidates": [ * { * "width": 0, * "height": 0, * "url": "string" } ] }, * "is_dash_eligible": "string", * "like_and_view_counts_disabled": true, * "like_count": 0, * "location": { * "pk": "string", * "address": "string", * "city": "string", * "lat": 0, * "lng": 0, * "name": "string" }, * "media_type": 0, * "number_of_qualities": 0, * "play_count": 0, * "product_type": "ad", * "sponsor_tags": [ * { * "sponsor": { * "pk": "string", * "is_verified": false, * "profile_pic_url": "string", * "username": "string", * "full_name": "string", * "is_private": true } } ], * "taken_at": 0, * "title": "string", * "user": { * "pk": "string", * "is_verified": false, * "profile_pic_url": "string", * "username": "string", * "full_name": "string", * "is_private": false }, * "usertags": { * "in": [ * { * "user": { * "pk": "string", * "is_verified": false, * "profile_pic_url": "string", * "username": "string", * "full_name": "string", * "is_private": true }, * "position": [ * 0, * 0 ] } ] }, * "video_dash_manifest": "string", * "video_duration": 0, * "video_url": "string", * "view_count": 0 } ] } MEDIA COMMENTS Get media comments AUTHORIZATIONS: accessToken QUERY PARAMETERS after string Use end_cursor from the last page to get the next page code required string Instagram post shortcode (digits and letters after https://www.instagram.com/p/) RESPONSES 200 get/v1/raw/ig/media-comments https://api.modash.io/v1/raw/ig/media-comments RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "comments_disabled": true, * "comments": [ * { * "pk": "string", * "user": { * "pk": "string", * "is_verified": false, * "profile_pic_url": "string", * "username": "string", * "full_name": "string", * "is_private": false }, * "created_at": 0, * "text": "string", * "comment_like_count": 0, * "child_comment_count": 0 } ], * "comment_count": 0, * "more_available": true, * "end_cursor": "string" } MEDIA COMMENT REPLIES Get comment replies AUTHORIZATIONS: accessToken QUERY PARAMETERS after string Use end_cursor from the last page to get the next page code required string Instagram post shortcode (digits and letters after https://www.instagram.com/p/) comment_id required string RESPONSES 200 get/v1/raw/ig/media-comment-replies https://api.modash.io/v1/raw/ig/media-comment-replies RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "child_comments": [ * { * "pk": "string", * "user": { * "pk": "string", * "is_verified": false, * "profile_pic_url": "string", * "username": "string", * "full_name": "string", * "is_private": false }, * "created_at": 0, * "text": "string", * "comment_like_count": 0, * "child_comment_count": 0 } ], * "more_available": true, * "end_cursor": "string" } TIKTOK RAW DATA (BETA) TikTok Raw Data API allows you to get public data anonymously from Tiktok. Access to this API is restricted. To get access to this API contact our support at hello@modash.io. Depending on the chosen plan there is a monthly limit of available requests. Each request consumes one unit from the given amount of requests. Our RAW API subscriptions come with a monthly limit for requests, every successful request consumes one from the limit. This API is currently in BETA, meaning it can change at any time. We will let you know about any modifications, but please be aware that unexpected changes may occur. TIKTOK USER INFO Returns details about the TikTok user profile AUTHORIZATIONS: accessToken QUERY PARAMETERS url required string Username (@handle) or user id, or url RESPONSES 200 get/v1/raw/tiktok/user-info https://api.modash.io/v1/raw/tiktok/user-info RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "user_info": { * "userInfo": { * "user": { * "id": "string", * "uniqueId": "string", * "nickname": "string", * "avatarThumb": "string", * "avatarMedium": "string", * "avatarLarger": "string", * "signature": "string", * "verified": true, * "secUid": "string", * "secret": true, * "ftc": true, * "openFavorite": true, * "bioLink": { * "link": "string", * "risk": 0 }, * "privateAccount": true }, * "stats": { * "followingCount": 0, * "followerCount": 0, * "heartCount": 0, * "videoCount": 0, * "diggCount": 0, * "heart": 0 }, * "shareMeta": { * "title": "string", * "desc": "string" } } } } TIKTOK USER FEED Returns user feed information of a TikTok user by userId or username AUTHORIZATIONS: accessToken QUERY PARAMETERS after string Use maxCursor from the last page to get the next page url required string Username (@handle) or user id, or url RESPONSES 200 get/v1/raw/tiktok/user-feed https://api.modash.io/v1/raw/tiktok/user-feed RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "user_feed": { * "items": [ * { * "id": "string", * "desc": "string", * "createTime": 0, * "video": { * "id": "string", * "height": 0, * "width": 0, * "duration": 0, * "ratio": "string", * "cover": "string", * "originCover": "string", * "dynamicCover": "string", * "playAddr": "string", * "downloadAddr": "string", * "shareCover": [ * "string" ], * "reflowCover": "string" }, * "author": { * "id": "string", * "uniqueId": "string", * "nickname": "string", * "avatarThumb": "string", * "avatarMedium": "string", * "avatarLarger": "string", * "signature": "string", * "verified": true, * "secUid": "string", * "secret": true, * "ftc": true, * "openFavorite": true, * "commentSetting": 0, * "duetSetting": 0, * "stitchSetting": 0, * "privateAccount": true }, * "music": { * "id": "string", * "title": "string", * "playUrl": "string", * "coverThumb": "string", * "coverMedium": "string", * "coverLarge": "string", * "authorName": "string", * "original": true }, * "challenges": [ * { * "id": "string", * "title": "string", * "desc": "string", * "profileThumb": "string", * "profileMedium": "string", * "profileLarger": "string", * "coverThumb": "string", * "coverMedium": "string", * "coverLarger": "string" } ], * "stats": { * "diggCount": 0, * "shareCount": 0, * "commentCount": 0, * "playCount": 0 }, * "originalItem": true, * "officalItem": true, * "textExtra": [ * { * "awemeId": "string", * "start": 0, * "end": 0, * "hashtagName": "string", * "hashtagId": "string", * "type": 0, * "userId": "string", * "isCommerce": true, * "userUniqueId": "string", * "secUid": "string" } ], * "secret": true, * "forFriend": true, * "showNotPass": true, * "vl1": true, * "itemMute": true, * "effectStickers": [ * { * "name": "string", * "ID": "string" } ], * "authorStats": { * "followingCount": 0, * "followerCount": 0, * "heartCount": 0, * "videoCount": 0, * "diggCount": 0, * "heart": 0 }, * "privateItem": true, * "duetEnabled": true, * "stitchEnabled": true, * "shareEnabled": true, * "isAd": true } ], * "hasMore": true, * "maxCursor": "string" } } TIKTOK CHALLENGE FEED Returns TikTok challenge (tag) feed based on challenge id AUTHORIZATIONS: accessToken QUERY PARAMETERS after string Use maxCursor from the last page to get the next page url required string TikTok challengeId RESPONSES 200 get/v1/raw/tiktok/challenge-feed https://api.modash.io/v1/raw/tiktok/challenge-feed RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "challenge_feed": { * "itemList": [ * { * "id": "string", * "desc": "string", * "createTime": 0, * "video": { * "id": "string", * "height": 0, * "width": 0, * "duration": 0, * "ratio": "string", * "cover": "string", * "originCover": "string", * "dynamicCover": "string", * "playAddr": "string", * "downloadAddr": "string", * "shareCover": [ * "string" ], * "reflowCover": "string" }, * "author": { * "id": "string", * "uniqueId": "string", * "nickname": "string", * "avatarThumb": "string", * "avatarMedium": "string", * "avatarLarger": "string", * "signature": "string", * "verified": true, * "secUid": "string", * "secret": true, * "ftc": true, * "openFavorite": true, * "commentSetting": 0, * "duetSetting": 0, * "stitchSetting": 0, * "privateAccount": true }, * "music": { * "id": "string", * "title": "string", * "playUrl": "string", * "coverThumb": "string", * "coverMedium": "string", * "coverLarge": "string", * "authorName": "string", * "original": true }, * "challenges": [ * { * "id": "string", * "title": "string", * "desc": "string", * "profileThumb": "string", * "profileMedium": "string", * "profileLarger": "string", * "coverThumb": "string", * "coverMedium": "string", * "coverLarger": "string" } ], * "stats": { * "diggCount": 0, * "shareCount": 0, * "commentCount": 0, * "playCount": 0 }, * "originalItem": true, * "officalItem": true, * "textExtra": [ * { * "awemeId": "string", * "start": 0, * "end": 0, * "hashtagName": "string", * "hashtagId": "string", * "type": 0, * "userId": "string", * "isCommerce": true, * "userUniqueId": "string", * "secUid": "string" } ], * "secret": true, * "forFriend": true, * "showNotPass": true, * "vl1": true, * "itemMute": true, * "effectStickers": [ * { * "name": "string", * "ID": "string" } ], * "authorStats": { * "followingCount": 0, * "followerCount": 0, * "heartCount": 0, * "videoCount": 0, * "diggCount": 0, * "heart": 0 }, * "privateItem": true, * "duetEnabled": true, * "stitchEnabled": true, * "shareEnabled": true, * "isAd": true } ], * "stickersOnItem": { * "stickerType": 0, * "stickerText": [ * "string" ] }, * "hasMore": true, * "maxCursor": "string" } } TIKTOK CHALLENGE INFO Returns TikTok challenge info based on challenge id AUTHORIZATIONS: accessToken QUERY PARAMETERS url required string TikTok challengeId or challenge hashtag RESPONSES 200 get/v1/raw/tiktok/challenge-info https://api.modash.io/v1/raw/tiktok/challenge-info RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "challenge": { * "challengeInfo": { * "challenge": { * "id": "string", * "title": "string", * "desc": "string", * "profileLarger": "string", * "profileMedium": "string", * "profileThumb": "string", * "coverLarger": "string", * "coverMedium": "string", * "coverThumb": "string", * "isCommerce": true, * "splitTitle": "string" }, * "stats": { * "videoCount": 0, * "viewCount": 0 } } } } TIKTOK COMMENTS Returns TikTok comments list based on media id AUTHORIZATIONS: accessToken QUERY PARAMETERS after string Use maxCursor from the last page to get the next page url required string TikTok media ID RESPONSES 200 get/v1/raw/tiktok/comments https://api.modash.io/v1/raw/tiktok/comments RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "comments": { * "comments": [ * { * "cid": "string", * "text": "string", * "aweme_id": "string", * "create_time": 0, * "digg_count": 0, * "status": 0, * "user": { * "nickname": "string", * "avatar_thumb": { * "uri": "string", * "url_list": [ * "string" ] }, * "custom_verify": "string", * "unique_id": "string", * "enterprise_verify_reason": "string", * "sec_uid": "string" }, * "reply_id": "string", * "text_extra": [ * { * "start": 0, * "end": 0, * "user_id": "string", * "hashtag_name": "string", * "hashtag_id": "string", * "sec_uid": "string" } ], * "label_text": "string", * "label_type": 0, * "reply_comment_total": 0, * "reply_to_reply_id": "string", * "reply_to_userid": "string", * "reply_to_username": "string", * "is_author_digged": true, * "reply_comment": [ * { * "cid": "string", * "text": "string", * "aweme_id": "string", * "create_time": 0, * "digg_count": 0, * "status": 0, * "user": { * "nickname": "string", * "avatar_thumb": { * "uri": "string", * "url_list": [ * "string" ] }, * "custom_verify": "string", * "unique_id": "string", * "enterprise_verify_reason": "string", * "sec_uid": "string" }, * "reply_id": "string", * "text_extra": [ * { * "start": 0, * "end": 0, * "user_id": "string", * "hashtag_name": "string", * "hashtag_id": "string", * "sec_uid": "string" } ], * "label_text": "string", * "label_type": 0, * "reply_comment_total": 0, * "reply_to_reply_id": "string", * "reply_to_userid": "string", * "reply_to_username": "string", * "is_author_digged": true } ] } ], * "hasMore": true, * "maxCursor": "string" } } TIKTOK COMMENTS REPLIES Returns TikTok comment replies list based on comment id AUTHORIZATIONS: accessToken QUERY PARAMETERS after string Use maxCursor from the last page to get the next page comment_id required string TikTok comment ID (cid) url required string TikTok media ID RESPONSES 200 get/v1/raw/tiktok/comments-replies https://api.modash.io/v1/raw/tiktok/comments-replies RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "comments": { * "comments": [ * { * "cid": "string", * "text": "string", * "aweme_id": "string", * "create_time": 0, * "digg_count": 0, * "status": 0, * "user": { * "nickname": "string", * "avatar_thumb": { * "uri": "string", * "url_list": [ * "string" ] }, * "custom_verify": "string", * "unique_id": "string", * "enterprise_verify_reason": "string", * "sec_uid": "string" }, * "reply_id": "string", * "text_extra": [ * { * "start": 0, * "end": 0, * "user_id": "string", * "hashtag_name": "string", * "hashtag_id": "string", * "sec_uid": "string" } ], * "label_text": "string", * "label_type": 0, * "reply_comment_total": 0, * "reply_to_reply_id": "string", * "reply_to_userid": "string", * "reply_to_username": "string", * "is_author_digged": true, * "reply_comment": [ * { * "cid": "string", * "text": "string", * "aweme_id": "string", * "create_time": 0, * "digg_count": 0, * "status": 0, * "user": { * "nickname": "string", * "avatar_thumb": { * "uri": "string", * "url_list": [ * "string" ] }, * "custom_verify": "string", * "unique_id": "string", * "enterprise_verify_reason": "string", * "sec_uid": "string" }, * "reply_id": "string", * "text_extra": [ * { * "start": 0, * "end": 0, * "user_id": "string", * "hashtag_name": "string", * "hashtag_id": "string", * "sec_uid": "string" } ], * "label_text": "string", * "label_type": 0, * "reply_comment_total": 0, * "reply_to_reply_id": "string", * "reply_to_userid": "string", * "reply_to_username": "string", * "is_author_digged": true } ] } ], * "hasMore": true, * "maxCursor": "string" } } TIKTOK MUSIC INFO Returns music info by id AUTHORIZATIONS: accessToken QUERY PARAMETERS after string Use maxCursor from the last page to get the next page url required string TikTok music ID RESPONSES 200 get/v1/raw/tiktok/music-info https://api.modash.io/v1/raw/tiktok/music-info RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "music": { * "musicInfo": { * "music": { * "id": "string", * "title": "string", * "playUrl": "string", * "coverThumb": "string", * "coverMedium": "string", * "coverLarge": "string", * "authorName": "string", * "original": true, * "duration": 0, * "album": "string" }, * "author": { * "id": "string", * "uniqueId": "string", * "nickname": "string", * "avatarThumb": "string", * "avatarMedium": "string", * "avatarLarger": "string", * "signature": "string", * "verified": true, * "secUid": "string", * "secret": true, * "ftc": true, * "openFavorite": true, * "commentSetting": 0, * "duetSetting": 0, * "stitchSetting": 0, * "privateAccount": true }, * "stats": { * "videoCount": 0 }, * "artist": { * "id": "string", * "uniqueId": "string", * "nickname": "string", * "avatarThumb": "string", * "avatarMedium": "string", * "avatarLarger": "string", * "signature": "string", * "verified": true, * "secUid": "string", * "secret": true, * "ftc": true, * "openFavorite": true, * "commentSetting": 0, * "duetSetting": 0, * "stitchSetting": 0, * "privateAccount": true }, * "artists": [ * { * "id": "string", * "uniqueId": "string", * "nickname": "string", * "avatarThumb": "string", * "avatarMedium": "string", * "avatarLarger": "string", * "signature": "string", * "verified": true, * "secUid": "string", * "secret": true, * "ftc": true, * "openFavorite": true, * "commentSetting": 0, * "duetSetting": 0, * "stitchSetting": 0, * "privateAccount": true } ] } } } TIKTOK MUSIC FEED Returns TikTok music feed by id. Up to 30 posts per page AUTHORIZATIONS: accessToken QUERY PARAMETERS after string Use maxCursor from the last page to get the next page url required string TikTok music ID RESPONSES 200 get/v1/raw/tiktok/music-feed https://api.modash.io/v1/raw/tiktok/music-feed RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "music_feed": { * "itemList": [ * { * "id": "string", * "desc": "string", * "createTime": 0, * "video": { * "id": "string", * "height": 0, * "width": 0, * "duration": 0, * "ratio": "string", * "cover": "string", * "originCover": "string", * "dynamicCover": "string", * "playAddr": "string", * "downloadAddr": "string", * "shareCover": [ * "string" ], * "reflowCover": "string" }, * "author": { * "id": "string", * "uniqueId": "string", * "nickname": "string", * "avatarThumb": "string", * "avatarMedium": "string", * "avatarLarger": "string", * "signature": "string", * "verified": true, * "secUid": "string", * "secret": true, * "ftc": true, * "openFavorite": true, * "commentSetting": 0, * "duetSetting": 0, * "stitchSetting": 0, * "privateAccount": true }, * "music": { * "id": "string", * "title": "string", * "playUrl": "string", * "coverThumb": "string", * "coverMedium": "string", * "coverLarge": "string", * "authorName": "string", * "original": true }, * "challenges": [ * { * "id": "string", * "title": "string", * "desc": "string", * "profileThumb": "string", * "profileMedium": "string", * "profileLarger": "string", * "coverThumb": "string", * "coverMedium": "string", * "coverLarger": "string" } ], * "stats": { * "diggCount": 0, * "shareCount": 0, * "commentCount": 0, * "playCount": 0 }, * "originalItem": true, * "officalItem": true, * "textExtra": [ * { * "awemeId": "string", * "start": 0, * "end": 0, * "hashtagName": "string", * "hashtagId": "string", * "type": 0, * "userId": "string", * "isCommerce": true, * "userUniqueId": "string", * "secUid": "string" } ], * "secret": true, * "forFriend": true, * "showNotPass": true, * "vl1": true, * "itemMute": true, * "effectStickers": [ * { * "name": "string", * "ID": "string" } ], * "authorStats": { * "followingCount": 0, * "followerCount": 0, * "heartCount": 0, * "videoCount": 0, * "diggCount": 0, * "heart": 0 }, * "privateItem": true, * "duetEnabled": true, * "stitchEnabled": true, * "shareEnabled": true, * "isAd": true } ], * "hasMore": true, * "maxCursor": "string" } } TIKTOK SEARCH USERS Returns TikTok users' search result by a given keyword AUTHORIZATIONS: accessToken QUERY PARAMETERS keyword required string Search keyword RESPONSES 200 get/v1/raw/tiktok/search-users https://api.modash.io/v1/raw/tiktok/search-users RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "result": { * "user_list": [ * { * "user_info": { * "uid": "string", * "nickname": "string", * "signature": "string", * "avatar_thumb": { * "uri": "string", * "url_list": [ * "string" ], * "width": 0, * "height": 0 }, * "follower_count": 0, * "custom_verify": "string", * "unique_id": "string", * "enterprise_verify_reason": "string", * "sec_uid": "string" } } ] } } TIKTOK MEDIA INFO Returns TikTok media info by id AUTHORIZATIONS: accessToken QUERY PARAMETERS url required string TikTok media/post ID RESPONSES 200 get/v1/raw/tiktok/media-info https://api.modash.io/v1/raw/tiktok/media-info RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "media": { * "itemInfo": { * "itemStruct": { * "id": "string", * "desc": "string", * "createTime": 0, * "video": { * "id": "string", * "height": 0, * "width": 0, * "duration": 0, * "ratio": "string", * "cover": "string", * "originCover": "string", * "dynamicCover": "string", * "playAddr": "string", * "downloadAddr": "string", * "shareCover": [ * "string" ], * "reflowCover": "string" }, * "author": { * "id": "string", * "uniqueId": "string", * "nickname": "string", * "avatarThumb": "string", * "avatarMedium": "string", * "avatarLarger": "string", * "signature": "string", * "verified": true, * "secUid": "string", * "secret": true, * "ftc": true, * "openFavorite": true, * "commentSetting": 0, * "duetSetting": 0, * "stitchSetting": 0, * "privateAccount": true }, * "music": { * "id": "string", * "title": "string", * "playUrl": "string", * "coverThumb": "string", * "coverMedium": "string", * "coverLarge": "string", * "authorName": "string", * "original": true, * "duration": 0, * "album": "string" }, * "challenges": [ * { * "id": "string", * "title": "string", * "desc": "string", * "profileThumb": "string", * "profileMedium": "string", * "profileLarger": "string", * "coverThumb": "string", * "coverMedium": "string", * "coverLarger": "string", * "isCommerce": true } ], * "stats": { * "diggCount": 0, * "shareCount": 0, * "commentCount": 0, * "playCount": 0 }, * "isActivityItem": true, * "duetInfo": { * "duetFromId": "string" }, * "textExtra": [ * { * "awemeId": "string", * "start": 0, * "end": 0, * "hashtagName": "string", * "hashtagId": "string", * "type": 0, * "userId": "string", * "isCommerce": true, * "userUniqueId": "string", * "secUid": "string" } ], * "secret": true, * "showNotPass": true, * "vl1": true, * "itemMute": true, * "privateItem": true, * "duetEnabled": true, * "stitchEnabled": true, * "shareEnabled": true, * "stickersOnItem": [ * { * "stickerType": 0, * "stickerText": [ * "string" ] } ], * "isAd": true }, * "shareMeta": { * "title": "string", * "desc": "string" } } } } TIKTOK MEDIA DOWNLOAD Returns TikTok media downloaded video by id AUTHORIZATIONS: accessToken QUERY PARAMETERS url required string TikTok media/post ID RESPONSES 200 get/v1/raw/tiktok/media-download https://api.modash.io/v1/raw/tiktok/media-download RESPONSE SAMPLES * 200 Content type application/json Copy "string" YOUTUBE RAW DATA (BETA) YouTube Raw Data API allows you to get public data anonymously from YouTube. Access to this API is restricted. To get access to this API contact our support at hello@modash.io. Depending on the chosen plan there is a monthly limit of available requests. Each request consumes one unit from the given amount of requests. Our RAW API subscriptions come with a monthly limit for requests, every successful request consumes one from the limit. This API is currently in BETA, meaning it can change at any time. We will let you know about any modifications, but please be aware that unexpected changes may occur. CHANNEL INFO Returns details about the YouTube channel. AUTHORIZATIONS: accessToken QUERY PARAMETERS url required string YouTube url to channel's page, i.e. https://www.youtube.com/@{channelName} RESPONSES 200 get/v1/raw/youtube/channel-info https://api.modash.io/v1/raw/youtube/channel-info RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "channel_info": { * "channel_id": "string", * "custom_url": "string", * "username": "string", * "is_removed": true, * "is_hidden": true, * "is_verified": true, * "fullname": "string", * "picture": "string", * "description": "string", * "country": "string", * "followers": 0, * "joined_at": "string", * "total_views": 0, * "links": [ * "string" ], * "handle": "string" } } UPLOADED VIDEOS Returns a list of 30 uploaded YouTube videos to the channel with a limited list of details. AUTHORIZATIONS: accessToken QUERY PARAMETERS after string Use cursor from the last page to get the next page sorted_by string Sorted by a passed parameter: "dd" by Date in descenting order (default) or "p" by Popularity url required string YouTube url to channel's page, i.e. https://www.youtube.com/@{channelName} RESPONSES 200 get/v1/raw/youtube/uploaded-videos https://api.modash.io/v1/raw/youtube/uploaded-videos RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "videos_list": { * "total": 0, * "videos": [ * { * "video_id": "string", * "thumbnail": "string", * "title": "string", * "time": "string", * "published_ago": "string", * "views": 0 } ], * "cursor": "string" } } UPLOADED SHORTS Returns a list of 30 uploaded YouTube shorts to the channel with a limited list of details. AUTHORIZATIONS: accessToken QUERY PARAMETERS after string Use cursor from the last page to get the next page sorted_by string Sorted by a passed parameter: "dd" by Date in descenting order (default) or "p" by Popularity url required string YouTube url to channel's page, i.e. https://www.youtube.com/@{channelName} RESPONSES 200 get/v1/raw/youtube/uploaded-shorts https://api.modash.io/v1/raw/youtube/uploaded-shorts RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "shorts_list": { * "shorts": [ * { * "short_id": "string", * "thumbnail": "string", * "title": "string", * "views": 0 } ], * "cursor": "string" } } PLAYLIST VIDEOS Returns a list of 100 videos from a YouTube playlist. AUTHORIZATIONS: accessToken QUERY PARAMETERS after string Use cursor from the last page to get the next page url required string YouTube url to playlist's page, i.e. https://www.youtube.com/playlist?list={playlistId} RESPONSES 200 get/v1/raw/youtube/playlist-videos https://api.modash.io/v1/raw/youtube/playlist-videos RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "videos_list": { * "total": 0, * "videos": [ * { * "video_id": "string", * "thumbnail": "string", * "title": "string", * "time": "string", * "published_ago": "string", * "views": 0 } ], * "cursor": "string" } } VIDEO INFO Returns a YouTube video information. AUTHORIZATIONS: accessToken QUERY PARAMETERS url required string YouTube video page url i.e. https://www.youtube.com/watch?v={videoId} RESPONSES 200 get/v1/raw/youtube/video-info https://api.modash.io/v1/raw/youtube/video-info RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "video_info": { * "video_id": "string", * "channel_id": "string", * "title": "string", * "published_at": "string", * "duration": 0, * "views": 0, * "likes": 0, * "dislikes": 0, * "comments": 0, * "genre": "string", * "thumbnail": "string", * "description": "string", * "keywords": [ * "string" ], * "subtitles": [ * { * "vss_id": "string", * "language_code": "string", * "name": "string", * "fetch_url": "string" } ], * "comments_tabs": [ * { * "type": "string", * "cursor": "string" } ] } } SHORT INFO Returns a YouTube short information. AUTHORIZATIONS: accessToken QUERY PARAMETERS url required string YouTube short page url i.e. https://www.youtube.com/shorts/{shortId} RESPONSES 200 get/v1/raw/youtube/short-info https://api.modash.io/v1/raw/youtube/short-info RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "short_info": { * "short_id": "string", * "channel_id": "string", * "title": "string", * "published_at": "string", * "duration": "string", * "views": 0, * "likes": 0, * "dislikes": 0, * "comments": 0, * "genre": "string", * "thumbnail": "string", * "description": "string", * "subtitles": [ * { * "vss_id": "string", * "language_code": "string", * "name": "string", * "fetch_url": "string" } ], * "keywords": [ * "string" ] } } VIDEO COMMENTS Returns a list of 20 YouTube video comments. To obtain the first comments page use cursor from Video Info endpoint. AUTHORIZATIONS: accessToken QUERY PARAMETERS after string Use cursor from the last page to get the next page url required string YouTube video page url i.e. https://www.youtube.com/watch?v={videoId} RESPONSES 200 get/v1/raw/youtube/video-comments https://api.modash.io/v1/raw/youtube/video-comments RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "comments_list": { * "comments": [ * { * "comment_id": "string", * "author_channel_id": "string", * "author_name": "string", * "author_picture": "string", * "published_at": "string", * "author_is_channel_owner": true, * "likes": 0, * "liked_by_creator": true, * "text": "string", * "reply_count": 0, * "replies_cursor": "string" } ], * "cursor": "string" } } VIDEO COMMENT REPLIES Returns a list of 20 YouTube video comment replies. To obtain the first replies page use replies_cursor from Video Comments endpoint. AUTHORIZATIONS: accessToken QUERY PARAMETERS after string Use cursor from the last page to get the next page url required string YouTube video page url i.e. https://www.youtube.com/watch?v={videoId} RESPONSES 200 get/v1/raw/youtube/video-comment-replies https://api.modash.io/v1/raw/youtube/video-comment-replies RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "replies_list": { * "comments": [ * { * "comment_id": "string", * "author_channel_id": "string", * "author_name": "string", * "author_picture": "string", * "published_at": "string", * "author_is_channel_owner": true, * "likes": 0, * "liked_by_creator": true, * "text": "string", * "reply_count": 0, * "replies_cursor": "string" } ], * "cursor": "string" } } USER ACCOUNT API for Modash user account management GET USER ACCOUNT INFO AUTHORIZATIONS: accessToken RESPONSES 200 get/v1/user/info https://api.modash.io/v1/user/info RESPONSE SAMPLES * 200 Content type application/json Copy Expand all Collapse all { * "error": true, * "user": { * "fullname": "J", * "email": "j" }, * "billing": { * "credits": 0, * "subscription": { * "searches": 4500, * "summaries": 500, * "reports": 200, * "exports": 100 } } }