Group 1 Automotive · Agentic Access

Group 1 Automotive Agentic Access

x-agentic-access searched

Group 1 Automotive exposes 1 API operation that an AI agent could call, of which 0 are state-changing ‘acting’ operations. This is a recommended x-agentic-access execution contract — the scope, audience, consequence tier, short-lived token constraints, and escalation each action should carry before it is handed to an autonomous agent.

Contracts are classified heuristically from the provider’s OpenAPI and refresh on every APIs.io network build; audience is bound per deployment. The model follows Curity’s Access Intelligence (apidays Munich 2026). Browse every provider’s agent contracts at agentic-access.apis.io.

Fortune 500AutomotiveAutomotive RetailVehicle InventoryDealershipsRetailAgentic Accessllms-txt
Operations: 1 Acting: 0 Human-in-the-loop: 0 Method: searched

By consequence

Source

Agentic Access

group-1-automotive-agentic-access.yml Raw ↑
generated: '2026-08-28'
method: searched
source: https://www.group1auto.com/llms.txt
summary: >-
  Group 1 Automotive publishes a deliberate, first-party AI-agent access contract in the form of
  an llms.txt on two of its own hosts. It is not an API program — there is no OpenAPI, no key,
  no portal — but it is an explicit, documented, anonymous read surface built for LLM clients,
  and it works: the endpoints it advertises return live inventory. This artifact records that
  surface as the company actually published it.
surfaces:
  - name: Group 1 Automotive inventory (corporate retail site)
    llms_txt: https://www.group1auto.com/llms.txt
    llms_txt_status: 200
    llms_txt_content_type: text/plain; charset=utf-8
    endpoint: https://www.group1auto.com/llm/inventory/
    representation: text/html (server-rendered, no JavaScript required)
    authentication: none
    observed:
      fetched: '2026-08-28'
      result: >-
        GET /llm/inventory/?bodytype=SUVs&limit=2 returned a server-rendered listing page titled
        "SUVs Vehicle Inventory - Group 1 Automotive" reporting "Page 1 of 13044 (26088 total
        vehicles)", with per-vehicle year, model, trim, new/used status, mileage, price and VIN
        (e.g. 2026 Ford Bronco Sport, 5 miles, $40,197, VIN 3FMCR9CN8TRE54995).
  - name: AcceleRide (Group 1 digital-retail brand)
    llms_txt: https://www.shopgroup1.com/llms.txt
    llms_txt_status: 200
    llms_txt_content_type: text/plain; charset=utf-8
    endpoint: https://www.shopgroup1.com/llm/inventory/
    representation: text/html (server-rendered, no JavaScript required)
    authentication: none
    observed:
      fetched: '2026-08-28'
      result: >-
        llms.txt retrieved verbatim (1,350 bytes), headed "# AcceleRide", advertising the same
        /llm/inventory/ endpoint and the same parameter set on the AcceleRide host. The endpoint
        itself was not separately fetched; only the manifest was verified on this host.
operations:
  - id: browseInventory
    method: GET
    path: /llm/inventory/
    action_class: read
    consequence: none
    reversibility: na
    escalation: none
    token: none
    description: >-
      Browse Group 1 Automotive's live new and used vehicle inventory, filtered and paginated
      via query string. Documented in the provider's own llms.txt.
    parameters:
      - name: type
        documented_values: [new, used]
        source: llms.txt "Parameters" line + the "Browse New" / "Browse Used" examples
      - name: make
        source: llms.txt "Parameters" line
      - name: model
        source: llms.txt "Parameters" line
      - name: year_min
        source: llms.txt "Parameters" line + the "Browse 2022+" example (year_min=2022)
      - name: year_max
        source: llms.txt "Parameters" line
      - name: price_min
        source: llms.txt "Parameters" line
      - name: price_max
        source: llms.txt "Parameters" line + the "Under $30k" example (price_max=30000)
      - name: bodytype
        documented_values: [SUVs, Trucks, Vans, Sedans]
        source: llms.txt "Browse SUVs/Trucks/Vans/Sedans" example URLs
      - name: keyword
        source: llms.txt "Parameters" line + the "white SUVs" example (keyword=white)
      - name: limit
        source: llms.txt "Parameters" line
      - name: page
        source: llms.txt "Parameters" line; observed in the rendered pager as page=2
agent_policy:
  robots_txt: https://www.group1auto.com/robots.txt
  robots_txt_status: 200
  user_agent_rules: 'User-agent: * — no agent is named, allowed or denied specifically.'
  crawl_delay_seconds: 1
  disallowed_paths:
    - /wp-admin/
    - /wp-includes/
    - /wp-content/uploads/inventory/
    - /wp-content/uploads/pb_backupbuddy/
    - /wp-content/uploads/chromeData/
    - /wp-content/uploads/configuratorTron/
    - /wp-content/uploads/gravity_forms/
  llm_paths_disallowed: false
  note: >-
    robots.txt does not disallow /llm/, so the advertised agent endpoint is crawlable under the
    site's own rules. There is no ai.txt, no AIPREF signal, and no Content-Signal header. The
    Terms of Use at https://www.group1auto.com/terms-of-use/ (effective 2026-06-29) does contain
    an "AI tool usage" section, so the company's agent posture is split across two documents that
    do not reference each other.
divergence:
  finding: >-
    The surface Group 1 advertises to agents is reachable by a browser-class client and refused
    to a plain HTTP client. Cloudflare bot management on www.group1auto.com answered HTTP 403 to
    every curl request for /llm/inventory/ (and for the site root, /openapi.json, /wp-json/ and
    /sitemap.xml) even with a current desktop browser User-Agent, while the same URL fetched
    through a browser-class path returned the full inventory listing. /llms.txt and /robots.txt
    themselves are served to plain clients at 200.
  implication: >-
    An agent that speaks plain HTTP reads the llms.txt telling it to call /llm/inventory/, then
    gets a 403 at that endpoint. The instruction and the enforcement disagree. This is a
    provider-side edge-policy gap, not an absence of intent — the endpoint is real and the
    content is there.
  evidence:
    - url: https://www.group1auto.com/llms.txt
      client: curl (desktop browser UA)
      status: 200
    - url: https://www.group1auto.com/llm/inventory/
      client: curl (desktop browser UA)
      status: 403
      body: Cloudflare "Attention Required!" interstitial, 4,569 bytes
    - url: https://www.group1auto.com/llm/inventory/?bodytype=SUVs&limit=2
      client: browser-class fetch
      status: 200
      body: server-rendered inventory listing, 26,088 records reported
gaps:
  - No JSON representation. format=json is ignored; /llm/inventory.json returns the site 404.
  - No OpenAPI, AsyncAPI, GraphQL SDL or Postman collection describing the endpoint.
  - No /.well-known/api-catalog pointing at the surface (all /.well-known/ paths 404).
  - No MCP server and no A2A agent card.
  - llms.txt does not state a rate limit, a change policy, a contact, or terms for agent use.

Work with this as data

Every access contract here is available over the APIs.io API and to AI agents over MCP. Agentic Access is not yet its own endpoint on the v1 API. Reach it through catalog search and the tag graph, or the MCP server.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for agentic access

3 MCP tools reach this
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
Search the catalog
curl "https://apis.io/api/v1/search?q=group-1-automotive-agentic-access&limit=10"
Everything under a tag
curl "https://apis.io/api/v1/tags/group-1-automotive-agentic-access"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.