Install
openclaw skills install api-ingestion-connectorsConnect to external APIs and ingest data into graph-ready structures for ETL pipelines and knowledge graph construction.
openclaw skills install api-ingestion-connectorsIngest data from external APIs into graph-ready formats for knowledge graph construction.
This skill retrieves data from diverse API sources and prepares it for transformation into graph-ready structures such as nodes, relationships, and triples.
Input API Configuration:
Endpoint: https://api.example.com/users
Method: GET
Auth: Bearer Token
Pagination: page-based, 30 items per page
Generated Output:
{
"nodes": [
{"id": "user_1", "type": "Person", "name": "Alice", "email": "alice@example.com"},
{"id": "org_1", "type": "Organization", "name": "Acme Corp"}
],
"edges": [
{"source": "user_1", "target": "org_1", "relation": "WORKS_AT"}
]
}
Connect to standard HTTP REST endpoints with flexible authentication and pagination
type: rest
endpoint: https://api.example.com/resource
method: GET|POST|PUT|DELETE
response_format: json|xml|csv
Query GraphQL endpoints with structured query definitions
query {
users {
id
name
email
organization {
name
}
}
}
Authenticate using OAuth 2.0 flows (authorization code, client credentials)
auth_type: oauth2
client_id: ${CLIENT_ID}
client_secret: ${CLIENT_SECRET}
token_endpoint: https://api.example.com/oauth/token
Simple API key-based authentication
auth_type: api_key
key_param: X-API-Key
key_value: ${API_KEY}
OAuth 2.0 bearer token authentication
auth_type: bearer
token: ${ACCESS_TOKEN}
type: offset
param_offset: offset
param_limit: limit
start_at: 0
page_size: 20
type: page
param_page: page
page_size: 30
start_at: 1
type: cursor
cursor_param: after
next_cursor_field: pageInfo.endCursor
has_next_field: pageInfo.hasNextPage
{
"nodes": [{"id": "...", "type": "...", "properties": {...}}],
"edges": [{"source": "...", "target": "...", "type": "...", "properties": {...}}]
}
:entity1 :relationType :entity2 .
:entity1 :property "value" .
node_id,node_type,node_name,property1,property2
The connector should handle:
Example retry strategy:
retry:
max_attempts: 3
backoff_factor: 2
initial_delay: 1s
max_delay: 60s
retryable_status_codes: [429, 500, 502, 503, 504]
✓ Respect API rate limits and terms of service
✓ Implement exponential backoff for retries
✓ Validate response schemas before processing
✓ Handle and log errors appropriately
✓ Cache results when possible
✓ Normalize and deduplicate entities
✓ Secure credentials (use environment variables)
✓ Monitor API changes and versioning
✓ Implement request timeout handling
✓ Document API assumptions and requirements
The ingested data feeds into:
See connector-patterns.md for detailed API connector patterns and example-connectors.md for complete connector examples.
Version: 1.0.0