Authentication
All provider endpoints use HTTP Basic Auth. Pass your Alphacast API key as the username with an empty password.Most listing and browse endpoints work without authentication, but authenticated requests are required to manage provider API keys via
/user-keys.Endpoints
GET /providers
Returns the full catalog of available data providers. Use this to discover slugs, understand each provider’s capabilities, and check licensing terms before fetching data.Unique identifier for the provider. Use this as the
{slug} path parameter in all other provider endpoints. Examples: fred, bls, worldbank, bcra.Human-readable name of the data collection. Examples:
FRED Economic Data, BLS Public Data.Name of the organization that publishes the data. Examples:
Federal Reserve Bank of St. Louis, U.S. Bureau of Labor Statistics.List of supported operations for this provider. Possible values:
"hierarchical"— supports category browsing viaGET /providers/{slug}/browse"search"— supports free-text series search viaGET /providers/{slug}/search"direct"— supports fetching a series directly by ID
Data license or usage terms. Examples:
Public Domain, Creative Commons Attribution 4.0 (CC-BY 4.0).GET /providers/match
Performs a keyword search across all providers and returns the top 5 matches with full detail. This endpoint is designed for programmatic discovery — for example, when you want to find which provider carries a certain type of data without knowing its slug in advance. Query parametersFree-text search query. Matched against each provider’s slug, name, organization name, and description. Multiple words are scored independently — a provider matching more terms ranks higher.
/providers plus the following additional fields when the provider requires an API key:
Present and
true when the provider requires you to supply your own API key from the upstream source.Present when
api_key_required is true. Indicates whether you have already saved an API key for this provider via /user-keys/{slug}.Message explaining any access limitations when no key is provided. Example:
"A FRED API key is required. Get one for free.".GET /providers/
Returns full detail for a single provider including its configurable parameters, a curated list of popular series, and whether you have a stored API key for it. Path parametersProvider slug. Use the
slug field from GET /providers. Matching is case-insensitive — fred, FRED, and Fred all resolve to the same provider.Provider-specific parameters you can pass when fetching series data. Each parameter object includes:
Curated series suggestions. Each item has
id (the series ID) and label (a descriptive name).Display name for the root level of the provider’s category tree. Example:
"Categories" for FRED, "Topics" for World Bank.Whether your account has a stored API key for this provider. Always present;
false when you are unauthenticated.GET /providers//browse
Navigates the hierarchical category structure of a provider. Only available for providers with the"hierarchical" capability. Use this to drill down through topics, surveys, or indicator categories before fetching individual series.
Path parameters
Query parameters
Slash-separated navigation path within the provider’s category tree. Omit or leave empty to start from the root. Example:
"National Accounts/GDP".How many levels of the tree to prefetch in a single request. Maximum is
3. Use depth=1 (the default) to retrieve only the immediate children of the current path.GET /providers//search
Searches for series within a specific provider by keyword. Only available for providers with the"search" capability.
Path parameters
Query parameters
Array of matching series. Each item typically includes the series ID and a descriptive label. The exact structure depends on the provider’s search implementation.
User API key management
Some providers — such as FRED, INEGI, and BLS — require you to register for an API key directly with the upstream data source. You can store that key in your Alphacast account so it is applied automatically whenever you fetch data from that provider.GET /user-keys
Returns which providers you currently have API keys stored for. The actual key values are masked; only presence is indicated.This endpoint requires authentication. Unauthenticated requests will fail.
true means you have a stored key for that provider.
PUT /user-keys/
Saves or deletes your API key for a specific provider. Send the key asapi_key in the JSON body. Send null or an empty string to remove a previously stored key.
Path parameters
Request body