Skip to main content

Paypal Transaction

This page contains the setup guide and reference information for the Paypal Transaction source connector.


The Paypal Transaction API is used to get the history of transactions for a PayPal account.

Setup guide

Step 1: Set up Paypal Transaction

In order to get an Client ID and Secret please go to this page and follow the instructions. After registration you may find your Client ID and Secret here.


Our Paypal Transactions Source Connector does not support OAuth at this time due to limitations outside of our control. If OAuth for Paypal Transactions is critical to your business, please reach out to us to discuss how we may be able to partner on this effort.

Step 2: Set up the Paypal Transaction connector in Airbyte

For Airbyte Cloud:

  1. Log into your Airbyte Cloud account.
  2. In the left navigation bar, click Sources. In the top-right corner, click +new source.
  3. On the Set up the source page, enter the name for the Paypal Transaction connector and select Paypal Transaction from the Source type dropdown.
  4. Enter your client id
  5. Enter your secret
  6. Choose if your account is sandbox
  7. Enter the date you want your sync to start from
  8. Click Set up source.

For Airbyte Open Source:

  1. Navigate to the Airbyte Open Source dashboard
  2. Set the name for your source
  3. Enter your client id
  4. Enter your secret
  5. Choose if your account is sandbox
  6. Enter the date you want your sync to start from
  7. Click Set up source

Supported sync modes

The PayPal Transaction source connector supports the following sync modes:

Full Refresh SyncYes
Incremental - Append SyncYes

Supported Streams

This Source is capable of syncing the following core Streams:

Performance considerations

Paypal transaction API has some limits

  • start_date_min = 3 years, API call lists transaction for the previous three years.
  • start_date_max = 1.5 days, it takes a maximum of three hours for executed transactions to appear in the list transactions call. It is set to 1.5 days by default based on experience, otherwise API throw an error.
  • stream_slice_period = 1 day, the maximum supported date range is 31 days.
  • records_per_request = 10000, the maximum number of records in a single request.
  • page_size = 500, the maximum page size is 500.
  • requests_per_minute = 30, maximum limit is 50 requests per minute from IP address to all endpoint

Transactions sync is performed with default stream_slice_period = 1 day, it means that there will be 1 request for each day between start_date and now or end_date. if start_date is greater then start_date_max. Balances sync is similarly performed with default stream_slice_period = 1 day, but it will do additional request for the end_date of the sync now.

Data type map

Integration TypeAirbyte Type


VersionDatePull RequestSubject
0.1.122023-02-1823211Fix error handler
0.1.112023-01-2722019Set AvailabilityStrategy for streams explicitly to None
0.1.102022-09-0417554Made the spec and source config to be consistent
0.1.92022-08-1815741Removed OAuth2.0 option
0.1.82022-07-2515000Added support of OAuth2.0 authentication, fixed bug when normalization couldn't handle nested cursor field and primary key
0.1.72022-07-1814804Added RESULTSET_TOO_LARGE error validation
0.1.62022-06-1013682Updated paypal transaction schema
0.1.52022-04-2712335Added fixtures to mock time.sleep for connectors that explicitly sleep
0.1.42021-12-229034Updated connector fields title/description
0.1.32021-12-168580Added more logs during check connection stage
0.1.22021-11-087499Removed base-python dependencies
0.1.12021-08-035155Fixed start_date_min limit
0.1.02021-06-104240PayPal Transaction Search API