SSIS REST API Connector

REST API Connector can be used to extract and output JSON/XML/CSV/String data coming from REST API web service calls (Web URL).
You can use this connector to integrate REST API data inside SSIS and SQL Server. Let's take a look at the steps below to see how exactly to accomplish that.

Download  Help File  Buy 

Video Tutorial - Integrate REST API data in SSIS

This video covers following and more so watch carefully. After watching this video follow the steps described in this article.

  • How to download / install required driver for REST API integration in SSIS
  • How to configure connection for REST API
  • Features about API Source (Authentication / Query Language / Examples / Driver UI)
  • Using REST API Connection in SSIS

Prerequisites

Before we perform steps listed in this article, you will need to make sure following prerequisites are met:
  1. SSIS designer installed. Sometimes it is referred as BIDS or SSDT (download it from Microsoft site).
  2. Basic knowledge of SSIS package development using Microsoft SQL Server Integration Services.
  3. Make sure ZappySys SSIS PowerPack is downloaded and installed (download it). Check Getting started section for more information.
  4. Optional (If you want to Deploy and Schedule ) - Deploy and Schedule SSIS Packages

If your API is JSON Type and responding the json string response, in that case using ZappySys JSON Source we can make the JSON API call and parse the json string. Let's configure the API call in the SSIS JSON Source.

How to read data from REST API in SSIS using JSON Source (Export data)

In this section we will learn how to configure and use REST API Connector in the API Source to extract data from the REST API using JSON Source.

  1. Begin with opening Visual Studio and Create a New Project.

  2. Select Integration Service Project and in new project window set the appropriate name and location for project. And click OK.

  3. In the the new SSIS project screen you will find the following:

    1. SSIS ToolBox on left side bar
    2. Solution Explorer and Property Window on right bar
    3. Control flow, data flow, event Handlers, Package Explorer in tab windows
    4. Connection Manager Window in the bottom
    SSIS Project Screen
    Note: If you don't see ZappySys SSIS PowerPack Task or Components in SSIS Toolbox, please refer to this help link.

  4. Now, Drag and Drop SSIS Data Flow Task from SSIS Toolbox. Double click on the Data Flow Task to see Data Flow designer.
    SSIS Data Flow Task - Drag and Drop

  5. From the SSIS toolbox drag and drop JSON Source on the dataflow designer surface
    SSIS JSON Source - Drag and Drop

  6. Double click on JSON Source component to configure it.

  7. From the Access Mode dropdown select [File path or web Url] and paste the following Url for this example.

    NOTE: Here for demo, We are using odata API, but you need to refer your own API documentation and based on that you need to use your own API URL and need to configure connection based on API Authentication type.

  8. Now enter JSONPath expression in JSONPath textbox to extract only specific part of JSON string as below ($.value[*] will get content of value attribute from JSON document. Value attribute is array of JSON documents so we have to use [*] to indicate we want all records of that array)

    NOTE: Here, We are using our desired filter, but you need to select your desired filter based on your requirement.

    Click on Preview button to view the parsed JSON string response data and click OK.

    $.value[*]
    Read REST API data from Web Url Example in SSIS
  9. That's it; we are done. In a few clicks we configured the call to REST API using ZappySys REST API Connector

In upper section we check how to make the JSON API call using JSON Source and parse the json string response. Same way if your API is XML/SOAP Type and responding the xml string response, in that case using ZappySys XML Source we can make the XML/SOAP API call and parse the xml string. Let's configure the API call in the SSIS XML Source.

How to read data from REST API in SSIS using XML Source (Export data)

In this section we will learn how to configure and use REST API Connector in the API Source to extract data from the REST API using XML Source.

  1. Begin with opening Visual Studio and Create a New Project.

  2. Select Integration Service Project and in new project window set the appropriate name and location for project. And click OK.

  3. In the the new SSIS project screen you will find the following:

    1. SSIS ToolBox on left side bar
    2. Solution Explorer and Property Window on right bar
    3. Control flow, data flow, event Handlers, Package Explorer in tab windows
    4. Connection Manager Window in the bottom
    SSIS Project Screen
    Note: If you don't see ZappySys SSIS PowerPack Task or Components in SSIS Toolbox, please refer to this help link.

  4. Now, Drag and Drop SSIS Data Flow Task from SSIS Toolbox. Double click on the Data Flow Task to see Data Flow designer.
    SSIS Data Flow Task - Drag and Drop

  5. From the SSIS toolbox drag and drop XML Source on the dataflow designer surface
    SSIS XML Source - Drag and Drop

  6. Double click on XML Source component to configure it.

  7. From the Access Mode dropdown select [File path or web Url] and paste the following Url for this example.

    NOTE: Here for demo, We are using odata API, but you need to refer your own API documentation and based on that you need to use your own API URL and need to configure connection based on API Authentication type.

    https://www.w3schools.com/xml/plant_catalog.xml
  8. Now enter Path expression in Path textbox to extract only specific part of XML string as below ($.CATALOG.PLANT[*] will get content of plant attribute from XML document. Plant attribute is array of XML documents so we have to use [*] to indicate we want all records of that array)

    NOTE: Here, We are using our desired filter, but you need to select your desired filter based on your requirement.

    Click on Preview button to view the parsed XML string response data and click OK.

    $.CATALOG.PLANT[*]
    Read REST API data from Web Url Example in SSIS
  9. That's it; we are done. In a few clicks we configured the call to REST API using ZappySys REST API Connector

In upper section we check how to make the XML/Soap API call using XML Source and parse the xml string response. Same way if your API is csv Type or want to parse the CSV file data, in that case using ZappySys CSV Source we can make the API call or read the CSV file data.

How to read data from REST API in SSIS using CSV Source (Export data)

In this section we will learn how to configure and use REST API Connector in the API Source to extract data from the REST API using CSV Source.

  1. Begin with opening Visual Studio and Create a New Project.

  2. Select Integration Service Project and in new project window set the appropriate name and location for project. And click OK.

  3. In the the new SSIS project screen you will find the following:

    1. SSIS ToolBox on left side bar
    2. Solution Explorer and Property Window on right bar
    3. Control flow, data flow, event Handlers, Package Explorer in tab windows
    4. Connection Manager Window in the bottom
    SSIS Project Screen
    Note: If you don't see ZappySys SSIS PowerPack Task or Components in SSIS Toolbox, please refer to this help link.

  4. Now, Drag and Drop SSIS Data Flow Task from SSIS Toolbox. Double click on the Data Flow Task to see Data Flow designer.
    SSIS Data Flow Task - Drag and Drop

  5. From the SSIS toolbox drag and drop CSV Source on the dataflow designer surface
    SSIS CSV Source - Drag and Drop

  6. Double click on CSV Source component to configure it.

  7. From the Access Mode dropdown select [File path or web Url] and paste the following Url for this example.

    Example: Here is Example of Local or Server Path.
    
    c:\data\cust-1.csv (Local file Path)
    http://www.zappysys.com/downloads/files/test/cust-1.csv (Server file Path)
    
    Note: If you want to operation with multiple files then use wild card pattern as below (when you use wild card pattern in source path then system will treat target path as folder regardless you end with slash).
    
    c:\data\cust-1*.csv (all files starting with file name)
    c:\data\subfolder\*.csv (all files with .csv Extension and located under folder subfolder)
    
    You can also create Variable for file name and use it in CSV source
    SSIS CSV Source (Web API or File) - Variable
    
    SSIS CSV Source (Web API or File) - Configure

  8. If you see in upper screen we have some blank rows and comments, if you want to ignore it from the output, We have Advanced Tab setting for it. SSIS CSV Source (Web API or File) - Configure

  9. Click OK to save ZS CSV Source (Web API or File) UI settings.

  10. That's it; we are done. In a few clicks we configured the call to REST API using ZappySys REST API Connector

Load REST API data in SQL Server using Upsert Destination (Insert or Update)

Once you read data from the desired source, now let's see how to Load REST API data in SQL Server using Upsert Destination. Upsert Destination can Merge/Synchronize data from source to target for Microsoft SQL Server, PostgreSql and Redshift. It supports very fast Bulk Upsert (Update or Insert) operation along and Bulk delete.

  1. From the SSIS toolbox drag and drop Upsert Destination on the dataflow designer surface

  2. Connect our Source component to Upsert Destination

  3. Double click on Upsert Destination component to configure it.

  4. Select the desired Microsoft SQL Server/PostgreSql/Redshift Target Connection or click NEW to create new connection. Select Target Table or click NEW to create new table based on source columns.
    Configure SSIS Upsert Destination Connection - Loading data (REST / SOAP / JSON / XML /CSV) into SQL Server or other target using SSIS
    Configure SSIS Upsert Destination Connection - Loading data (REST / SOAP / JSON / XML /CSV) into SQL Server or other target using SSIS

  5. Set Action to Upsert => (insert if not matching in target else update). Select Target Connection and Target Table. Check on Insert and Update. Click on Map All to Mappings all columns and check on Only Primary Key columns.
    SSIS SQL Upsert option

  6. Click on OK to save Upsert Destination settings UI.

  7. That's it; we are done. Run the SSIS Package and it will read the data from the REST API and load the the data in the SQL Server/PostgreSql/Redshift.

In upper section we have seen how to read the local file or web url csv file and load the data in the database using Upsert Destination, same way we can read the Zip Formated csv file(s) also. Let's see how to read zip formated csv file(s) using CSV Source.

How to read data from CSV file URL with zip format

  1. Double click on CSV Source (Web API or File) to configure it.

  2. Set AccessMode to File path or web URL. Enter following URl.

    https://zappysys.com/downloads/files/test/invoices.csv.zip
    https://zappysys.com/downloads/files/test/invoices.csv.gz
    
    In the settings tab set HTTP Request Method to GET. Check on First row has column name.
    SSIS CSV Source (Web API or File) - Configure

  3. Now, in the compression tab, set file compression format to Zip(for only .zip file) or GZip(for only .gz file).
    SSIS CSV Source (Web API or File) - Compressed Tab

  4. Click on Preview button to see Data Preview.

  5. Click on OK button to save CSV Source configure setting UI.

  6. Now, Just Drag and Drop Our Free ZS Trash Destination from SSIS Toolbox.
    SSIS Trash Destination - Drag and Drop

  7. And than connect ZS CSV Source (Web API or File) to Trash Destination.

  8. Lets Double click on ZS Trash Destination to Configure it.
    SSIS Trash Destination - Drag and Drop

  9. Thats all, Just Execute or run your Package.
    SSIS CSV Source (Web API or File) - Execute Task

Configuring pagination in the REST API Source

ZappySys REST API Source equips users with powerful tools for seamless data extraction and management from REST APIs, leveraging advanced pagination methods for enhanced efficiency. These options are designed to handle various types of pagination structures commonly used in APIs. Below are the detailed descriptions of these options:

  1. Page-based Pagination: This method works by retrieving data in fixed-size pages from the Rest API. It allows you to specify the page size and navigate through the results by requesting different page numbers, ensuring that you can access all the data in a structured manner.

  2. Offset-based Pagination: With this approach, you can extract data by specifying the starting point or offset from which to begin retrieving data. It allows you to define the number of records to skip and fetch subsequent data accordingly, providing precise control over the data extraction process.

  3. Cursor-based Pagination: This technique involves using a cursor or a marker that points to a specific position in the dataset. It enables you to retrieve data starting from the position indicated by the cursor and proceed to subsequent segments, ensuring that you capture all the relevant information without missing any records.

  4. Token-based Pagination: In this method, a token serves as a unique identifier for a specific data segment. It allows you to access the next set of data by using the token provided in the response from the previous request. This ensures that you can systematically retrieve all the data segments without duplication or omission.

Utilizing these comprehensive pagination features in the ZappySys REST API Source facilitates efficient data management and extraction from REST APIs, optimizing the integration and analysis of extensive datasets.

For more detailed steps, please refer to this link: How to do REST API Pagination in SSIS / ODBC Drivers

ZappySys Authentication

ZappySys offers various authentication methods to securely access data from various sources. These authentication methods include OAuth, Basic Authentication, Token-based Authentication, and more, allowing users to connect to a wide range of data sources securely.

ZappySys Authentication is a robust system that facilitates secure access to data from a diverse range of sources. It includes a variety of authentication methods tailored to meet the specific requirements of different data platforms and services. These authentication methods may involve:

  1. OAuth: ZappySys supports OAuth for authentication, which allows users to grant limited access to their data without revealing their credentials. It's commonly used for applications that require access to user account information.

  2. Basic Authentication: This method involves sending a username and password with every request. ZappySys allows users to securely access data using this traditional authentication approach.

  3. Token-based Authentication: ZappySys enables users to utilize tokens for authentication. This method involves exchanging a unique token with each request to authenticate the user's identity without revealing sensitive information.

By implementing these authentication methods, ZappySys ensures the secure and reliable retrieval of data from various sources, providing users with the necessary tools to access and integrate data securely and efficiently. For more comprehensive details on the authentication process, please refer to the official ZappySys documentation or reach out to their support team for further assistance.

For more details, please refer to this link: ZappySys Connections

Read large XML/JSON string in SSIS (3 Million Rows in 3 Mins)

Using ZappySys SSIS JSON Source or ZappySys SSIS XML Source you can read large XML or JSON String/File data (Process 3 Million rows in 3 minutes – 1.2 GB file). Using --FAST Expression and other options.

If you use default settings to read data then it may result into OutOfMemory Exception so we will outline few techniques which will enable high performance Streaming Mode rather than In-memory load of entire data.

Please refer to this article for the same: How to read large XML / JSON file in SSIS

Load REST API data in SQL Server using Upsert Destination (Insert or Update)

Once you read data from the desired source, now let's see how to Load REST API data in SQL Server using Upsert Destination. Upsert Destination can Merge/Synchronize data from source to target for Microsoft SQL Server, PostgreSql and Redshift. It supports very fast Bulk Upsert (Update or Insert) operation along and Bulk delete.

  1. From the SSIS toolbox drag and drop Upsert Destination on the dataflow designer surface

  2. Connect our Source component to Upsert Destination

  3. Double click on Upsert Destination component to configure it.

  4. Select the desired Microsoft SQL Server/PostgreSql/Redshift Target Connection or click NEW to create new connection. Select Target Table or click NEW to create new table based on source columns.
    Configure SSIS Upsert Destination Connection - Loading data (REST / SOAP / JSON / XML /CSV) into SQL Server or other target using SSIS
    Configure SSIS Upsert Destination Connection - Loading data (REST / SOAP / JSON / XML /CSV) into SQL Server or other target using SSIS

  5. Set Action to Upsert => (insert if not matching in target else update). Select Target Connection and Target Table. Check on Insert and Update. Click on Map All to Mappings all columns and check on Only Primary Key columns.
    SSIS SQL Upsert option

  6. Click on OK to save Upsert Destination settings UI.

  7. That's it; we are done. Run the SSIS Package and it will read the data from the REST API and load the the data in the SQL Server/PostgreSql/Redshift.

Conclusion

In this article we discussed how to connect to REST API in SSIS and integrate data without any coding. Click here to Download REST API Connector for SSIS and try yourself see how easy it is. If you still have any question(s) then ask here or simply click on live chat icon below and ask our expert (see bottom-right corner of this page).

Download REST API Connector for SSIS Documentation 


Other App Integration scenarios for REST API

Other Connectors for SSIS


Download REST API Connector for SSIS Documentation 

  • How to connect REST API in SSIS?

  • How to get REST API data in SSIS?

  • How to read REST API data in SSIS?

  • How to load REST API data in SSIS?

  • How to import REST API data in SSIS?

  • How to pull REST API data in SSIS?

  • How to push data to REST API in SSIS?

  • How to write data to REST API in SSIS?

  • How to POST data to REST API in SSIS?

  • Call REST API API in SSIS

  • Consume REST API API in SSIS

  • REST API SSIS Automate

  • REST API SSIS Integration

  • Integration REST API in SSIS

  • Consume real-time REST API data in SSIS

  • Consume realtime REST API API data in SSIS

  • REST API ODBC Driver | ODBC Driver for REST API | ODBC REST API Driver | SSIS REST API Source | SSIS REST API Destination

  • Connect REST API in SSIS

  • Load REST API in SSIS

  • Load REST API data in SSIS

  • Read REST API data in SSIS

  • REST API API Call in SSIS