Table of Contents
Docs / Import & Export

Import & Export

RestForge supports importing collections from 10+ API testing tools and exporting requests as executable code in 5 languages. Migrate your existing workflows or share requests with your team in their preferred language.

Import Overview

Import collections from any major API client without losing request configurations, authentication settings, or test scripts. RestForge automatically converts external formats to its internal structure while preserving all essential data.

Format File Type Support Level Use Case
Postman JSON .json Full Manual export from Postman desktop/web
Postman API Cloud API Full Direct sync from Postman account
Apidog .json Full Export as Postman format
OpenAPI / Swagger .json, .yaml Full API specifications (v2.0, v3.0)
Insomnia .json, .yaml Full Workspace exports
Bruno .bru Core Git-based collections
Hoppscotch .json Core Open-source API platform
ThunderClient .json Core VS Code extension exports
HTTPie .json Core Terminal client sessions
HAR .har Basic Browser DevTools captures

General Import Flow

1

Export from Source Tool

Locate the export function in your current API client. Most tools place this in Collection menu, Settings, or File menu. Choose the correct format (usually JSON or YAML).

2

Open Import in RestForge

Launch RestForge on your iPhone or iPad. Navigate to Collections tab and tap the + button in the top-right corner. Select Import from the menu.

3

Select Format

Choose the import format that matches your exported file. RestForge auto-detects format in some cases, but manual selection ensures accuracy.

4

Pick File

Browse your device storage, iCloud Drive, or other cloud providers. Select the exported file. RestForge validates the file structure before proceeding.

5

Review & Import

Preview collection name, number of requests, and folder structure. Verify everything looks correct, then tap Import to complete the migration. Your collection appears in the Collections list immediately.

Tip Import multiple collections at once by selecting multiple files in the file picker. RestForge processes them sequentially and shows progress for each.

Postman (JSON)

Postman JSON exports provide the most comprehensive migration path. All request configurations, authentication methods, pre-request scripts, test scripts, and collection variables are preserved during import.

How to Export from Postman

  1. Open Postman desktop app or web version
  2. Right-click the collection you want to export
  3. Select Export
  4. Choose Collection v2.1 format (recommended)
  5. Save the JSON file to your preferred location

How to Import in RestForge

  1. Open RestForge and go to Collections tab
  2. Tap + button, select Import
  3. Choose Postman JSON format
  4. Browse and select your exported JSON file
  5. Review collection structure and tap Import

What's Supported

RestForge imports all Postman Collection v2.1 features including nested folders, request headers, query parameters, body types (raw, form-data, x-www-form-urlencoded, binary), authentication (Bearer, Basic, API Key, OAuth 2.0), pre-request scripts, test scripts, and collection/folder/request level variables.

Limitations

Postman-specific features like monitors, mock servers, and API documentation are not imported. These are cloud-based services outside the collection format. Custom authentication helpers and Postman SDK extensions may require manual reconfiguration.

Postman (API)

Import collections directly from your Postman account using the Postman API. This method requires a Postman API key but eliminates the need to manually export files. Collections sync in real-time from Postman's cloud.

How to Get Postman API Key

  1. Log in to Postman web at postman.com
  2. Go to Account Settings (click your avatar, select Settings)
  3. Navigate to API Keys section
  4. Click Generate API Key
  5. Name your key (e.g., "RestForge Import") and copy it
  6. API keys start with PMAK- prefix

How to Import via API

  1. Open RestForge, go to Collections tab
  2. Tap + button, select Import from Postman API
  3. Paste your API key in the input field
  4. Tap Fetch Collections to load your workspaces
  5. Select workspace, then select specific collections to import
  6. Tap Import Selected

What's Supported

All features from Postman JSON import are supported. Additionally, API import provides access to all your workspaces, team collections, and shared collections without manual exports.

Limitations

Requires active internet connection. API key must have read access to collections. Personal workspaces only accessible with personal API keys. Team collections require appropriate workspace permissions.

Security Note RestForge never stores your Postman API key. The key is used once during import, then discarded. For ongoing sync, use RestForge's own cloud sync feature with Postman integration.

Apidog

Apidog is an API development platform popular in Asian markets. It uses a format compatible with Postman exports, making migration straightforward.

How to Export from Apidog

  1. Open Apidog application
  2. Select the collection or project to export
  3. Click Export in the collection menu
  4. Choose Postman Collection format
  5. Save JSON file

How to Import in RestForge

  1. Open RestForge Collections tab
  2. Tap + then Import
  3. Select Apidog / Postman JSON
  4. Choose your exported file
  5. Review and import

What's Supported

All standard HTTP request types, headers, authentication, body formats, and basic scripting. Apidog's custom annotations and UI-specific metadata are ignored but don't affect request functionality.

Limitations

Apidog's API documentation features, mock servers, and test automation workflows are not imported. These are platform-specific services. Focus on migrating functional request collections.

OpenAPI / Swagger

OpenAPI (formerly Swagger) specifications describe REST APIs in a standardized format. RestForge generates executable requests from API endpoint definitions, making it easy to test documented APIs immediately.

How to Export OpenAPI Spec

  1. If using SwaggerHub, Stoplight, or similar: export as OpenAPI 3.0 JSON or YAML
  2. If using Swagger Editor: File > Download > JSON or YAML
  3. If spec is public: copy the URL or download the file directly
  4. Both OpenAPI 3.0 and Swagger 2.0 are supported

How to Import in RestForge

  1. Go to Collections tab in RestForge
  2. Tap + then Import
  3. Select OpenAPI / Swagger
  4. Choose JSON or YAML file, or paste spec URL
  5. RestForge generates requests from all paths/operations
  6. Review generated collection and import

What's Supported

All HTTP methods (GET, POST, PUT, PATCH, DELETE), path parameters, query parameters, request headers, request body schemas (converts to raw JSON examples), authentication schemes (bearer, basic, apiKey), and operation metadata (summary, description, tags become folder organization).

Limitations

OpenAPI specs don't contain actual test data or saved responses. RestForge generates example requests based on schemas, but you'll need to customize values. Complex authentication flows (OAuth redirects) require manual configuration in RestForge.

Pro Tip Use OpenAPI import to quickly scaffold requests for a new API, then save customized requests to your collection. Example values from schemas provide a great starting point.

Insomnia

Insomnia is a popular open-source API client. Its workspace export format contains all requests, environments, and configurations needed for migration.

How to Export from Insomnia

  1. Open Insomnia application
  2. Click Application menu (top-left)
  3. Select Preferences > Data
  4. Click Export Data
  5. Choose workspace to export, select JSON or YAML format
  6. Save file

How to Import in RestForge

  1. Open RestForge Collections tab
  2. Tap + then Import
  3. Select Insomnia
  4. Choose exported JSON or YAML file
  5. RestForge converts workspace to collection format
  6. Review and import

What's Supported

All request types, headers, body formats, authentication methods, environment variables, and folder organization. Insomnia's template tags (variables) convert to RestForge environment variables automatically.

Limitations

Insomnia plugins and custom template functions may not have RestForge equivalents. GraphQL introspection and schema features are limited compared to Insomnia's native support. Review complex requests after import.

Bruno

Bruno is a Git-friendly API client that stores collections as plain text files. Its format emphasizes version control and collaboration through standard development workflows.

How to Export from Bruno

  1. Open Bruno application
  2. Right-click collection in sidebar
  3. Select Export
  4. Choose export location and save .bru collection file

How to Import in RestForge

  1. Go to Collections tab in RestForge
  2. Tap + then Import
  3. Select Bruno
  4. Choose .bru file or folder containing Bruno collection
  5. RestForge parses text format to requests
  6. Review and import

What's Supported

HTTP methods, URLs, headers, query parameters, body content, and environment variables. Bruno's minimalist format translates cleanly to RestForge's structure.

Limitations

Bruno's Git workflow features (version history, branching) are not preserved during import. RestForge imports the current state of the collection only. Scripts and advanced features may require adjustment.

Hoppscotch

Hoppscotch (formerly Postwoman) is an open-source API development ecosystem. Its browser-based and self-hosted versions export collections in JSON format compatible with RestForge.

How to Export from Hoppscotch

  1. Open Hoppscotch web app or desktop app
  2. Go to Collections panel
  3. Click collection menu (three dots)
  4. Select Export
  5. Save JSON file

How to Import in RestForge

  1. Open RestForge Collections tab
  2. Tap + then Import
  3. Select Hoppscotch
  4. Choose exported JSON file
  5. Import completes automatically

What's Supported

All HTTP request methods, headers, parameters, body types, and authentication. Hoppscotch's clean JSON structure maps directly to RestForge collections.

Limitations

Hoppscotch-specific features like real-time collaboration and WebSocket connections have limited support. GraphQL and WebSocket requests convert to standard HTTP requests where possible.

ThunderClient

ThunderClient is a lightweight API client built as a Visual Studio Code extension. It stores collections in JSON format that can be exported and imported into RestForge.

How to Export from ThunderClient

  1. Open VS Code with ThunderClient extension
  2. Go to ThunderClient sidebar
  3. Right-click collection to export
  4. Select Export
  5. Save JSON file to disk

How to Import in RestForge

  1. Open RestForge Collections tab
  2. Tap + then Import
  3. Select ThunderClient
  4. Choose exported JSON file
  5. Review collection structure and import

What's Supported

Standard HTTP requests, headers, query parameters, body types, and environments. ThunderClient's straightforward format ensures high compatibility.

Limitations

ThunderClient's VS Code integration features (workspace settings, keybindings) are not applicable to RestForge. Tests and scripts may need syntax adjustments.

HTTPie

HTTPie is a command-line HTTP client with a desktop app version. Sessions can be exported and imported into RestForge for GUI-based testing and iteration.

How to Export from HTTPie

  1. In HTTPie desktop app, open session to export
  2. Click Session menu
  3. Select Export
  4. Save JSON file

How to Import in RestForge

  1. Go to RestForge Collections tab
  2. Tap + then Import
  3. Select HTTPie
  4. Choose session JSON file
  5. RestForge converts session to requests
  6. Import collection

What's Supported

HTTP methods, URLs, headers, authentication (basic, bearer), query parameters, and request bodies. HTTPie's session data maps to RestForge request format cleanly.

Limitations

HTTPie CLI-specific features (syntax highlighting, streaming) are not relevant in GUI context. Terminal-based workflows don't translate directly to mobile UI patterns.

HAR (HTTP Archive)

HAR files capture HTTP traffic from browser DevTools or proxies. Import HAR files to RestForge to recreate requests from browser sessions, debug issues, or test APIs discovered during web app usage.

How to Export HAR from Browser

  1. Open Chrome, Safari, or Firefox DevTools (F12 or Cmd+Option+I)
  2. Go to Network tab
  3. Perform actions in browser to capture traffic
  4. Right-click in Network panel, select Save all as HAR
  5. Save .har file

How to Import in RestForge

  1. Open RestForge Collections tab
  2. Tap + then Import
  3. Select HAR File
  4. Choose .har file from DevTools export
  5. RestForge extracts HTTP requests from captured traffic
  6. Review requests, filter out irrelevant ones (assets, etc.)
  7. Import selected requests as collection

What's Supported

All HTTP requests in HAR file including methods, URLs, headers, query parameters, cookies, and request/response bodies. Timing data is preserved for reference.

Limitations

HAR files contain actual traffic, not idealized requests. You may need to clean up headers (remove browser-specific headers), replace dynamic values with variables, and filter out asset requests (images, CSS, JS). HAR import is best for one-time captures, not ongoing workflow.

Privacy Warning HAR files may contain sensitive data like authentication tokens, cookies, and personal information. Review HAR contents before sharing. RestForge does not automatically redact sensitive data during import.

Export Overview

Export any request from RestForge as executable code in 5 popular programming languages. Generated code includes all request configurations, headers, authentication, and body data ready to run in your development environment.

Exporting creates standalone code snippets that replicate the exact behavior of your RestForge request. Use exports to share requests with developers, integrate API calls into applications, document API usage, or transition from manual testing to automated testing.

How to Export Requests

1

Select Request

Open the request you want to export in RestForge. Ensure all parameters, headers, and authentication are configured correctly.

2

Open Code Generator

Tap the Code icon (typically </> symbol) in the request toolbar. The code generation panel appears.

3

Choose Language

Select your target language from the dropdown: cURL, Python, JavaScript, Go, or Dart. The code updates instantly to show the request in that language.

4

Copy Code

Tap the Copy button to copy generated code to clipboard. Paste into your project, terminal, or documentation as needed.

Language Use Case Library/Tool Best For
cURL Command-line testing, CI/CD, quick debugging cURL (built-in) DevOps, shell scripts
Python Automation, data science, backend integration requests Scripting, analysis
JavaScript Frontend, Node.js apps, web automation fetch API Web development
Go Backend services, microservices, CLIs net/http Performance-critical apps
Dart Flutter apps, mobile development http package Cross-platform mobile
Environment Variables When exporting requests that use environment variables, RestForge substitutes current environment values into the generated code. If you want to preserve variables as placeholders, switch to "No Environment" before exporting.

cURL

cURL is the universal command-line tool for HTTP requests. Export to cURL for quick terminal execution, CI/CD pipelines, or sharing requests with team members who prefer command-line workflows.

Example cURL Export

cURL curl -X POST "https://api.example.com/users" \ -H "Authorization: Bearer token123" \ -H "Content-Type: application/json" \ -d '{ "name": "John Doe", "email": "john@example.com" }'

How to Use

  1. Copy the generated cURL command from RestForge
  2. Open Terminal or Command Prompt
  3. Paste and run the command
  4. Response appears in terminal output

cURL exports include all request components: method (-X flag), URL with query parameters, headers (-H flags), request body (-d flag), and authentication. The format is compatible with all cURL versions and works on macOS, Linux, Windows, and CI/CD environments like GitHub Actions, GitLab CI, and Jenkins.

Windows Users If using Command Prompt instead of PowerShell, replace single quotes with double quotes and escape internal double quotes with backslash.

Python

Python's requests library is the standard for HTTP operations in Python scripts. Export to Python for automation, data processing, testing frameworks, or integrating API calls into Python applications.

Example Python Export

Python import requests url = "https://api.example.com/users" headers = { "Authorization": "Bearer token123", "Content-Type": "application/json" } data = { "name": "John Doe", "email": "john@example.com" } response = requests.post(url, headers=headers, json=data) print(response.status_code) print(response.json())

How to Use

  1. Install requests library: pip install requests
  2. Copy generated code from RestForge
  3. Save to .py file or paste into Python script
  4. Run: python script.py

Python exports use the requests library's clean syntax. All headers, authentication, and body data are structured as Python dictionaries. The response object provides access to status code, headers, JSON parsing, and raw content. Ideal for pytest test suites, data pipelines, and backend integrations.

JavaScript

JavaScript exports use the modern fetch API, compatible with browsers and Node.js. Use these exports for frontend applications, React/Vue/Angular components, Node.js backends, or web automation scripts.

Example JavaScript Export

JavaScript const url = "https://api.example.com/users"; const headers = { "Authorization": "Bearer token123", "Content-Type": "application/json" }; const body = JSON.stringify({ name: "John Doe", email: "john@example.com" }); fetch(url, { method: "POST", headers: headers, body: body }) .then(response => response.json()) .then(data => console.log(data)) .catch(error => console.error("Error:", error));

How to Use

  1. Copy generated JavaScript code
  2. For browsers: paste into console or <script> tag
  3. For Node.js: ensure Node 18+ or use node-fetch polyfill
  4. Modify promise handling as needed (.then or async/await)

Fetch API is built into all modern browsers and recent Node.js versions. Exports include promise-based error handling and JSON parsing. Easily convert to async/await syntax if preferred. Works with React, Vue, Angular, and vanilla JavaScript projects.

Go

Go's net/http package provides powerful HTTP client capabilities. Export to Go for microservices, backend APIs, CLI tools, or any Go application requiring HTTP communication.

Example Go Export

Go package main import ( "bytes" "encoding/json" "fmt" "io/ioutil" "net/http" ) func main() { url := "https://api.example.com/users" payload := map[string]string{ "name": "John Doe", "email": "john@example.com", } jsonData, _ := json.Marshal(payload) req, _ := http.NewRequest("POST", url, bytes.NewBuffer(jsonData)) req.Header.Set("Authorization", "Bearer token123") req.Header.Set("Content-Type", "application/json") client := &http.Client{} resp, err := client.Do(req) if err != nil { panic(err) } defer resp.Body.Close() body, _ := ioutil.ReadAll(resp.Body) fmt.Println(string(body)) }

How to Use

  1. Copy generated Go code
  2. Create or open .go file in your Go project
  3. Paste code into appropriate function or main()
  4. Add error handling and response processing as needed
  5. Run: go run main.go

Go exports use standard library only (no external dependencies). Code includes proper request construction, header setting, error handling structure, and response reading. Integrate into existing Go projects seamlessly. Ideal for high-performance services and concurrent request scenarios.

Dart

Dart's http package is the standard for HTTP requests in Flutter and Dart applications. Export to Dart for Flutter mobile apps, Dart backend services, or any Dart project requiring API integration.

Example Dart Export

Dart import 'dart:convert'; import 'package:http/http.dart' as http; Future<void> makeRequest() async { final url = Uri.parse('https://api.example.com/users'); final headers = { 'Authorization': 'Bearer token123', 'Content-Type': 'application/json', }; final body = jsonEncode({ 'name': 'John Doe', 'email': 'john@example.com', }); final response = await http.post(url, headers: headers, body: body); if (response.statusCode == 200) { final data = jsonDecode(response.body); print(data); } else { print('Request failed: ${response.statusCode}'); } }

How to Use

  1. Add http package to pubspec.yaml: http: ^1.1.0
  2. Run flutter pub get or dart pub get
  3. Copy generated Dart code from RestForge
  4. Paste into your Dart/Flutter file
  5. Call function from widget or service

Dart exports use async/await syntax consistent with Flutter best practices. Code includes proper URI parsing, JSON encoding/decoding, and status code checking. Integrate directly into Flutter widgets, state management (Provider, Bloc, Riverpod), or Dart backend services. Perfect for mobile app development workflows.