XML to CSV Conversion API

Stop hassling with XML hierarchies and allow us to simplify the structure

Remove the complexity from XML structures by converting quickly and easily to CSV or Excel format.

  • Intuitive design automatically repeating data or you choose
  • 30+ Custom Built in parameters to make conversions easy
  • Easily change and structure the design of the output file
  • API Design allows you to pass a local file, simple XML string, or Web URL
  • Extendable to external APIs by passing credentials or OATH
  • Full Documentation and example usage

You must have an API token to call our APIs. You are automatically assigned one upon registering and confirming your email. See our tutorial: Two Methods of API Authentication and Example Use below that demonstrate passing your token to our server. You must substitute your token found in the Account page in place of [YOUR TOKEN]. Also, use your data file name instead of [YOUR FILE], i.e. invoices.csv. All conversion APIs require the infile parameter since it is the data you are converting.
Note that to read from an S3 bucket that requires authorization, you must pass both username and password parameters, and the URL must start with s3://.
There is a 80MB limit on input. You may however zip your input file and use it for infile.

Try it Now

Resulting curl command:

Parameter Value Type Description Example Use
infile


string This is the input file: raw data, or URL. Choose one of the options of "Local File", "URL", or "Data" curl -X POST "https://www.convertcsv.io/api/v1/csv2json/" -F "infile=@[YOUR FILE]" -H "Authorization: Token [YOUR TOKEN]"
string File encoding - if not passed, the converter will attempt to determine the encoding by looking at the first few thousand bytes of the file. Typical values are: utf-8, utf-16. You can see a list of all supported types here: https://docs.python.org/3/library/codecs.html curl -X POST "https://www.convertcsv.io/api/v1/xml2csv?encoding=ascii" -F "infile=@[YOUR FILE]" -H "Authorization: Token [YOUR TOKEN]"
boolean Create fixed width output curl -X POST "https://www.convertcsv.io/api/v1/xml2csv?fixed=1" -F "infile=@[YOUR FILE]" -H "Authorization: Token [YOUR TOKEN]"
boolean Keep namespace prefixes in keys or columns for XML files. curl -X POST "https://www.convertcsv.io/api/v1/xml2csv?keeppre=1" -F "infile=@[YOUR FILE]" -H "Authorization: Token [YOUR TOKEN]"
string Key value of target array in input data. By default the first repeating group is used (JSON array or XML repeating tag). See the "uselargest" option. If your JSON is not an array and you want to use the whole structure, then pass a dash - curl -X POST "https://www.convertcsv.io/api/v1/xml2csv?key=id" -F "infile=@[YOUR FILE]" -H "Authorization: Token [YOUR TOKEN]"
boolean Do not output CSV headers. curl -X POST "https://www.convertcsv.io/api/v1/xml2csv?noheading=1" -F "infile=@[YOUR FILE]" -H "Authorization: Token [YOUR TOKEN]"
string Output file delimiter, i.e. : See also: outtab, outpipe, outsemi Depending on our operating system and delimiter, you may have to quote the delimiter in the OS shell, or URL encode the delimiter if used in a query string. curl -X POST "https://www.convertcsv.io/api/v1/xml2csv" -F "infile=@[YOUR FILE]" -F outdelimiter=":" -H "Authorization: Token [YOUR TOKEN]"
boolean Output delimiter is |. This is a convenience method sense | has special meaning in some command line shells. In the API query string, it is easier to use than encoding the query string. See also: outdelimiter, outtab, outsemi curl -X POST "https://www.convertcsv.io/api/v1/xml2csv?outpipe=1" -F "infile=@[YOUR FILE]" -H "Authorization: Token [YOUR TOKEN]"
boolean Output delimiter is semi-colon. This is a convenience method sense semi-colon has special meaning in some command line shells. In the API query string, it is easier to use than encoding the query string. See also: outdelimiter, outtab, outpipe curl -X POST "https://www.convertcsv.io/api/v1/xml2csv?outsemi=1" -F "infile=@[YOUR FILE]" -H "Authorization: Token [YOUR TOKEN]"
boolean Output delimiter is Tab. This is a convenience method sense Tab is difficult to specify. See also: outdelimiter, outsemi, outpipe curl -X POST "https://www.convertcsv.io/api/v1/xml2csv?outtab=1" -F "infile=@[YOUR FILE]" -H "Authorization: Token [YOUR TOKEN]"
string Padding character for fixed width fields, default is space curl -X POST "https://www.convertcsv.io/api/v1/xml2csv?padchar=%2A" -F "infile=@[YOUR FILE]" -H "Authorization: Token [YOUR TOKEN]"
string Password for URL data source curl -X POST "https://www.convertcsv.io/api/v1/xml2csv?password=bob&username=bee" -F "infile=@[YOUR FILE]" -H "Authorization: Token [YOUR TOKEN]"
string Output quoting in CSV output, N=None, M=Minimal, A=ALL. A will wrap all fields in double quotes. M will only wrap if necessary. N will not wrap with double quotes but will backslash special characters. curl -X POST "https://www.convertcsv.io/api/v1/xml2csv?quotingstyle=A" -F "infile=@[YOUR FILE]" -H "Authorization: Token [YOUR TOKEN]"
boolean Remove HTML tags from output curl -X POST "https://www.convertcsv.io/api/v1/xml2csv?removetags=1" -F "infile=@[YOUR FILE]" -H "Authorization: Token [YOUR TOKEN]"
boolean Create a ruler at the top when outputting Fixed Width. This is very useful to see column positions. curl -X POST "https://www.convertcsv.io/api/v1/xml2csv?ruler=1" -F "infile=@[YOUR FILE]" -H "Authorization: Token [YOUR TOKEN]"
string Output separator between fields for fixed width. For instance, you may want to see a vertical bar separating fields. curl -X POST "https://www.convertcsv.io/api/v1/xml2csv" -F "infile=@[YOUR FILE]" -F separator="|" -H "Authorization: Token [YOUR TOKEN]"
string Name of worksheet if outputting XLSX, default Sheet1 curl -X POST "https://www.convertcsv.io/api/v1/xml2csv?sheetname=Data" -F "infile=@[YOUR FILE]" -H "Authorization: Token [YOUR TOKEN]"
boolean Supress line break in data curl -X POST "https://www.convertcsv.io/api/v1/xml2csv?suppress=1" -F "infile=@[YOUR FILE]" -H "Authorization: Token [YOUR TOKEN]"
boolean Generate ASCII table curl -X POST "https://www.convertcsv.io/api/v1/xml2csv?table=1" -F "infile=@[YOUR FILE]" -H "Authorization: Token [YOUR TOKEN]"
boolean Choose largest array to convert. You typically will want to use "key" instead. curl -X POST "https://www.convertcsv.io/api/v1/xml2csv?uselargest=1" -F "infile=@[YOUR FILE]" -H "Authorization: Token [YOUR TOKEN]"
string Username for URL data source. This is only used when URLs are the data source. See password also. curl -X POST "https://www.convertcsv.io/api/v1/xml2csv?username=johnny&password=xyz" -F "infile=https://www.xyz.com/myinputfile.csv" -H "Authorization: Token [YOUR TOKEN]"
string If using -F, Field widths corresponding to output columns, ex. 5,20,10 curl -X POST "https://www.convertcsv.io/api/v1/xml2csv?width=5,20,10" -F "infile=@[YOUR FILE]" -H "Authorization: Token [YOUR TOKEN]"
boolean Generate Excel curl -X POST "https://www.convertcsv.io/api/v1/xml2csv?xlsx=1" -F "infile=@[YOUR FILE]" -H "Authorization: Token [YOUR TOKEN]"
<

Pricing

Our Pricing

Free Test Drive

  • Try now and Buy Later - Product plans start at $39/month
  • Test drive ALL our API with no hassle(s)
  • Credit Card is not Required
  • Limited # of Total API calls
Custom

Unique

  • Need something more custom?
  • We can put together custom packages
  • Don't hesitate to contact us
  • We are ready to help!