# Funding Alert Configurations API Source: https://docs.tryfundable.ai/api-reference/alerts/configurations openapi.json GET /alerts/configurations List the authenticated user's funding alert configurations: filters, frequency, and descriptions. # Funding Alerts API Source: https://docs.tryfundable.ai/api-reference/alerts/list openapi.json GET /alerts Retrieve saved funding alert data with all matching deals in a date range, newest first. # Company Funding History API Source: https://docs.tryfundable.ai/api-reference/companies/deals openapi.json GET /company/deals Retrieve a company's complete funding history by any identifier, paginated. # Company Funding Data API Source: https://docs.tryfundable.ai/api-reference/companies/get openapi.json GET /company Retrieve company data and the latest funding round by UUID, domain, LinkedIn, or Crunchbase. # Company Search API: Filter Startups Source: https://docs.tryfundable.ai/api-reference/companies/list openapi.json POST /companies Retrieve companies with advanced filtering, pagination, sorting, and optional AI-powered semantic search. Filtering by location, industry, or round type? Use **exact permalinks** — a wrong value for `locations`, `industries`, or `super_categories` returns zero results with no error. Resolve them via [`/location/search`](/api-reference/locations/search) and [`/industry/search`](/api-reference/industries/search) first. See [Filtering & Permalinks](/api-reference/filtering). # Company Search API Source: https://docs.tryfundable.ai/api-reference/companies/search openapi.json GET /company/search Look up a company by name, domain, LinkedIn, or Crunchbase with fuzzy matching. # Get a Funding Round by ID Source: https://docs.tryfundable.ai/api-reference/deals/get openapi.json GET /deals/{id} Retrieve full details for a single venture capital funding round by its unique ID. # Funding Round Investors API Source: https://docs.tryfundable.ai/api-reference/deals/investors openapi.json GET /deals/{id}/investors Retrieve the full investor lineup for a funding round: lead status, partners, angels, and links. # Funding Rounds API: Search VC Deals Source: https://docs.tryfundable.ai/api-reference/deals/list openapi.json POST /deals Retrieve venture capital deals with advanced filtering, pagination, and sorting. Filtering by location, industry, or round type? Use **exact permalinks** — a wrong value for `locations`, `industries`, or `super_categories` returns zero results with no error. Resolve them via [`/location/search`](/api-reference/locations/search) and [`/industry/search`](/api-reference/industries/search) first. See [Filtering & Permalinks](/api-reference/filtering). # Filter Funding Rounds by Industry and Location Source: https://docs.tryfundable.ai/api-reference/filtering How to filter by location, industry, and round type without getting empty results Most "why is my query returning nothing?" problems come from one mistake: filtering by a **display name** instead of the **canonical permalink** the API expects. **Locations, industries, and super categories are matched by exact permalink — not by the name you'd type in a search box.** A wrong permalink is silently ignored: the filter is dropped and you get **zero or unrelated results with no error**. Always resolve the permalink first. | You type | What the API actually wants | | ----------------- | ------------------------------------------------------------------------------------------- | | `"San Francisco"` | `"san-francisco-california"` | | `"fintech"` | `"fintech-e067"` | | `"AI"` | `"artificial-intelligence"` (industry) or `"artificial-intelligence-e551"` (super category) | | `"Series A"` | `"SERIES_A"` | ## Resolve, then query For **locations** and **industries**, never hand-write the permalink — look it up. Both lookup endpoints are **free (0 credits)** and use fuzzy matching, so a rough name is fine. Call the relevant search endpoint with a plain-English name. ```bash Locations theme={null} curl "https://www.tryfundable.ai/api/v1/location/search?name=san francisco" \ -H "Authorization: Bearer YOUR_API_KEY" ``` ```json Response theme={null} { "success": true, "data": { "locations": [ { "permalink": "san-francisco-california", "name": "San Francisco", "location_type": "CITY" }, { "permalink": "san-francisco-bay-area", "name": "San Francisco Bay Area", "location_type": "REGION" }, { "permalink": "california", "name": "California", "location_type": "STATE" } ] } } ``` Pick the row at the level you actually want — a **CITY**, **STATE**, **REGION**, or **COUNTRY** are all distinct permalinks. Industry search works the same way via [`GET /industry/search`](/api-reference/industries/search) and returns an `industry_type` of `INDUSTRY` or `SUPER_CATEGORY`. Paste the exact `permalink` value into your query. ```json POST /deals theme={null} { "company": { "locations": ["san-francisco-california"], "industries": ["fintech-e067"] }, "deal": { "financing_types": [{ "type": "SERIES_A" }] } } ``` ## Permalink format Permalinks are lowercase, kebab-case slugs. Many carry a short **hex disambiguator suffix** (`fintech-e067`, `artificial-intelligence-e551`) that distinguishes duplicate names — it is part of the value and must be included **verbatim**. Don't try to construct a permalink by hand (e.g. guessing `"fintech"` → `"fintech-e067"`). Always copy it from `/industry/search` or `/location/search`. ### Industry vs. super category `industries` are specific (e.g. `machine-learning`); `super_categories` are broad groupings that **automatically include their related industries** (e.g. `artificial-intelligence-e551` pulls in many AI sub-industries). Use a super category when you want wide coverage, an industry when you want precision. Both come from `/industry/search` — check the `industry_type` field to tell them apart. ## Round / financing types Round types are the exception: there is **no lookup endpoint** because the set is a fixed enum. Pass them as objects under `deal.financing_types`, using the exact canonical value — **not** the human label. Unlike locations and industries, an invalid `financing_types` value **does** return a `422` error (e.g. `Invalid financing type(s): series-a`). So you'll know immediately — but you still have to use the canonical form below. | Round (human) | Canonical value | Round (human) | Canonical value | | --------------------------- | ------------------ | --------------------- | ----------------------- | | Seed | `SEED` | Series A–M | `SERIES_A` … `SERIES_M` | | SAFE | `SAFE` | Convertible Note | `CONVERTIBLE_NOTE` | | Equity | `EQUITY` | Preferred | `PREFERRED` | | Secondary Market | `SECONDARY_MARKET` | Debt Financing | `DEBT_FINANCING` | | Grant | `GRANT` | Non-Equity Assistance | `NON_EQUITY_ASSISTANCE` | | Crowdfunding | `CROWDFUNDING` | Initial Coin Offering | `INITIAL_COIN_OFFERING` | | Funding Round (unspecified) | `FUNDING_ROUND` | | | Pre-rounds and extensions are modifiers on the same value, not separate types: ```json theme={null} { "deal": { "financing_types": [ { "type": "SEED", "pre": true }, // Pre-Seed { "type": "SERIES_A" }, // Series A { "type": "SERIES_B", "extension": true } // Series B extension ] } } ``` ## Common mistakes | Mistake | Result | Fix | | ---------------------------------------------------------- | ------------------------------ | ---------------------------------------------------------------- | | `locations: ["San Francisco"]` | Silent zero results | Resolve via `/location/search` → `"san-francisco-california"` | | `industries: ["fintech"]` | Silent zero results | Resolve via `/industry/search` → `"fintech-e067"` | | Dropping the hex suffix (`"fintech"` for `"fintech-e067"`) | Silent zero results | Copy the full permalink verbatim | | Using an industry where you meant a super category | Narrower results than expected | Check `industry_type`; use `super_categories` for broad coverage | | `financing_types: ["Series A"]` | `422` error | Use `[{ "type": "SERIES_A" }]` | The **Alerts** API currently accepts round types as human-readable strings (e.g. `["Series A"]`) rather than the `SERIES_A` enum used by `/deals` and `/companies`. This is a known inconsistency — follow the format shown in each endpoint's own reference. # Industry Search API Source: https://docs.tryfundable.ai/api-reference/industries/search openapi.json GET /industry/search Look up industries and super categories by name with fuzzy matching. Free, 0 credits. # Fundable API Reference Source: https://docs.tryfundable.ai/api-reference/introduction Full REST reference for the Fundable API: deals, companies, investors, and people endpoints, with parameters and examples. ## Base URL All API requests use the following base URL: ``` https://www.tryfundable.ai/api/v1 ``` The canonical OpenAPI document is available at [`/openapi.json`](/openapi.json). ## Authentication All endpoints require Bearer token authentication. See the [Authentication](/authentication) page for details. ## Endpoints ### Deals * **POST /deals** -- Search and filter funding rounds with pagination and sorting. Combine filters across deal attributes (financing type, size, date), company attributes (location, industry, size), and investor participation (firms or people). * **GET /deals/** -- Retrieve full details for a single funding round by its UUID. * **GET /deals//investors** -- Get the full investor lineup for a deal, including lead status, the partners involved, angel investors, and profile links. ### Companies * **POST /companies** -- Search and filter companies with pagination, sorting, and optional AI-powered semantic search. Filter by company attributes, latest funding round, and investors across all rounds. * **GET /company** -- Get full company details and the latest funding round (with participating investors) by any identifier -- UUID, domain, LinkedIn, or Crunchbase. * **GET /company/deals** -- Retrieve a company's complete funding history (paginated) by any identifier. * **GET /company/search** -- Quick lookup for a company by fuzzy name, domain, LinkedIn, or Crunchbase, with relevance scoring. ### Investors * **POST /investors** -- List and filter investors with pagination and sorting. Filter by entity attributes (location, size) and by portfolio (industries, deal characteristics, semantic search); portfolio filters return per-investor matched deal and lead counts. * **GET /investor** -- Get an investor's full profile, statistics, and portfolio summary by any identifier -- UUID, domain, LinkedIn, or Crunchbase. * **GET /investor/deals** -- Retrieve an investor's complete deal history (paginated) by any identifier. * **GET /investor/search** -- Quick lookup for an investor by fuzzy name, domain, LinkedIn, or Crunchbase, with relevance scoring. ### People * **POST /people** -- Search people (founders, executives, investors) with pagination, sorting, and optional semantic search. Filter by person attributes, current employer, and investor activity. * **GET /person** -- Get full person detail, including complete employment and education history, by any identifier -- UUID, LinkedIn, Crunchbase, or Twitter. * **GET /person/deals** -- Retrieve every deal a person has participated in as an investor (angel plus lead/firm deals), paginated. * **GET /person/search** -- Quick lookup for a person by fuzzy name, UUID, LinkedIn, Crunchbase, or Twitter, across both investors and non-investor people. ### Filters * **GET /industry/search** -- Look up industries and super categories by name with fuzzy matching and relevance scoring; optionally filter by type (`INDUSTRY` or `SUPER_CATEGORY`). * **GET /location/search** -- Look up locations by name with fuzzy matching and relevance scoring; optionally filter by type (`CITY`, `STATE`, `REGION`, or `COUNTRY`). `locations`, `industries`, and `super_categories` filters must use **exact permalinks** — a wrong value is silently ignored and returns zero results. Always resolve labels via the search endpoints above first. See [Filtering & Permalinks](/api-reference/filtering) for the full workflow and the round-type enum values. ### Alerts * **GET /alerts** -- Retrieve saved alert data with all matching deals in a date range (up to 10 alerts per request). Deals are deduplicated, sorted newest-first, and each includes AI-generated reasoning for why it matched. * **GET /alerts/configurations** -- List the authenticated user's alert configurations (filters, frequency, descriptions). Both Alerts endpoints are available on Pro+ and API plans and currently do not consume credits. ## Error Handling All endpoints return consistent error responses: | Status Code | Description | | ----------- | -------------------------------------------------------- | | **400** | Bad request (invalid parameters) | | **401** | Unauthorized (missing or invalid API key) | | **422** | Validation error (unknown parameter, invalid enum value) | | **429** | Rate limit exceeded | | **500** | Internal server error | # Investor Portfolio and Deals API Source: https://docs.tryfundable.ai/api-reference/investors/deals openapi.json GET /investor/deals Retrieve an investor's complete deal history by any identifier, paginated. # Investor Profile API Source: https://docs.tryfundable.ai/api-reference/investors/get openapi.json GET /investor Retrieve an investor's full profile, stats, and portfolio summary by any identifier. # Investor Data API: Search VC Firms Source: https://docs.tryfundable.ai/api-reference/investors/list openapi.json POST /investors Retrieve a paginated list of investors with optional filtering. Filtering by location, industry, or round type? Use **exact permalinks** — a wrong value for `locations`, `industries`, or `super_categories` returns zero results with no error. Resolve them via [`/location/search`](/api-reference/locations/search) and [`/industry/search`](/api-reference/industries/search) first. See [Filtering & Permalinks](/api-reference/filtering). # Investor Search API Source: https://docs.tryfundable.ai/api-reference/investors/search openapi.json GET /investor/search Look up a VC firm or investor by name, domain, LinkedIn, or Crunchbase. # Location Search API Source: https://docs.tryfundable.ai/api-reference/locations/search openapi.json GET /location/search Look up cities, states, regions, and countries by name with fuzzy matching. Free, 0 credits. # Angel Investor Deals API Source: https://docs.tryfundable.ai/api-reference/people/deals openapi.json GET /person/deals Retrieve every deal a person joined as an angel or lead partner, paginated. # Person Profile API Source: https://docs.tryfundable.ai/api-reference/people/get openapi.json GET /person Retrieve full person detail including employment and education history by any identifier. # Founders and Investors API Source: https://docs.tryfundable.ai/api-reference/people/list openapi.json POST /people Retrieve people with advanced filtering, pagination, sorting, and optional AI-powered semantic search. Filtering by location, industry, or round type? Use **exact permalinks** — a wrong value for `locations`, `industries`, or `super_categories` returns zero results with no error. Resolve them via [`/location/search`](/api-reference/locations/search) and [`/industry/search`](/api-reference/industries/search) first. See [Filtering & Permalinks](/api-reference/filtering). # People Search API Source: https://docs.tryfundable.ai/api-reference/people/search openapi.json GET /person/search Look up founders, executives, and investors by name, LinkedIn, Crunchbase, or Twitter. # Fundable API Authentication and Keys Source: https://docs.tryfundable.ai/authentication Authenticate the Fundable API with a Bearer token. Get an API key and start with free credits. ## API Key Authentication All Fundable API requests require authentication via a Bearer token in the `Authorization` header. ```bash theme={null} Authorization: Bearer vg_xxxxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ``` ### Getting Your API Key API keys are available through your Fundable account. Get your key [here](https://www.tryfundable.ai/api-access/) -- your first 200 credits are free. You can purchase credits directly or through a Fundable subscription. ### Key Format API keys follow the format: `vg_[12_hex_chars]_[32_base64url_chars]` ### Usage Include your API key as a Bearer token in every request: ```bash theme={null} curl -X GET "https://www.tryfundable.ai/api/v1/deals" \ -H "Authorization: Bearer YOUR_API_KEY" ``` # Power an AI Agent with Funding Data Source: https://docs.tryfundable.ai/guides/ai-agent-funding-data Give an AI agent controlled access to real-time startup and funding data through typed Fundable REST API tools. Wrap a small set of Fundable REST API operations as typed tools so an AI agent can search startup and funding data without handling raw credentials or inventing query shapes. This guide covers REST API tool integration. Dedicated Fundable MCP setup will be documented separately. ## Start with one narrow tool A useful first tool is `find_funded_companies`. Its server-side implementation calls `POST /companies` and exposes only the filters your agent needs. ```json Tool schema theme={null} { "name": "find_funded_companies", "description": "Find companies by funding stage, date, industry, and location.", "parameters": { "type": "object", "properties": { "financing_types": { "type": "array", "items": { "type": "string", "enum": ["SEED", "SERIES_A", "SERIES_B", "SERIES_C"] } }, "date_start": { "type": "string", "description": "Earliest funding announcement date in YYYY-MM-DD format." }, "industry_permalinks": { "type": "array", "items": { "type": "string" } }, "location_permalinks": { "type": "array", "items": { "type": "string" } } }, "required": ["date_start"] } } ``` The server translates those arguments into the API request. ```javascript theme={null} async function findFundedCompanies(args) { const response = await fetch("https://www.tryfundable.ai/api/v1/companies", { method: "POST", headers: { Authorization: `Bearer ${process.env.FUNDABLE_API_KEY}`, "Content-Type": "application/json", }, body: JSON.stringify({ company: { industries: args.industry_permalinks, locations: args.location_permalinks, }, latest_deal: { financing_types: args.financing_types?.map((type) => ({ type })), date_start: args.date_start, }, page_size: 25, sort_by: "most_recent_raise", }), }); if (!response.ok) { throw new Error(`Fundable API returned ${response.status}`); } return response.json(); } ``` ## Resolve names before filtering Do not let the model guess location or industry permalinks. Give the agent separate tools backed by [`GET /location/search`](/api-reference/locations/search) and [`GET /industry/search`](/api-reference/industries/search), then pass the returned permalinks into `find_funded_companies`. Round types use fixed enum values such as `SEED` and `SERIES_A`. See [Filtering and Permalinks](/api-reference/filtering) for the complete rules. ## Add guardrails on the server * Keep the Fundable API key server-side and out of model context. * Allowlist filters and round-type enum values. * Cap `page_size` and the number of automatic pagination requests. * Return concise records to the model, not an unbounded raw payload. * Log tool arguments, response status, credits used, and destination user. * Require confirmation before the agent writes to a CRM or sends outreach. ## Expand by user intent Add tools only when the agent needs them: | User intent | Fundable endpoint | | ----------------------------- | ------------------------------------------------------------- | | Find funded companies | [`POST /companies`](/api-reference/companies/list) | | Inspect one company | [`GET /company`](/api-reference/companies/get) | | Search funding rounds | [`POST /deals`](/api-reference/deals/list) | | Inspect a round's investors | [`GET /deals/{id}/investors`](/api-reference/deals/investors) | | Look up founders or investors | [`GET /person/search`](/api-reference/people/search) | Keeping each tool narrow produces more predictable calls, clearer permissions, and better audit logs than exposing the entire API through one generic request tool. # Enrich Your CRM with Funding Data Source: https://docs.tryfundable.ai/guides/crm-enrichment Match CRM accounts by domain and add Fundable company details, funding history, investors, and latest-round data. Use `GET /company` to enrich a CRM account when you already have a domain, LinkedIn URL, Crunchbase URL, or Fundable UUID. Domain is usually the simplest stable key for company-level enrichment. ## 1. Normalize the account identifier Before calling the API, lowercase the domain and remove the protocol, path, query string, and leading `www.`. Keep your original CRM value unchanged for display. Examples: | CRM value | Lookup value | | --------------------------------- | ----------------- | | `https://www.example.com/pricing` | `example.com` | | `EXAMPLE.COM` | `example.com` | | `https://app.example.com` | `app.example.com` | ## 2. Retrieve the company Provide exactly one identifier. ```bash theme={null} curl --get "https://www.tryfundable.ai/api/v1/company" \ --header "Authorization: Bearer YOUR_API_KEY" \ --data-urlencode "domain=example.com" ``` If the domain is missing or does not resolve, use [`GET /company/search`](/api-reference/companies/search) with the company name, LinkedIn URL, or Crunchbase URL, then save the returned Fundable UUID for future lookups. ## 3. Map source-owned fields The company record is returned at `data.company`. Keep Fundable data in dedicated CRM properties so enrichment does not overwrite values owned by sales or customer success teams. | Fundable field | Suggested CRM property | | ---------------------- | -------------------------------------------------- | | `id` | `fundable_company_id` | | `total_raised` | `fundable_total_raised_usd` | | `num_funding_rounds` | `fundable_funding_round_count` | | `num_investors` | `fundable_investor_count` | | `latest_valuation_usd` | `fundable_latest_valuation_usd` | | `num_employees` | `fundable_employee_range` | | `latest_deal` | Latest-round fields or a serialized source payload | Also store an `enriched_at` timestamp and the Fundable UUID. The timestamp supports freshness policies, and the UUID makes later refreshes independent of domain changes. ## 4. Upsert instead of append Use the CRM account ID as the destination key and the Fundable UUID as the external source key. On every sync: 1. Update source-owned enrichment fields. 2. Preserve user-entered CRM fields. 3. Clear a value only when your data policy explicitly treats `null` as authoritative. 4. Log the response's `meta.credits_used` value for cost monitoring. For lists of target accounts, `POST /companies` can batch lookup up to 100 domains through `identifiers.domains`. Retrieve one company's full details and latest round. Find new accounts before enriching them. # Build a Funding Alert Workflow Source: https://docs.tryfundable.ai/guides/funding-alert-workflow Pull saved Fundable alert matches into a scheduled workflow with UTC checkpoints, deduplication, and retry-safe processing. The Alerts API lets a scheduled job retrieve the deals matched by your saved Fundable alerts. A reliable workflow first discovers the available configurations, then requests matches for a bounded UTC time window. The Alerts API is available on Pro+ and API plans. Both Alerts endpoints are currently free and do not consume credits. See [Pricing and Credits](/usage). ## 1. List alert configurations `GET /alerts/configurations` returns the authenticated user's alert IDs, filters, frequency, and descriptions. It does not consume usage credits. ```bash theme={null} curl "https://www.tryfundable.ai/api/v1/alerts/configurations" \ --header "Authorization: Bearer YOUR_API_KEY" ``` Store the alert IDs you want the workflow to process. You can request up to 10 alert IDs at once. ## 2. Request matching deals Pass a comma-separated list of alert IDs and an inclusive UTC date range. ```bash theme={null} curl --get "https://www.tryfundable.ai/api/v1/alerts" \ --header "Authorization: Bearer YOUR_API_KEY" \ --data-urlencode "alert_ids=ALERT_UUID_1,ALERT_UUID_2" \ --data-urlencode "start_date=2026-07-20T00:00:00.000Z" \ --data-urlencode "end_date=2026-07-21T00:00:00.000Z" ``` The response returns each alert in `data.alerts` with a flattened `deals` array. Deals are sorted newest first and deduplicated within the API response. Each match also includes reasoning that explains why the deal satisfied the alert. ## 3. Process matches safely Use the deal UUID as the idempotency key in your destination. 1. Read the last successful UTC checkpoint. 2. Request a short overlapping time window. 3. Upsert or skip each deal by UUID. 4. Record per-item failures for retry. 5. Advance the checkpoint only when the complete batch succeeds. An overlap is safe because the destination deduplicates by UUID. It also protects against scheduler delays and partial failures. ## 4. Route by alert Keep `alertId`, `alertName`, and the match reasoning with each downstream record. Those fields let you route different alerts to different Slack channels, CRM lists, email sequences, or analyst queues without reimplementing the filter logic. Review query parameters and the response schema. Retrieve the alerts available to the authenticated user. # Track Newly Funded Startups with the API Source: https://docs.tryfundable.ai/guides/track-newly-funded-startups Find startups as funding rounds are added to Fundable, then filter by stage, industry, location, and company size. Use `POST /companies` to build a repeatable feed of newly funded startups. Filter on `latest_deal.created_start` when you care about when Fundable added a round, or use `latest_deal.date_start` when you care about the round's announcement date. For signal-based outbound, `created_start` is usually the better checkpoint. It catches rounds when they enter Fundable, including older announcements that were added recently. ## 1. Resolve filter permalinks Location, industry, and super-category filters require exact permalinks. Resolve human-readable names with the free [`GET /location/search`](/api-reference/locations/search) and [`GET /industry/search`](/api-reference/industries/search) endpoints before you build the company request. ```bash theme={null} curl --get "https://www.tryfundable.ai/api/v1/industry/search" \ --header "Authorization: Bearer YOUR_API_KEY" \ --data-urlencode "name=artificial intelligence" ``` See [Filtering and Permalinks](/api-reference/filtering) for round-type enums and common filtering mistakes. ## 2. Query companies with newly added rounds This request returns private Seed and Series A companies whose latest funding round was added to Fundable on or after July 1, 2026. ```bash theme={null} curl --request POST "https://www.tryfundable.ai/api/v1/companies" \ --header "Authorization: Bearer YOUR_API_KEY" \ --header "Content-Type: application/json" \ --data '{ "company": { "locations": ["san-francisco-california"], "super_categories": ["artificial-intelligence-e551"], "ipo_status": ["private"] }, "latest_deal": { "financing_types": [ { "type": "SEED" }, { "type": "SERIES_A" } ], "created_start": "2026-07-01" }, "page": 0, "page_size": 50, "sort_by": "most_recent_raise" }' ``` The response places company records in `data.companies` and pagination details in `meta`. Increase `page` from `0` until you have processed `meta.total_count` results. The maximum `page_size` is `500`. ## 3. Make the sync idempotent Use a small overlap between runs so a delayed job does not create a gap. 1. Save the timestamp of the last successful run. 2. Query again from a slightly earlier `created_start` date. 3. Upsert companies by `company.id` and rounds by `company.latest_deal.id`. 4. Advance the checkpoint only after every page succeeds. This pattern tolerates retries and late-arriving records without sending the same company through your workflow twice. ## 4. Send qualified records downstream Common destinations include a CRM, outbound queue, warehouse, or review sheet. Keep the Fundable company and deal IDs in the destination so later runs can update the same records. Review every company and latest-deal filter. Turn matched companies into durable CRM records. # Fundable API: Startup and VC Funding Data Source: https://docs.tryfundable.ai/index Fundable's REST API for real-time startup funding rounds, VC deals, investors, and people. 150k+ rounds, 200 free credits, native API access. **Best suited for:** * **Signal-based outbound:** Spot companies within hours of a raise * **Market mapping:** Find every funded company in a sector * **Funding alerts:** Track companies by sector, stage, or use of funds * **AI agents:** Power tools and workflows with real-time funding data For AI agents, use [`llms.txt`](https://docs.tryfundable.ai/llms.txt) for a Markdown index of every page and OpenAPI specification, or [`llms-full.txt`](https://docs.tryfundable.ai/llms-full.txt) for the complete docs. ## Explore use-case guides Find companies as funding rounds are added, then filter by stage, industry, and location. Pull saved alert matches into scheduled workflows without sending duplicates. Add funding history, investors, and company details to account records. Give an agent safe, structured access to real-time funding data through the REST API. ## Why Choose Our API **Real Time Coverage**: We are the quickest to report on funding announcements, enabling GTM workflows that require speed. **Affordable Pricing**: Start for free and scale on a credit-based model. **Rich Filtering**: Search across 15+ dimensions like stage, industry, geography, deal size, investor participation, or use semantic search. ## Get started with the Fundable API **Create an API Key**: Grab an API key [here](https://www.tryfundable.ai/api-access/), your first 200 credits are free. **Make Your First API Call**: Read our API documentation and view example recipes to understand how the API works. Check out some [example code](https://github.com/Jklionsky/fundable-api-example.git) on how to use the API. Learn how to authenticate your API requests. Explore all available endpoints. Filter by location, industry, and round type using the right permalinks — and avoid empty results. View example code for using the API. # Fundable API Pricing and Credits Source: https://docs.tryfundable.ai/usage Fundable API pricing: credit cost per endpoint, free search endpoints, and pay-as-you-go credits from $0.05. ## API Pricing Single-record company, investor, and person lookups cost **1 credit per call**. List and history endpoints cost **1 credit per row returned**. Search endpoints cost 0.1 credits per call or are free, as shown below. | Endpoint | Description | Cost | | ---------------------------- | ------------------------------------------------------ | ----------------- | | `POST /deals` | Search and filter funding rounds | 1 credit/row | | `GET /deals/{id}` | Get a specific funding round by ID | 1 credit/row | | `GET /deals/{id}/investors` | Get investors for a specific funding round | 1 credit/row | | `POST /companies` | List and filter companies with recent funding details | 1 credit/row | | `GET /company` | Get a company by ID, domain, LinkedIn, or Crunchbase | 1 credit/call | | `GET /company/deals` | Get funding rounds for a specific company | 1 credit/row | | `GET /company/search` | Search companies by name or domain | 0.1 credit/call | | `POST /investors` | List and filter investors with matching investments | 1 credit/row | | `GET /investor` | Get an investor by ID, domain, LinkedIn, or Crunchbase | 1 credit/call | | `GET /investor/deals` | Get funding rounds for a specific investor | 1 credit/row | | `GET /investor/search` | Search investors by name or domain | 0.1 credit/call | | `POST /people` | List and filter people with investment activity | 1 credit/row | | `GET /person` | Get a person by ID, LinkedIn, Crunchbase, or Twitter | 1 credit/call | | `GET /person/deals` | Get deals a person participated in as an investor | 1 credit/row | | `GET /person/search` | Search for a person by name or identifier | 0.1 credit/call | | `GET /industry/search` | Search industries by name | Free | | `GET /location/search` | Search locations by name | Free | | `GET /alerts` | Get alert data with deals | Free — Pro+ / API | | `GET /alerts/configurations` | Get alert configurations | Free — Pro+ / API | The Alerts API is available on **Pro+ and API plans**. Both Alerts endpoints are currently free and do not consume credits. View current usage, credit balances, and billing details on the [API Access page](https://www.tryfundable.ai/api-access#usage). ## How Credits Work Paid endpoints return a `meta` object with credit usage details: ```json theme={null} { "success": true, "data": { "companies": [ { "id": "550e8400-e29b-41d4-a716-446655440000", "name": "Acme" } ] }, "meta": { "total_count": 1, "page": 0, "page_size": 25, "credits_used": 1, "credit_source": "monthly", "monthly_credits_remaining": 199, "purchased_credits_remaining": 50 } } ``` | Field | Description | | ----------------------------- | --------------------------------------------------------------- | | `total_count` | Total records matching the request | | `page` | Current page number, starting at `0` | | `page_size` | Maximum records requested per page | | `credits_used` | Number of credits consumed by this request | | `credit_source` | Whether credits came from `monthly` plan or `purchased` balance | | `monthly_credits_remaining` | Remaining credits from your plan | | `purchased_credits_remaining` | Remaining individually purchased credits | * **List and history endpoints** cost **1 credit per row returned**. A request that returns 25 rows costs 25 credits. * **Single-record lookups** (`/company`, `/investor`, `/person`) cost **1 credit per call**. * **Company, investor, and person search** cost **0.1 credits per request**, regardless of rows returned. * **Industry & location search** (`/industry/search`, `/location/search`) are always free and don't return credit fields. * **Alerts endpoints** are free for Pro+ and API plans. * Credits come included with your plan. If you don't want a recurring plan, you can buy credits individually for as low as **\$0.05 per credit**. ## Getting Started Your first **200 credits are free** — no credit card required. Grab your API key [here](https://www.tryfundable.ai/api-access/) and start making requests immediately.