Automate ZenRows Integration Tasks from PowerShell

Jerod Johnson
Jerod Johnson
Director, Technology Evangelism
Are you in search of a quick and easy way to access ZenRows data from PowerShell? This article demonstrates how to utilize the ZenRows Cmdlets for tasks like connecting to ZenRows data, automating operations, downloading data, and more.

The CData API Driver for ADO.NET is a standard ADO.NET Provider that make it easy to accomplish data cleansing, normalization, backup, and other integration tasks by enabling real-time access to ZenRows.

ADO.NET Provider

The ADO.NET Provider provides a SQL interface for ZenRows; this tutorial shows how to use the Provider to retrieve ZenRows data.

Once you have acquired the necessary connection properties, accessing ZenRows data in PowerShell can be enabled in three steps.

Start by setting the Profile connection property to the location of the ZenRows Profile on disk (e.g. C:\profiles\ZenRows.apip). Next, set the ProfileSettings connection property to the connection string for ZenRows (see below).

ZenRows API Profile Settings

To use the ZenRows API, you need to obtain an API key from your ZenRows account. Navigate to the ZenRows dashboard at app.zenrows.com and copy your API key from the account settings.

After setting the following connection properties, you are ready to connect:

  • AuthScheme: Set this to APIKey.
  • APIKey: Set this to your ZenRows API key.
  1. Load the provider's assembly:

    
    [Reflection.Assembly]::LoadFile("C:\Program Files\CData\CData API Driver for ADO.NET\lib\System.Data.CData.API.dll")
        
  2. Connect to ZenRows:

     
    $conn= New-Object System.Data.CData.API.APIConnection("Profile=C:\profiles\ZenRows.apip;AuthScheme=APIKey;ProfileSettings='APIKey=your_api_key';")
    $conn.Open()
    
  3. Instantiate the APIDataAdapter, execute an SQL query, and output the results:

    
    $sql="SELECT ProductId, ProductName from AmazonDiscovery"
    
    $da= New-Object System.Data.CData.API.APIDataAdapter($sql, $conn)
    $dt= New-Object System.Data.DataTable
    $da.Fill($dt)
    
    $dt.Rows | foreach {
    	Write-Host $_.productid $_.productname
    }
      

Ready to get started?

Connect to live data from ZenRows with the API Driver

Connect to ZenRows