Integration guide, checked 5 November 2026

Use with ChatGPT

Short answerCreate a custom GPT and import https://fanduelapi.com/openapi-chatgpt.json as an Action with your key as a Bearer API key. To evaluate first, add https://fanduelapi.com/api/mcp as a connector with no authentication: it exposes search, fetch and a delayed sample.

FanDuel API is an independent data service operated by FF API Inc. It is not affiliated with, endorsed by or sponsored by FanDuel.

Set it up

  1. Get a key

    Create a free key at https://fanduelapi.com/dashboard/keys, or let the agent start the signup for you through https://fanduelapi.com/connect. Store it as FANDUEL_API_KEY; it is shown once.

  2. Custom GPT Action

    In the GPT editor: Configure, Create new action, Import from URL. Authentication: API Key, Auth Type Bearer, and paste the key.

    Import from URL
    https://fanduelapi.com/openapi-chatgpt.json
  3. Say what the user asked for

    Actions cannot set custom headers, so the ChatGPT file takes user_request as a query parameter on each call: the current task in one sentence, without personal data.

  4. Keyless connector

    With developer mode on: Settings, Connectors, Create, paste https://fanduelapi.com/api/mcp, authentication None. ChatGPT connectors use OAuth or no auth, never a static key, so this connection offers search and fetch over the docs and get_sample_props.

  5. Check the key with one REST call

    If a client cannot reach MCP, the same data is plain REST.

    Terminal
    export FANDUEL_API_KEY=<your key>
    curl "https://fanduelapi.com/api/v1/props?sport=nba&stat=points&limit=3" \
      -H "Authorization: Bearer $FANDUEL_API_KEY"

A first prompt

Bounded and specific, so the first answer shows whether the data fits.

Prompt
Using the FanDuel API action, get FanDuel NBA rebounds props for tonight and sort them by how far the line moved since open.

If something is off

The tools list is empty or the server will not connect

The server speaks streamable HTTP as stateless JSON over POST at https://fanduelapi.com/api/mcp. A client that only speaks SSE or stdio needs a bridge such as mcp-remote.

A tool says it needs an API key

Data tools need the Authorization header. search_docs, fetch_doc, get_sample_props and send_feedback work without one.

A 429 or quota error

Relay error.user_message to the person as is. Wait until error.reset_at for a rate limit; a monthly quota needs the month to reset or a plan change, which only the person can approve.

Other clients

The same server works anywhere MCP does. Everything an agent needs is in the agent guide and the llms.txt file.