Ready to get started?

Connect to live data from Harvest with the API Driver

Connect to Harvest

How to connect to Harvest Data with Squirrel SQL client



Connect to Harvest data and execute queries in the Squirrel SQL Client.

The CData JDBC Driver for Harvest enables you to execute queries to Harvest data in tools like Squirrel SQL Client. In this article, you will create a JDBC data source for Harvest data and execute queries.

Add the JDBC Driver for Harvest

Follow the steps below to add the driver JAR.

  1. In Squirrel SQL, click Windows -> View Drivers.
  2. Click the plus icon to open the Add Driver wizard.
  3. In the Name box, enter a user-friendly name for the driver; for example, CData JDBC Driver for Harvest.
  4. In the Example URL box, enter jdbc:api:
  5. In the Extra Class Path tab, click Add.
  6. In the file explorer dialog that opens, select the JAR file for the driver, located in the lib subfolder of the installation directory.
  7. Click List Drivers to populate the Class Name menu with the class name for the driver, cdata.jdbc.api.APIDriver.

Define Connection Properties

Follow the steps below to save connection properties in the driver alias.

  1. Click Windows -> View Aliases.
  2. In the pane that lists the aliases, click the plus icon.
  3. In the Add Alias wizard that opens, the following fields are required for the JDBC driver:

    • Name: Enter a name for the alias; for example, CData Harvest Source.
    • Driver: Select the CData JDBC Driver for Harvest.
    • URL: Enter jdbc:api:
  4. If you want to define any additional properties, click Properties.
  5. In the Driver properties tab of the dialog that appears, select the Use driver properties checkbox.
  6. In the Specify column, select the checkboxes for the required connection properties.

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

    Harvest API Profile Settings

    To authenticate to Harvest, you can use either Token authentication or the OAuth standard. Use Basic authentication to connect to your own data. Use OAuth to allow other users to connect to their data.

    Using Token Authentication

    To use Token Authentication, set the APIKey to your Harvest Personal Access Token in the ProfileSettings connection property. In addition to APIKey, set your AccountId in ProfileSettings to connect.

    Using OAuth Authentication

    First, register an OAuth2 application with Harvest. The application can be created from the "Developers" section of Harvest ID.

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

    • ProfileSettings: Set your AccountId in ProfileSettings.
    • AuthScheme: Set this to OAuth.
    • OAuthClientId: Set this to the client ID that you specified in your app settings.
    • OAuthClientSecret: Set this to the client secret that you specified in your app settings.
    • CallbackURL: Set this to the Redirect URI that you specified in your app settings.
    • InitiateOAuth: Set this to GETANDREFRESH. You can use InitiateOAuth to manage how the driver obtains and refreshes the OAuthAccessToken.

    Below is a typical connection string:

    jdbc:api:Profile=C:\profiles\Harvest.apip;ProfileSettings='APIKey=my_personal_key;AccountId=_your_account_id';
  7. In the dialog that appears after you click OK, click connect to test the connection.

Discover Schemas and Query Harvest Data

After the metadata has loaded, a new tab for the Harvest data source is displayed. On the Objects subtab, you can discover schema information, such as the available tables and views.

To view table data, select the table on the Objects tab. The table data is then loaded in a grid on the Content tab.

To execute an SQL query, enter the query on the SQL tab and then click Run SQL (the runner icon). For example:

SELECT Id, ClientName FROM Invoices WHERE State = 'open'