Files
langflow/docs/docs/API-Reference/api-reference-api-examples.md
April I. Murphy 27f5416ec0 docs: Repurpose Concepts section to focus on the visual editor and flows (#8845)
* initial alignment with 1.5 pr

* finish 1st rewrite of visual editor overview page

* working on flows and welcome

* more visual editor work

* about langflow

* next steps

* lfoss-1395 more focus on agents mcp

* align with PRs

* working on publish flows page

* finish embedded chat section

* finish publish page

* peer review pt 1

* coderabbit nitpicks

* coderabbit nitpicks pt 2

* some updates

* almost done

* move all upgrade stuff to release notes page.

* fix link

* fix anchors

* fix details

* uncomment

* add import

* hide again
2025-07-11 01:15:42 +00:00

6.3 KiB

title, slug
title slug
Get started with the Langflow API /api-reference-api-examples

import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem';

You can use the Langflow API for programmatic interactions with Langflow, such as the following:

  • Create and edit flows, including file management for flows.
  • Develop applications that use your flows.
  • Develop custom components.
  • Build Langflow as a dependency of a larger project.
  • Contribute to the overall Langflow project.

To view and test all available endpoints, you can access the Langflow API's OpenAPI specification at your Langflow deployment's /docs endpoint, such as http://localhost:7860/docs.

:::tip Try it For an example of the Langflow API in a script, see the Langflow quickstart.

The quickstart demonstrates how to get automatically generated code snippets for your flows, use a script to run a flow, and extract data from the Langfow API response. :::

Form Langflow API requests

While individual options vary by endpoint, all Langflow API requests share some commonalities, like a URL, method, parameters, and authentication.

As an example of a Langflow API request, the following curl command calls the /v1/run endpoint, and it passes a runtime override (tweaks) to the flow's Chat Output component:

curl --request POST \
  --url "$LANGFLOW_SERVER_URL/api/v1/run/$FLOW_ID?stream=false" \
  --header "Content-Type: application/json" \
  --header "x-api-key: $LANGFLOW_API_KEY" \
  --data '{
  "input_value": "hello world!",
  "output_type": "chat",
  "input_type": "chat",
  "tweaks": {
    "ChatOutput-6zcZt": {
      "should_store_message": true
    }
  }
}'

Base URL

By default, local deployments serve the Langflow API at http://localhost:7860/api.

Remotely hosted Langflow deployments are available at the domain set by the hosting service, such as http://IP_OR_DNS/api or http://IP_OR_DNS:LANGFLOW_PORT/api.

You can configure the Langflow port number in the LANGFLOW_PORT environment variable.

  • https://UUID.ngrok.app/api
  • http://IP_OR_DNS/api
  • http://IP_OR_DNS:LANGFLOW_PORT/api

Authentication

In Langflow versions 1.5 and later, most API endpoints require a Langflow API key, even when AUTO_LOGIN is set to True. The only exceptions are the MCP endpoints /v1/mcp, /v1/mcp-projects, and /v2/mcp, which never require authentication.

To authenticate a Langflow API request, provide a Langflow API key in either an x-api-key header or query parameter. For more information, see API keys.

As with any API, follow industry best practices for storing and referencing sensitive credentials. For example, you can set environment variables for your API keys, and then reference those environment variables in your API requests.

Methods, paths, and parameters

Langflow API requests use various methods, paths, path parameters, query parameters, and body parameters. The specific requirements and options depend on the endpoint that you want to call.

For example, to create a flow, you pass a JSON-formatted flow definition to POST /v1/flows. Then, to run your flow, you call POST /v1/run/$FLOW_ID with optional run parameters in the request body.

API versions

The Langflow API serves /v1 and /v2 endpoints.

Some endpoints only exist under a single version and some exist under both the /v1 and /v2 versions.

If a request fails or has an unexpected result, make sure your endpoint path has the correct version.

Set environment variables

You can store commonly used values in environment variables to facilitate reuse, simplify token rotation, and securely reference sensitive values.

You can use any method you prefer to set environment variables, such as export, .env, zshrc, or .curlrc. Then, reference those environment variables in your API requests. For example:

# Set environment variables
export LANGFLOW_API_KEY="sk..."
export LANGFLOW_SERVER_URL="https://localhost:7860"
export FLOW_ID="359cd752-07ea-46f2-9d3b-a4407ef618da"
export PROJECT_ID="1415de42-8f01-4f36-bf34-539f23e47466"
export LANGFLOW_API_KEY="sk-..."

# Use environment variables in API requests
curl --request POST \
  --url "$LANGFLOW_SERVER_URL/api/v1/run/$FLOW_ID$?stream=false" \
  --header "Content-Type: application/json" \
  --header "x-api-key: $LANGFLOW_API_KEY" \
  --data '{
  "input_value": "hello world!",
  "output_type": "chat",
  "input_type": "chat",
  "tweaks": {
    "ChatOutput-6zcZt": {
      "should_store_message": true
    }
  }
}'

Commonly used values in Langflow API requests include your Langflow server URL, Langflow API keys, flow IDs, and project IDs.

You can retrieve flow IDs from the API access pane, in a flow's URL, and with GET /flows.

Try some Langflow API requests

Once you have your Langflow server URL, try calling these endpoints that return Langflow metadata.

Get version

Returns the current Langflow API version:

curl -X GET \
  "$LANGFLOW_SERVER_URL/api/v1/version" \
  -H "accept: application/json"
  -H "x-api-key: $LANGFLOW_API_KEY"
Result ```text { "version": "1.1.1", "main_version": "1.1.1", "package": "Langflow" } ```

Get configuration

Returns configuration details for your Langflow deployment:

curl -X GET \
  "$LANGFLOW_SERVER_URL/api/v1/config" \
  -H "accept: application/json"
  -H "x-api-key: $LANGFLOW_API_KEY"
Result ```json { "feature_flags": { "mvp_components": false }, "frontend_timeout": 0, "auto_saving": true, "auto_saving_interval": 1000, "health_check_max_retries": 5, "max_file_size_upload": 100 } ```

Get all components

Returns a dictionary of all Langflow components:

curl -X GET \
  "$LANGFLOW_SERVER_URL/api/v1/all" \
  -H "accept: application/json" \
  -H "x-api-key: $LANGFLOW_API_KEY"

Next steps