CSV Filling Guide (for Partners)

This page provides a comprehensive reference for all columns in the partner listing CSV format. Use this guide to understand the data types, validation rules, and examples for each field.

How CSV Import Works

The CSV import system allows you to manage all your PianoHub listings efficiently using spreadsheet files:

  • Export your current PianoHub listings as a CSV file to get the current data status.
  • Edit or supplement the CSV file with changes, updates, or new listings.
  • Important: All existing listings you want to keep must remain in the CSV. Missing listings will be marked for deletion by the import tool.
  • To add new listings (e.g., via AI conversion), merge your existing data with the new listings in a single CSV file before importing.

Quick Reference

Overview of all columns in the CSV format:

CSV column reference table with column names, types, and requirement status
Column NameTypeRequired
public_idauto-assigned (read-only)
No
summarytext
Yes
instrument_typepredefined values
Yes
brandtext
Yes
modeltext
No
acquisition_typepredefined values
Yes
currencypredefined values
No
price_on_requestboolean
No
pricenumber
No
price_typepredefined values
No
rent_pricenumber
No
colorpredefined values
Yes
year_builtnumber
No
production_countrytext
No
serial_numbertext
No
conditionpredefined values
Yes
descriptiontext
Yes
number_of_keysnumber
Yes
heightnumber
No
widthnumber
No
depthnumber
No
weightnumber
No
moderator_pedalboolean
No
sostenuto_pedalboolean
No
silent_systemboolean
No
player_systemboolean
No
humidity_controlboolean
No
provider_transportboolean
No
transport_price_includedboolean
No
emailemail address
Yes
image_urlstext
No
video_urlstext
No

Detailed Column Descriptions

public_id - ID

Required: No | Type: auto-assigned (read-only)

The listing ID. This field is automatically assigned when you create a listing and cannot be changed. Leave empty for new listings.

When updating existing listings, the CSV row must contain the public_id previously assigned by PianoHub. Listings are identified by this ID, not by the title or other fields.

Example: 12345

summary - Title

Required: Yes | Type: text

A short, descriptive title for the piano. This appears in search results and should be concise but informative.

Example: Yamaha U1 Upright Piano Black

Max length: 80 characters

instrument_type - Instrument Type

Required: Yes | Type: predefined values

The type of instrument. Must be one of the predefined values listed below.

Allowed values:

  • UPRIGHT_PIANO - Upright Piano
  • GRAND_PIANO - Grand Piano
  • DIGITAL_PIANO - Digital Piano
  • OTHER - Other

brand - Brand

Required: Yes | Type: text

Manufacturer or brand name.

Important: If you are listing a piano from one of the particularly popular brands listed below, use the spelling documented here. Deviating spellings (e.g., "C. Bechstein" instead of "Bechstein") will cause users not to find your listing when they filter by brand using the search function on PianoHub.

  • August Förster
  • Baldwin
  • Blüthner
  • Bösendorfer
  • Boston
  • C. Bechstein
  • Essex
  • Fazioli
  • Feurich
  • Grotrian-Steinweg
  • Haessler
  • Ibach
  • Irmler
  • Kawai
  • Mason & Hamlin
  • Petrof
  • Pfeiffer
  • Samick
  • Sauter
  • Schimmel
  • Seiler
  • Steingraeber & Söhne
  • Steinway & Sons
  • W. Hoffmann
  • Yamaha
  • Zimmermann

Example: Yamaha

Max length: 30 characters

model - Model

Required: No | Type: text

Model designation or name. Optional field.

Example: U1

Max length: 30 characters

acquisition_type - Acquisition Type

Required: Yes | Type: predefined values

Specifies how the instrument can be acquired. Use BUY for sale only, RENT for rental only, or BOTH if the instrument can be bought or rented.

Allowed values:

  • BUY
  • RENT
  • BOTH

currency - Currency

Required: No | Type: predefined values

Currency code. Must be one of the predefined values listed below. Required when acquisition_type is BUY or BOTH and price_on_request is false, or when acquisition_type is RENT or BOTH (for the rent price). Leave empty only if acquisition_type is BUY and price_on_request is true.

Allowed values:

  • CHF
  • EUR
  • GBP
  • USD

price_on_request - Price on Request

Required: No | Type: boolean

Indicates whether no buy price should be displayed. If true, the fields price and price_type are ignored and the listing is displayed with "Price on Request". Does not affect rent_price. Leave empty when acquisition_type is RENT (not applicable in that case).

Allowed values:

  • true
  • false

Important: Only the exact values "true" or "false" (without quotes in the CSV) are allowed.

price - Purchase Price

Required: No | Type: number

Buy price as a number without currency symbol. Required when acquisition_type is BUY or BOTH and price_on_request is false. Leave empty if price_on_request is true or acquisition_type is RENT.

Example: 3500

Min: 0 | Max: 9999999

price_type - Price Type

Required: No | Type: predefined values

Type of price. Required when acquisition_type is BUY or BOTH and price_on_request is false. Leave empty if price_on_request is true or acquisition_type is RENT.

Allowed values:

  • FIXED - Fixed
  • NEGOTIABLE - Negotiable

rent_price - Minimum Monthly Rent

Required: No | Type: number

Minimum monthly rent price as a number without currency symbol. Required when acquisition_type is RENT or BOTH. Leave empty if acquisition_type is BUY.

Example: 149

Min: 0 | Max: 9999999

color - Color

Required: Yes | Type: predefined values

Primary color of the instrument. Must be one of the predefined values listed below.

Allowed values:

  • BLACK - Black
  • WHITE - White
  • WOOD - Wood
  • OTHER - Other Color

year_built - Year Built

Required: No | Type: number

Year of manufacture. Optional field.

Example: 2005

Min: 1800 | Max: 2026

production_country - Production Country

Required: No | Type: text

Country where the instrument was manufactured. Optional field.

Example: Japan

Max length: 30 characters

serial_number - Serial Number

Required: No | Type: text

Manufacturer's serial number. Optional field.

Example: 5678901

Max length: 15 characters

condition - Condition

Required: Yes | Type: predefined values

Condition of the instrument. Must be one of the predefined values listed below.

Allowed values:

  • NEW - New Instrument
  • USED - Used Instrument

description - Description

Required: Yes | Type: text

Detailed description of the instrument. Include important details, condition notes, and any special features.

Example: Well-maintained Yamaha U1 in excellent condition. Regular maintenance, new strings installed 2020.

Max length: 4000 characters

number_of_keys - Number of Keys

Required: Yes | Type: number

Number of keys on the instrument. Required field.

Example: 88

Min: 1 | Max: 100

height - Height

Required: No | Type: number

Height of the instrument in centimeters. Optional field.

Example: 121

Min: 1 | Max: 999

width - Width

Required: No | Type: number

Width of the instrument in centimeters. Optional field.

Example: 153

Min: 1 | Max: 999

depth - Depth

Required: No | Type: number

Depth of the instrument in centimeters. Optional field.

Example: 65

Min: 1 | Max: 999

weight - Weight

Required: No | Type: number

Weight of the instrument in kilograms. Optional field.

Example: 230

Min: 1 | Max: 9999

moderator_pedal - Moderator Pedal

Required: No | Type: boolean

Indicates whether the instrument has a moderator pedal. Optional field.

Allowed values:

  • true
  • false

Important: Only the exact values "true" or "false" (without quotes in the CSV) are allowed.

sostenuto_pedal - Sostenuto Pedal

Required: No | Type: boolean

Indicates whether the instrument has a sostenuto pedal. Optional field.

Allowed values:

  • true
  • false

Important: Only the exact values "true" or "false" (without quotes in the CSV) are allowed.

silent_system - Silent System

Required: No | Type: boolean

Indicates whether the instrument has a silent system. Optional field.

Allowed values:

  • true
  • false

Important: Only the exact values "true" or "false" (without quotes in the CSV) are allowed.

player_system - Player System

Required: No | Type: boolean

Indicates whether the instrument has a player system (self-playing system). Optional field.

Allowed values:

  • true
  • false

Important: Only the exact values "true" or "false" (without quotes in the CSV) are allowed.

humidity_control - Humidity Control System

Required: No | Type: boolean

Indicates whether the instrument has a humidity control system. Optional field.

Allowed values:

  • true
  • false

Important: Only the exact values "true" or "false" (without quotes in the CSV) are allowed.

provider_transport - Delivery Possible (Ground Floor)

Required: No | Type: boolean

Indicates whether the seller offers a transport service for the instrument (ground floor). Optional field.

Allowed values:

  • true
  • false

Important: Only the exact values "true" or "false" (without quotes in the CSV) are allowed.

transport_price_included - Transport Included in the Price

Required: No | Type: boolean

Indicates whether the transport price is already included in the stated price. Optional field.

Allowed values:

  • true
  • false

Important: Only the exact values "true" or "false" (without quotes in the CSV) are allowed.

email - Email

Required: Yes | Type: email address

Contact email for inquiries about this listing. This can differ from your partner account email.

Example: partner@example.com

Max length: 255 characters

image_urls - Image URLs

Required: No | Type: text

URLs to images of the instrument. Separate multiple URLs with commas. All images must be publicly accessible. Optional field.

Reusing images from your own website:

If you already have listings on your own website and want to additionally list them on PianoHub, you can use the image URLs from your website directly. This way, you don't need to upload or store images twice.

Tip: Right-click on an image in your browser and select "Copy image address" to get the URL.

Example: https://example.com/img1.jpg,https://example.com/img2.jpg

video_urls - Video URLs

Required: No | Type: text

YouTube or Vimeo URLs for videos of the instrument. Separate multiple URLs with commas. Other video providers are not supported. Videos are embedded on the listing page with a privacy preview — the actual player only loads when the user clicks "Play". Optional field.

Example: https://www.youtube.com/watch?v=dQw4w9WgXcQ,https://vimeo.com/123456789