Modash API
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.
Our Modash API experts can help you to get started today.
In a call with our team, we will:
- Listen to your API and business needs.
- Answer any questions you have.
- Help you to figure out it our API is the right solution for you and your team.
We're ready when you are ⚡
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:
Authorizationheader field where the value is in the formatBearer {token}- or
access_tokenbody parameter - or
access_tokenquery 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:
Code(js)
| 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 |
account_removed | Requested account was removed |
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 don't have audience for this account but will have very soon. Try again in a couple of hours. |
not_enough_credits | You don't have enough credits for this action. Contact us to top up your credits. |
internal_server_error | Our server is experiencing problems processing your request. We have been notified and will look into this. |
request_timeout | The server timed out waiting for the request to be completed. Please try again. |
client_error | The request contains bad syntax or cannot be fulfilled. Please check and modify your request accordingly. |
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.
Code
Reports
To test out the Instagram Reports API for free you can set the userId as instagram.
Your request should look like this.
Code
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.
Dictionaries
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 1000000.
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.
