script

const target = document.querySelector('div[class^="Search__SearchWrapper"]');
const a = document.createElement('a');
a.href = "https://calendly.com/d/cmms-ff7-gdh?utm_source=docs&utm_campaign=docs" 
a.target = "_blank"
const button = document.createElement('button');
button.className = "btn-call btn-header"
button.textContent = "Get a demo"

a.appendChild(button);

target.insertAdjacentElement('afterend', a);

## Modash.io API (1.5.0)

Our goal is to help you get started quickly.

If you don't have access to our API products yet, please contact our team:

Together we will:

- Talk about your API and business needs.
- Cover all your questions and ideas.
- Figure out if our API is the right solution for you and your team.
- Discover our pricing and get your access to the API.


We're ready when you are ⚡

a
button
Get a demo
If you are ready to go. Find everything about [Authentication](#authentication), [Error codes](#error-codes) and [Billing](#billing-for-failed-requests) below, [download our Postman collection](https://god.gw.postman.com/run-collection/23402327-46d03147-269c-4d6d-bd82-323c0997c43d?action=collection%2Ffork&source=rip_markdown&collection-url=entityId%3D23402327-46d03147-269c-4d6d-bd82-323c0997c43d%26entityType%3Dcollection%26workspaceId%3Db5052c8f-9070-4f6c-851a-cfbc2e33b9d4) and [explore all endpoints](#start-exploring-our-apis).

a
button
Run In Postman
## 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:


```js
{
	"error": true,
	"code": "…", // documented below
	"message": "…"
}
```

| Code | Message |
|  --- | --- |
| `api_token_invalid` | **A valid API token is needed.** Please visit the account [developer section](https://marketer.modash.io/developer). |
| `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 |
| `posts_not_found` | No collaboration posts found for the given filters |
| `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](mailto:hello@modash.io) 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](mailto:hello@modash.io) 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.

br
# Start exploring our APIs

br
Explore our Discovery API
Explore our RAW API