Everything you need to know to integrate with Wicked Reports using our APIs.
Introduction to Wicked Reports APIs
For developers who want to jump right into the technical documentation, then you can do so by visiting this URL -> https://docs.wickedreports.com/
Inbound API
The purpose of this section is to provide you with the high-level process to integrating with Wicked reports via API.
- Generate your unique API Key in the Wicked Reports API widget on the
Authorizations Tab by clicking "Enable". Note: Use your unique API Key as a value of the apikey header. - Select the appropriate Inbound API Endpoint
- Build your API and format your Body to match the required Key-Value pairs:
-
- Review the Inbound API Verification Steps prior to getting started for tips & tricks on how to build your API. Every API Endpoint has required and optional keys. Bare minimum, you need the required keys for data to be inserted successfully. Please ensure accurate formatting.
-
Send unique data to Wicked on an immediate or daily basis. Sending duplicate data and/or delayed data is likely to cause performance issues (i.e. delayed processing)
- Consider using the Wicked Inbound API SDK. It'll help speed up the Inbound API setup process and it'll be easier for us to support you. Our SDK includes a readme with instructions on how to install it into your project, how to authenticate, and how to perform API calls. It also includes API call examples, unit tests, and tips on how to easily convert time zones when doing API calls.
-
- Test your API
- Verify your API Data
- Go Live!
- Clicks API Endpoint
This API Endpoint allows you to import any clicks, that you have manually tracked, directly into Wicked Reports. These are clicks that may help further define the customer's journey. You should only use this if you have additional clicks that Wicked isn't already tracking. - Contacts API Endpoint
This API Endpoint allows you to import your contact data directly into Wicked Reports. This contact data may be currently stored in your CRM (contact management system), ESP (email service provider), or elsewhere. - Orders API Endpoint
This API Endpoint allows you to import orders, order items, and product data directly into Wicked Reports. This data may be stored in your CRM, shopping cart, or stored by your payment gateway. - Marketing API Endpoint
This API Endpoint allows you to import the marketing details of your ads, such as costs, clicks, and UTMs, directly into Wicked Reports. This marketing data may currently be stored in your Ad Platform.
Inbound API Testing:
If you want to run test calls that will not affect your reporting, then include the test header in each of your test API requests.
All of the inbound API endpoints accept a special header test which accepts only 2 values:
- 0 or 1
Order Data
If you're sending order data, then use the Order Validation Checklist as a helpful list for validating the accuracy of your data.
Contact Data
If you're sending contact data, then use the Contact Validation Checklist as a helpful list for validating the accuracy of your data.
Inbound API Go Live!
After testing and verifying your Inbound API data, and all tests pass, then you are ready to go live - Remove the test header to start sending real data into Wicked Reports!
Outbound API
Wicked Reports has a wonderful data CSV export feature that allows you to pull channel data directly from your ROI & Funnel Vision Reports. However, there are still some use cases where you may want to extract your data via API. That's where the Outbound API comes into play.
The Outbound API allows you to pull your data directly out of Wicked Reports and use it however you see fit. It can be used in Looker Studio, BigQuery, or any other platforms that can consume JSON files.
The Outbound API is used to retrieve Wicked Reports clicks, leads, and order data. However, it's most often used to retrieve the performance data, down to the ad level, of specific channels.
Outbound API Endpoints:
- Clicks API Endpoint
This API Endpoint allows you to retrieve all clicks, associated with a contact, within a certain timeframe. - Contacts API Endpoint
This API Endpoint allows you to retrieve all contacts from your account.
Note: To receive data, you should always provide a time period. - Orders API Endpoint
This API Endpoint allows you to retrieve all the orders available within a certain time frame. - Channel API Endpoint
This API Endpoint allows you to retrieve a list of all channels and their performance for a provided date range.
Outbound API Setup Steps:
The purpose of this section is to provide you with the high-level process to extracting your data from Wicked reports via API.
- Generate your unique API Key in the Wicked Reports API connection box on the
Authorizations Tab by clicking Enable.
Note: Use your unique API Key as a value of the apikey header. - Select the appropriate Outbound API Endpoint to retrieve data from.
- Create your API to match the required Key-Value pair.
Note: For every API Endpoint, you will see the required and optional keys. At a minimum, you'll need to include the required keys for data to be extracted successfully. - If all the data passes through successfully, you're good to go!
Note: If the data does not pass through correctly, then please reach out to us at support@wickedreports.com and we can assist you.
Outbound API using SyncWith:
If you are not a technical person, yet you still want to retrieve your data via the API, then you can use an initially free, no-code tool called SyncWith. If you need more than 35 refreshes of data per month, then you will be prompted to create a paid account.
Watch this video and learn to pull Wicked Reports data into Google Sheets using SyncWith.
Note: To retrieve your data, via the SyncWith Tool, you should use our new Asynchronous Channel API Endpoint -> https://api.wickedreports.com/async/channels
API FAQs

Q: Are there any restrictions on the size of a request body on endpoints?
A: There is a 10MB limit for a request body on all endpoints
Q: Why are there two sets of Outbound API endpoints?
A: The original set of Outbound API endpoints was using synchronous APIs, whereas the new set of Outbound APIs uses asynchronous APIs. Asynchronous APIs allow you to stream data, send multiple requests at the same time, and manage communication intelligently between services, while the synchronous APIs required you to make a new request every time you needed data.