Skip to main content

File Exchange

If you need to exchange files with Figure, whether that is one-way or bi-directional, we have a few options on how this can be done.

Partner-Hosted Storage Solution Required

Private Label Data Export files can only be delivered to a storage solution hosted by the partner. Figure does not host the storage solution for you. All reports are also available for download from Lead Portal.

Data Export files must use PGP encryption. See PGP keys for encryption.

Use this order for new integrations:

  1. Partner-hosted Google Cloud Storage (recommended)
  2. Partner-hosted AWS S3
  3. SFTP only if object storage is not an option

SFTP is not recommended. Google Cloud Storage and AWS S3 offer improved reliability and simpler lifecycle management.

For dataset sharing, keyless S3 access patterns, or other models still being expanded, see Other sharing options and contact us.

Go directly to the setup you need:

Google Cloud Storage​

Partner-hosted GCS bucket​

View setup requirements

You provide a Google Cloud Storage bucket. Figure writes to it using a GCP service account.

Grant Figure access on the bucket (or a prefix). Use roles/storage.objectAdmin, or a tighter custom role that can create, list, and delete objects on that prefix. Figure will provide the service account email during onboarding.

The bucket must not be public.

What Figure needs from you​

  • Bucket name
  • Optional prefix / directory
  • Confirmation that the Figure service account is granted on the bucket (or prefix)

Figure-hosted GCS bucket​

View setup requirements

Figure provides a bucket. You access it with a GCP service account your organization provides.

For more information about how to upload and download with Google Cloud Storage buckets, please visit the linked Google documentation.

What Figure needs from you​

  • The email address of your GCP service account

What you will need from Figure​

  • The name of the GCS bucket

AWS S3​

Partner-hosted S3 bucket​

View setup requirements

You provide an S3 bucket. Figure writes to it using AWS credentials coordinated during onboarding.

What Figure needs from you​

  • Bucket name
  • Optional prefix / directory
  • AWS access credentials for that bucket (or a scoped IAM user / role that can write to it), exchanged through a secure channel — not email or tickets

Least-privilege on the bucket or prefix is preferred (s3:PutObject, s3:GetObject, s3:ListBucket, and s3:DeleteObject as needed).

Prefer GCS when you can

If your organization can host a GCS bucket, that path uses IAM grants instead of exchanging AWS access keys. See Partner-hosted GCS bucket.

If you need cross-account AssumeRole with an ExternalId, a bucket policy that grants a Figure principal without exchanging keys, or another keyless pattern, that is not the default self-serve path yet. See Other sharing options and contact us to discuss early adoption.

Figure-hosted S3 bucket​

View setup requirements

Figure provides an S3 bucket. You access it with an IAM role or credentials that you provide.

For more information about how to upload and download with S3 buckets, please visit the linked AWS documentation.

What Figure needs from you​

  • The full ARN of your AWS role, or the credentials you will use to access the bucket

What you will need from Figure​

  • The name of the S3 bucket

SFTP​

SFTP requires SSH-key authentication. Password authentication is not supported.

Partner-hosted SFTP​

View setup requirements

You provide the SFTP server. Figure provides you with its public SSH key. Add that key to the SFTP user's authorized keys on your server. When Figure connects, it uses the matching private key to authenticate; no password is used.

What Figure needs from you​

  • Server hostname (e.g., sftp.partner.com or 172.168.10.1)
  • Username
  • Destination directory (if desired)
  • Confirmation that the file-exchange IP addresses are allowlisted

Figure-hosted SFTP​

View setup requirements

Figure provides an SFTP server. You provide your public SSH key for Figure to authorize, then connect with the matching private key.

Figure's SFTP server is for delivering files to Figure only. Read access is not supported.

What Figure needs from you​

  • Your public SSH key
  • The IP address or range from which you will be accessing Figure's SFTP server

What you will need from Figure​

  • The SFTP server address, which is sftp.figure.com
  • The username assigned to your organization

Direction of transfer​

Figure delivers files to you (for example Data Export): you host the destination. See Partner-hosted GCS, S3, or SFTP above.

You deliver files to Figure: we can host the destination (Figure-hosted GCS, S3, or SFTP), or you can grant us access to storage you host.

File-exchange IP addresses​

Use these addresses when you allow Figure to connect to storage you host, including SFTP. They are separate from the API egress ranges on Domains and IP addresses.

Test

34.74.146.222
35.243.240.143

Production

104.196.137.78
34.23.229.110

Other sharing options​

The methods above are the standard path. The options below are on our roadmap or available by arrangement. Contact us if you want to be an early adopter:

  • Cross-account IAM role assumption with an ExternalId (your role trusts a Figure principal; short-lived credentials)
  • Granting a Figure AWS principal on your S3 bucket policy without exchanging long-lived access keys
  • Google Analytics Hub (BigQuery dataset sharing)
  • AWS Data Exchange

These are not self-serve on this page. Until arranged, use the standard GCS, S3, or SFTP setup above.

Environments and testing​

Figure has separate test and production file-exchange destinations. Do not mix test and production credentials, buckets, or allowlists.

For Data Export:

To validate an integration before go-live, use the test environment. If you need a sample file that matches the production schema with dummy data, ask your Figure contact or email partner-help@figure.com.

FAQ​

Does Figure need our AWS access keys?​

For the standard partner-hosted S3 path, yes — we coordinate AWS credentials during onboarding over a secure channel. Prefer partner-hosted GCS when you can avoid exchanging AWS keys. Keyless or AssumeRole-with-ExternalId patterns: contact us (early adopter).

Does Figure's uploader run in AWS? Does it use an execution role in our account?​

Figure's platform runs on Google Cloud. We do not run in your AWS account and do not use an execution role inside your account for the standard path.

Can Figure assume a role in our account using an ExternalId?​

Not as the default self-serve path today. If your security team requires AssumeRole with an ExternalId, contact us — we are expanding support and can discuss early adoption.

Do you currently support cross-account IAM role access instead of long-lived access keys?​

It is not the default documented path yet. Some partners have used role-based access by arrangement. If that is a requirement, contact us to be an early adopter. GCS remains the keyless-friendly recommended option.

What egress IP ranges does file delivery use?​

See File-exchange IP addresses. API traffic uses a different list: Domains and IP addresses.

Is there a non-production environment? Can you provide sample or dummy data?​

Yes. Test and production are separate. Data Export test files use a test_ prefix. For a schema-matched sample with dummy data, contact your Figure representative or partner-help@figure.com.

What is the expected file delivery cadence? Full snapshot or delta?​

For Data Export, Figure delivers full snapshots on a configurable schedule (default tables are on Data Export). Cadence for other file exchanges is agreed during onboarding.

Unsupported methods​

Figure does not currently support file transfers to Azure or via FTP(S).