Building connectors for APIs returning CSV instead of JSON


Inquiring about the possibility of using a Low-code builder to create connectors for APIs that return CSV instead of JSON


Is it possible to build connectors using Low-code builder for APIs that returns a CSV instead of json?

This topic has been created from a Slack thread to give it more visibility.
It will be on Read-Only mode here. Click here if you want to access the original thread.

Join the conversation on Slack

["build-connectors", "low-code-builder", "api", "csv", "json"]

Yes, it is possible to build connectors for APIs that return a CSV response using Airbyte’s low-code framework. However, this will require writing a custom component to override the extractor. By default, Airbyte’s low-code framework is designed to handle JSON responses from REST APIs. If the API response is a CSV file, you can handle it by replacing the DpathExtractor, which is designed to extract JSON records, with your custom CSV extractor in the YAML configuration for your custom connector. Here’s an example of what that might look like: yaml record_selector: type: RecordSelector extractor: type: YourCustomCSVExtractor field_path: [] Your custom CSV extractor should convert the CSV into a list of records (dictionaries in Python). You can refer to the DpathExtractor’s implementation for an idea of how to structure your custom extractor. For more information on writing custom components and how to use them, refer to the Airbyte documentation. Please note that this approach requires some coding and is not entirely low-code. If you need a completely no-code solution, you might need to use a different tool or service that can convert the CSV response to JSON before it’s processed by Airbyte. Source