{"openapi":"3.1.0","info":{"title":"AI & Robotics Directory API","version":"1.0.0","summary":"Source-linked data on AI and robotics companies, the ETFs that hold them, and counts of AI/robotics terms in their SEC filings.","description":"JSON API for AI agents and developers. Data is refreshed weekly from public sources (SEC EDGAR, Yahoo Finance, ETF issuer files) and every fact carries a source URL and as-of date. Data last updated 2026-11-02.\n\nPricing: free sample endpoints under /api/v1/sample and the public /data/*.json files; other endpoints cost about $0.01 USDC per call via x402 (HTTP 402 Payment Required) or an X-API-Key header. Payment status: coming_soon.\n\nCite as: AI & Robotics Directory, <company page URL> (CC BY 4.0).\n\nInformational only. Not investment advice, not a recommendation or signal. Data from public sources (SEC EDGAR, Yahoo Finance, ETF issuer files) may be delayed or wrong; check the linked primary sources.","contact":{"url":"https://airoboticsdirectory.com/developers/"},"license":{"name":"Data: CC BY 4.0","url":"https://creativecommons.org/licenses/by/4.0/"}},"servers":[{"url":"https://airoboticsdirectory.com"}],"externalDocs":{"url":"https://airoboticsdirectory.com/developers/","description":"Developer docs, MCP config and pricing"},"paths":{"/api/v1":{"get":{"summary":"API index","description":"Endpoints, pricing and payment status.\n\nFree.","security":[],"parameters":[],"responses":{"200":{"description":"OK","headers":{"ETag":{"description":"Entity tag (send If-None-Match for 304)","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"304":{"description":"Not modified (If-None-Match matched the ETag)"},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}},"operationId":"getApiIndex","tags":["Meta"]}},"/api/v1/companies":{"get":{"summary":"List companies","description":"All companies with slug, name, category, ticker and listing status.\n\nFree.","security":[],"parameters":[],"responses":{"200":{"description":"OK","headers":{"ETag":{"description":"Entity tag (send If-None-Match for 304)","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"},"example":{"data":[{"slug":"aeva-technologies","name":"Aeva Technologies","category":"sensors","ticker":"AEVA","listing_status":"public","url":"https://airoboticsdirectory.com/companies/aeva-technologies/"},{"slug":"agility-robotics","name":"Agility Robotics","category":"humanoids","ticker":null,"listing_status":"pending listing (SPAC)","url":"https://airoboticsdirectory.com/companies/agility-robotics/"}],"meta":{"source":"AI & Robotics Directory","source_url":"https://airoboticsdirectory.com/","data_updated":"2026-11-02","mentions_generated":"2026-11-02","license":"CC BY 4.0","citation":"AI & Robotics Directory, https://airoboticsdirectory.com/ (data 2026-11-02, CC BY 4.0)"},"disclaimer":"Informational only. Not investment advice, not a recommendation or signal. Data from public sources (SEC EDGAR, Yahoo Finance, ETF issuer files) may be delayed or wrong; check the linked primary sources."}}}},"304":{"description":"Not modified (If-None-Match matched the ETag)"},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}},"operationId":"listCompanies","tags":["Free"]}},"/api/v1/sample":{"get":{"summary":"Free sample index","description":"Lists the free sample endpoints.\n\nFree.","security":[],"parameters":[],"responses":{"200":{"description":"OK","headers":{"ETag":{"description":"Entity tag (send If-None-Match for 304)","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"304":{"description":"Not modified (If-None-Match matched the ETag)"},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}},"operationId":"getSampleIndex","tags":["Free"]}},"/api/v1/sample/companies/{slug}":{"get":{"summary":"Sample company snapshot","description":"Same shape as /api/v1/companies/{slug}.\n\nFree.","security":[],"parameters":[{"name":"slug","in":"path","description":"One of: nvidia, tesla, intuitive-surgical","required":true,"schema":{"type":"string","enum":["nvidia","tesla","intuitive-surgical"]}}],"responses":{"200":{"description":"OK","headers":{"ETag":{"description":"Entity tag (send If-None-Match for 304)","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"},"example":{"data":{"slug":"nvidia","name":"NVIDIA","listed_name":"NVIDIA Corporation","url":"https://airoboticsdirectory.com/companies/nvidia/","category":"ai-chips","category_name":"AI chips","themes":["ai-capex","physical-ai"],"website":"https://www.nvidia.com","description":"NVIDIA designs GPUs and accelerated-computing platforms, including data-centre AI systems, networking and software (CUDA). It also offers robotics platforms (Jetson, Isaac) and simulation tools (Omniverse).","ticker":"NVDA","sec_ticker":"NVDA","sec_cik":1045810,"listing_status":"public","status_note":null,"status_source":null,"market":{"close":204.64,"close_date":"2026-10-30","chg_1w_pct":-3,"market_cap":4941441662976,"currency":"USD"},"facts":[{"label":"Listing","value":"NVDA (NasdaqGS)","source_url":"https://finance.yahoo.com/quote/NVDA/","source_name":"Yahoo Finance","as_of":"2026-11-02"},{"label":"Last close","value":"204.64 USD","source_url":"https://finance.yahoo.com/quote/NVDA/","source_name":"Yahoo Finance","as_of":"2026-10-30"}],"etf_membership":[{"ticker":"BOTZ","name":"Global X Robotics & Artificial Intelligence ETF","weight_pct":7.78,"as_of":"2026-10-30","coverage":"full","source_url":"https://assets.globalxetfs.com/funds/holdings/botz_full-holdings_20261030.csv"},{"ticker":"AIQ","name":"Global X Artificial Intelligence & Technology ETF","weight_pct":2.85,"as_of":"2026-10-30","coverage":"full","source_url":"https://assets.globalxetfs.com/funds/holdings/aiq_full-holdings_20261030.csv"}],"recent_filings":[{"form":"8-K","date":"2026-09-03","description":"8-K","url":"https://www.sec.gov/Archives/edgar/data/1045810/000104581026000078/nvda-20260902.htm"},{"form":"10-Q","date":"2026-08-26","description":"10-Q","url":"https://www.sec.gov/Archives/edgar/data/1045810/000104581026000075/nvda-20260726.htm"}],"mentions":{"status":"ok","unit":"mentions per 10,000 words","latest":{"accession":"0001045810-26-000075","form":"10-Q","filed":"2026-08-26","url":"https://www.sec.gov/Archives/edgar/data/1045810/000104581026000075/nvda-20260726.htm","words":20136,"counts":{"ai":79,"robots":5,"physical_ai":0},"rate":{"ai":39.23,"robots":2.48,"physical_ai":0}},"prior_comparable":{"accession":"0001045810-26-000052","form":"10-Q","filed":"2026-05-20","url":"https://www.sec.gov/Archives/edgar/data/1045810/000104581026000052/nvda-20260426.htm","rate":{"ai":30.38,"robots":2.13,"physical_ai":0.53}},"change":{"ai":8.85,"robots":0.35,"physical_ai":-0.53},"latest_within_quarter":true,"filings_counted":12,"history_endpoint":"/api/v1/mentions/nvidia"},"updated_at":"2026-11-02T14:13:31+00:00"},"meta":{"source":"AI & Robotics Directory","source_url":"https://airoboticsdirectory.com/companies/nvidia/","data_updated":"2026-11-02","mentions_generated":"2026-11-02","license":"CC BY 4.0","citation":"AI & Robotics Directory, \"NVIDIA\", https://airoboticsdirectory.com/companies/nvidia/ (data 2026-11-02, CC BY 4.0)","sample":true},"disclaimer":"Informational only. Not investment advice, not a recommendation or signal. Data from public sources (SEC EDGAR, Yahoo Finance, ETF issuer files) may be delayed or wrong; check the linked primary sources."}}}},"304":{"description":"Not modified (If-None-Match matched the ETag)"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/NotInSample"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}},"operationId":"getSampleCompany","tags":["Free"]}},"/api/v1/sample/mentions/{slug}":{"get":{"summary":"Sample mention history","description":"Same shape as /api/v1/mentions/{slug}.\n\nFree.","security":[],"parameters":[{"name":"slug","in":"path","description":"One of: nvidia, tesla, intuitive-surgical","required":true,"schema":{"type":"string","enum":["nvidia","tesla","intuitive-surgical"]}}],"responses":{"200":{"description":"OK","headers":{"ETag":{"description":"Entity tag (send If-None-Match for 304)","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"304":{"description":"Not modified (If-None-Match matched the ETag)"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/NotInSample"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}},"operationId":"getSampleMentionHistory","tags":["Free"]}},"/api/v1/sample/mentions":{"get":{"summary":"Sample leaderboard","description":"Same as /api/v1/mentions, limited to 5 rows.\n\nFree.","security":[],"parameters":[{"name":"sort","in":"query","description":"rate or change","required":false,"schema":{"type":"string","enum":["rate","change"]}},{"name":"group","in":"query","description":"Term group","required":false,"schema":{"type":"string","enum":["ai","robots","physical"],"default":"ai"}}],"responses":{"200":{"description":"OK","headers":{"ETag":{"description":"Entity tag (send If-None-Match for 304)","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"304":{"description":"Not modified (If-None-Match matched the ETag)"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/NotInSample"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}},"operationId":"getSampleMentionLeaderboard","tags":["Free"]}},"/api/v1/sample/exposure/{slug}":{"get":{"summary":"Sample ETF exposure","description":"Same shape as /api/v1/exposure/{slug}.\n\nFree.","security":[],"parameters":[{"name":"slug","in":"path","description":"One of: nvidia, tesla, intuitive-surgical","required":true,"schema":{"type":"string","enum":["nvidia","tesla","intuitive-surgical"]}}],"responses":{"200":{"description":"OK","headers":{"ETag":{"description":"Entity tag (send If-None-Match for 304)","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"304":{"description":"Not modified (If-None-Match matched the ETag)"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/NotInSample"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}},"operationId":"getSampleExposure","tags":["Free"]}},"/api/v1/sample/etfs/{ticker}":{"get":{"summary":"Sample ETF holdings","description":"Same shape as /api/v1/etfs/{ticker}.\n\nFree.","security":[],"parameters":[{"name":"ticker","in":"path","description":"One of: BOTZ","required":true,"schema":{"type":"string","enum":["BOTZ"]}}],"responses":{"200":{"description":"OK","headers":{"ETag":{"description":"Entity tag (send If-None-Match for 304)","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"},"example":{"data":{"ticker":"BOTZ","name":"Global X Robotics & Artificial Intelligence ETF","issuer":"Global X","url":"https://www.globalxetfs.com/funds/botz/","holdings_source":"globalx","coverage":"full","holdings_as_of":"2026-10-30","holdings_source_url":"https://assets.globalxetfs.com/funds/holdings/botz_full-holdings_20261030.csv","total_assets":3334113536,"close":32.22,"close_date":"2026-10-30","chg_1w_pct":-2.42,"quote_url":"https://finance.yahoo.com/quote/BOTZ/","directory_companies":[{"slug":"intuitive-surgical","name":"Intuitive Surgical","weight_pct":9.9,"url":"https://airoboticsdirectory.com/companies/intuitive-surgical/"},{"slug":"keyence","name":"Keyence","weight_pct":8.62,"url":"https://airoboticsdirectory.com/companies/keyence/"}],"holdings_count":81,"top_holdings":[{"symbol":"ISRG","name":"INTUITIVE SURGICAL INC","weight_pct":9.9},{"symbol":"6861 JP","name":"KEYENCE CORP","weight_pct":8.62}]},"meta":{"source":"AI & Robotics Directory","source_url":"https://airoboticsdirectory.com/","data_updated":"2026-11-02","mentions_generated":"2026-11-02","license":"CC BY 4.0","citation":"AI & Robotics Directory, https://airoboticsdirectory.com/ (data 2026-11-02, CC BY 4.0)","sample":true},"disclaimer":"Informational only. Not investment advice, not a recommendation or signal. Data from public sources (SEC EDGAR, Yahoo Finance, ETF issuer files) may be delayed or wrong; check the linked primary sources."}}}},"304":{"description":"Not modified (If-None-Match matched the ETag)"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/NotInSample"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}},"operationId":"getSampleEtf","tags":["Free"]}},"/api/v1/sample/changes":{"get":{"summary":"Sample changes","description":"Same as /api/v1/changes, limited to nvidia, tesla, intuitive-surgical.\n\nFree.","security":[],"parameters":[{"name":"since","in":"query","description":"YYYY-MM-DD","required":true,"schema":{"type":"string","format":"date"}},{"name":"companies","in":"query","description":"Comma-separated slugs","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","headers":{"ETag":{"description":"Entity tag (send If-None-Match for 304)","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"304":{"description":"Not modified (If-None-Match matched the ETag)"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/NotInSample"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}},"operationId":"getSampleChanges","tags":["Free"]}},"/api/v1/sample/screen":{"get":{"summary":"Sample screen","description":"Same as /api/v1/screen, limited to 5 rows.\n\nFree.","security":[],"parameters":[{"name":"category","in":"query","description":"Category slug","required":false,"schema":{"type":"string"}},{"name":"group","in":"query","description":"Term group","required":false,"schema":{"type":"string","enum":["ai","robots","physical"],"default":"ai"}}],"responses":{"200":{"description":"OK","headers":{"ETag":{"description":"Entity tag (send If-None-Match for 304)","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"304":{"description":"Not modified (If-None-Match matched the ETag)"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/NotInSample"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}},"operationId":"sampleScreenCompanies","tags":["Free"]}},"/api/v1/sample/places":{"get":{"summary":"Sample place search","description":"Same as /api/v1/places, limited to 5 rows.\n\nFree.","security":[],"parameters":[{"name":"near","in":"query","description":"\"lat,lng\" in decimal degrees, e.g. 39.74,-104.99","required":false,"schema":{"type":"string","example":"39.74,-104.99"}},{"name":"radius_km","in":"query","description":"Radius around near in km (default 100, max 20000; needs near)","required":false,"schema":{"type":"number","default":100}},{"name":"type","in":"query","description":"Place type","required":false,"schema":{"type":"string","enum":["robotaxi","restaurant","museum","showroom","factory-tour","delivery-robots","event"]}},{"name":"country","in":"query","description":"Country name or ISO 3166-1 alpha-2 code","required":false,"schema":{"type":"string","example":"US"}}],"responses":{"200":{"description":"OK","headers":{"ETag":{"description":"Entity tag (send If-None-Match for 304)","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"304":{"description":"Not modified (If-None-Match matched the ETag)"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/NotInSample"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}},"operationId":"sampleSearchPlaces","tags":["Free"]}},"/api/v1/sample/places/{slug}":{"get":{"summary":"Sample place","description":"Same shape as /api/v1/places/{slug}.\n\nFree.","security":[],"parameters":[{"name":"slug","in":"path","description":"One of: waymo-robotaxi-denver, computer-history-museum-ai-robotics-gallery, automate","required":true,"schema":{"type":"string","enum":["waymo-robotaxi-denver","computer-history-museum-ai-robotics-gallery","automate"]}}],"responses":{"200":{"description":"OK","headers":{"ETag":{"description":"Entity tag (send If-None-Match for 304)","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"},"example":{"data":{"slug":"waymo-robotaxi-denver","name":"Waymo robotaxi: Denver","type":"robotaxi","operator":"Waymo","what_you_can_see":"Fully driverless Waymo ride-hailing in an initial service area of about 60 square miles, including downtown, RiNo, Capitol Hill and Cherry Creek. Book in the Waymo app.","address":"","city":"Denver","region":"Colorado","country":"United States","country_code":"US","website":"https://waymo.com/rides/","booking_url":"","cost":"paid","access_notes":"Download the Waymo app; Waymo lists the city as open to all riders. Check the app for the current service area, airports and freeways.","event":null,"sources":["https://waymo.com/faq/","https://support.google.com/waymo/announcements/12766613?hl=en"],"last_verified":"2026-10-15","status":"open","lat":39.73924,"lng":-104.98486,"geo_precision":"city","url":"https://airoboticsdirectory.com/places/waymo-robotaxi-denver/","companies":[]},"meta":{"source":"AI & Robotics Directory","source_url":"https://airoboticsdirectory.com/places/waymo-robotaxi-denver/","places_updated":"2026-10-27","license":"CC BY 4.0","citation":"AI & Robotics Directory, \"Waymo robotaxi: Denver\", https://airoboticsdirectory.com/places/waymo-robotaxi-denver/ (checked 2026-10-15, CC BY 4.0)","sample":true},"disclaimer":"Informational only. Listing a place is not an endorsement and the directory has no relationship with the venues unless stated. Service areas, access, prices and dates change; check the official website and the linked sources before visiting. Hours are not listed."}}}},"304":{"description":"Not modified (If-None-Match matched the ETag)"},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/NotInSample"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}},"operationId":"getSamplePlace","tags":["Free"]}},"/api/v1/companies/{slug}":{"get":{"summary":"Company snapshot","description":"Description, facts with source URLs and as-of dates, ETF membership, recent SEC filings and latest Mention Index stats.\n\nPaid: about $0.01 USDC per call via x402, or an X-API-Key header. Free sample: /api/v1/sample/companies/{slug}.","security":[{"apiKey":[]},{"x402":[]}],"parameters":[{"name":"slug","in":"path","description":"Company slug (see GET /api/v1/companies)","required":true,"schema":{"type":"string","example":"nvidia"}}],"x-payment-info":{"protocol":"x402","price_usd":0.01,"enabled":false},"responses":{"200":{"description":"OK","headers":{"ETag":{"description":"Entity tag (send If-None-Match for 304)","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/InvalidApiKey"},"402":{"$ref":"#/components/responses/PaymentRequired"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"$ref":"#/components/responses/PaidAccessComingSoon"}},"operationId":"getCompany","tags":["Paid"]}},"/api/v1/mentions/{slug}":{"get":{"summary":"Mention history","description":"Every counted SEC filing: form, date, URL, word count, raw counts, rate per 10,000 words and change vs the prior comparable filing.\n\nPaid: about $0.01 USDC per call via x402, or an X-API-Key header. Free sample: /api/v1/sample/mentions/{slug}.","security":[{"apiKey":[]},{"x402":[]}],"parameters":[{"name":"slug","in":"path","description":"Company slug (see GET /api/v1/companies)","required":true,"schema":{"type":"string","example":"nvidia"}}],"x-payment-info":{"protocol":"x402","price_usd":0.01,"enabled":false},"responses":{"200":{"description":"OK","headers":{"ETag":{"description":"Entity tag (send If-None-Match for 304)","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/InvalidApiKey"},"402":{"$ref":"#/components/responses/PaymentRequired"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"$ref":"#/components/responses/PaidAccessComingSoon"}},"operationId":"getMentionHistory","tags":["Paid"]}},"/api/v1/mentions":{"get":{"summary":"Mention leaderboard","description":"Companies ranked by latest rate or by change vs the prior comparable filing.\n\nPaid: about $0.01 USDC per call via x402, or an X-API-Key header. Free sample: /api/v1/sample/mentions.","security":[{"apiKey":[]},{"x402":[]}],"parameters":[{"name":"sort","in":"query","description":"rate or change","required":false,"schema":{"type":"string","enum":["rate","change"],"default":"rate"}},{"name":"group","in":"query","description":"Term group","required":false,"schema":{"type":"string","enum":["ai","robots","physical"],"default":"ai"}},{"name":"limit","in":"query","description":"Max rows (default 25, max 100)","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":25}}],"x-payment-info":{"protocol":"x402","price_usd":0.01,"enabled":false},"responses":{"200":{"description":"OK","headers":{"ETag":{"description":"Entity tag (send If-None-Match for 304)","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/InvalidApiKey"},"402":{"$ref":"#/components/responses/PaymentRequired"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"$ref":"#/components/responses/PaidAccessComingSoon"}},"operationId":"getMentionLeaderboard","tags":["Paid"]}},"/api/v1/changes":{"get":{"summary":"Changes since a date","description":"New SEC filings and new Mention Index filings since a date.\n\nPaid: about $0.01 USDC per call via x402, or an X-API-Key header. Free sample: /api/v1/sample/changes.","security":[{"apiKey":[]},{"x402":[]}],"parameters":[{"name":"since","in":"query","description":"YYYY-MM-DD","required":true,"schema":{"type":"string","format":"date"}},{"name":"companies","in":"query","description":"Comma-separated slugs (default: all, max 60)","required":false,"schema":{"type":"string"}}],"x-payment-info":{"protocol":"x402","price_usd":0.01,"enabled":false},"responses":{"200":{"description":"OK","headers":{"ETag":{"description":"Entity tag (send If-None-Match for 304)","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/InvalidApiKey"},"402":{"$ref":"#/components/responses/PaymentRequired"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"$ref":"#/components/responses/PaidAccessComingSoon"}},"operationId":"getChanges","tags":["Paid"]}},"/api/v1/etfs/{ticker}":{"get":{"summary":"ETF holdings","description":"Holdings of a tracked ETF (BOTZ, AIQ, ARKQ, ROBO, SMH, SOXX, KOID, HUMN, GRID): directory companies with weights, top holdings, as-of date and issuer source file.\n\nPaid: about $0.01 USDC per call via x402, or an X-API-Key header. Free sample: /api/v1/sample/etfs/BOTZ.","security":[{"apiKey":[]},{"x402":[]}],"parameters":[{"name":"ticker","in":"path","description":"ETF ticker","required":true,"schema":{"type":"string","example":"BOTZ"}}],"x-payment-info":{"protocol":"x402","price_usd":0.01,"enabled":false},"responses":{"200":{"description":"OK","headers":{"ETag":{"description":"Entity tag (send If-None-Match for 304)","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/InvalidApiKey"},"402":{"$ref":"#/components/responses/PaymentRequired"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"$ref":"#/components/responses/PaidAccessComingSoon"}},"operationId":"getEtf","tags":["Paid"]}},"/api/v1/exposure/{slug}":{"get":{"summary":"ETF exposure","description":"Tracked ETFs that hold a company, with weights, as-of dates and source files.\n\nPaid: about $0.01 USDC per call via x402, or an X-API-Key header. Free sample: /api/v1/sample/exposure/{slug}.","security":[{"apiKey":[]},{"x402":[]}],"parameters":[{"name":"slug","in":"path","description":"Company slug (see GET /api/v1/companies)","required":true,"schema":{"type":"string","example":"nvidia"}}],"x-payment-info":{"protocol":"x402","price_usd":0.01,"enabled":false},"responses":{"200":{"description":"OK","headers":{"ETag":{"description":"Entity tag (send If-None-Match for 304)","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/InvalidApiKey"},"402":{"$ref":"#/components/responses/PaymentRequired"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"$ref":"#/components/responses/PaidAccessComingSoon"}},"operationId":"getExposure","tags":["Paid"]}},"/api/v1/screen":{"get":{"summary":"Screen companies","description":"Filter by category, listing status, ETF, theme, minimum mention rate or rising mentions.\n\nPaid: about $0.01 USDC per call via x402, or an X-API-Key header. Free sample: /api/v1/sample/screen.","security":[{"apiKey":[]},{"x402":[]}],"parameters":[{"name":"category","in":"query","description":"Category slug","required":false,"schema":{"type":"string","enum":["humanoids","industrial-automation","service-autonomy","ai-chips","compute-power","sensors"]}},{"name":"listed","in":"query","description":"true (public), false (not public) or a listing status","required":false,"schema":{"type":"string"}},{"name":"etf","in":"query","description":"ETF ticker","required":false,"schema":{"type":"string"}},{"name":"theme","in":"query","description":"Theme slug","required":false,"schema":{"type":"string","enum":["physical-ai","ai-capex","power-grid","reshoring","autonomy","sensing"]}},{"name":"min_rate","in":"query","description":"Minimum latest rate (per 10,000 words) in the group","required":false,"schema":{"type":"number"}},{"name":"rising","in":"query","description":"Only companies whose latest rate rose vs the prior comparable filing","required":false,"schema":{"type":"boolean"}},{"name":"group","in":"query","description":"Term group","required":false,"schema":{"type":"string","enum":["ai","robots","physical"],"default":"ai"}},{"name":"limit","in":"query","description":"Max rows (default 50, max 100)","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}}],"x-payment-info":{"protocol":"x402","price_usd":0.01,"enabled":false},"responses":{"200":{"description":"OK","headers":{"ETag":{"description":"Entity tag (send If-None-Match for 304)","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/InvalidApiKey"},"402":{"$ref":"#/components/responses/PaymentRequired"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"$ref":"#/components/responses/PaidAccessComingSoon"}},"operationId":"screenCompanies","tags":["Paid"]}},"/api/v1/places":{"get":{"summary":"Search places","description":"Public places where robotics and AI can be seen in person (89 places: robotaxi service areas, robot cafés, museums, showrooms, factory tours, delivery robots, recurring events). With near, results within radius_km are sorted by straight-line distance and carry distance_km. Places data updated 2026-10-27.\n\nPaid: about $0.01 USDC per call via x402, or an X-API-Key header. Free sample: /api/v1/sample/places.","security":[{"apiKey":[]},{"x402":[]}],"parameters":[{"name":"near","in":"query","description":"\"lat,lng\" in decimal degrees, e.g. 39.74,-104.99","required":false,"schema":{"type":"string","example":"39.74,-104.99"}},{"name":"radius_km","in":"query","description":"Radius around near in km (default 100, max 20000; needs near)","required":false,"schema":{"type":"number","default":100}},{"name":"type","in":"query","description":"Place type","required":false,"schema":{"type":"string","enum":["robotaxi","restaurant","museum","showroom","factory-tour","delivery-robots","event"]}},{"name":"country","in":"query","description":"Country name or ISO 3166-1 alpha-2 code","required":false,"schema":{"type":"string","example":"US"}},{"name":"limit","in":"query","description":"Max rows (default 50, max 200)","required":false,"schema":{"type":"integer","minimum":1,"maximum":200,"default":50}}],"x-payment-info":{"protocol":"x402","price_usd":0.01,"enabled":false},"responses":{"200":{"description":"OK","headers":{"ETag":{"description":"Entity tag (send If-None-Match for 304)","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/InvalidApiKey"},"402":{"$ref":"#/components/responses/PaymentRequired"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"$ref":"#/components/responses/PaidAccessComingSoon"}},"operationId":"searchPlaces","tags":["Paid"]}},"/api/v1/places/{slug}":{"get":{"summary":"Place details","description":"One place: what you can see, address, coordinates and precision, website/booking URL, cost (free/paid/unknown), access notes, event timing, related directory companies, source URLs and last_verified date. Hours are not listed.\n\nPaid: about $0.01 USDC per call via x402, or an X-API-Key header. Free sample: /api/v1/sample/places/{slug}.","security":[{"apiKey":[]},{"x402":[]}],"parameters":[{"name":"slug","in":"path","description":"Place slug (see /places/ or /api/v1/places)","required":true,"schema":{"type":"string","example":"waymo-robotaxi-denver"}}],"x-payment-info":{"protocol":"x402","price_usd":0.01,"enabled":false},"responses":{"200":{"description":"OK","headers":{"ETag":{"description":"Entity tag (send If-None-Match for 304)","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/InvalidApiKey"},"402":{"$ref":"#/components/responses/PaymentRequired"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"$ref":"#/components/responses/PaidAccessComingSoon"}},"operationId":"getPlace","tags":["Paid"]}},"/api/v1/openapi.json":{"get":{"summary":"OpenAPI specification","description":"This document. Free.","security":[],"responses":{"200":{"description":"OpenAPI 3.1 document","content":{"application/json":{"schema":{"type":"object"}}}},"429":{"$ref":"#/components/responses/RateLimited"}},"operationId":"getOpenApi","tags":["Meta"]}}},"components":{"responses":{"BadRequest":{"description":"Bad request: a parameter is missing or invalid. The message says which and what values are allowed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"bad_request","message":"group must be one of ai, robots, physical","docs":"https://airoboticsdirectory.com/developers/","openapi":"https://airoboticsdirectory.com/api/v1/openapi.json"}}}},"NotFound":{"description":"Not found: unknown endpoint, company slug, ETF ticker or place slug.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"not_found","message":"Unknown API endpoint: GET /api/v1/nope. Start at /api/v1 for the list of endpoints.","index":"https://airoboticsdirectory.com/api/v1","free_sample":"https://airoboticsdirectory.com/api/v1/sample","openapi":"https://airoboticsdirectory.com/api/v1/openapi.json","mcp":"https://airoboticsdirectory.com/mcp","docs":"https://airoboticsdirectory.com/developers/"}}}},"RateLimited":{"description":"Rate limited (free tier, about 60 requests per minute per IP). Wait Retry-After seconds.","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Free-tier rate-limit policy (IETF RateLimit-Policy), e.g. \"free\";q=60;w=60","schema":{"type":"string"}},"RateLimit":{"description":"Remaining quota (IETF RateLimit), e.g. \"free\";r=0;t=60","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"rate_limited","message":"Too many requests on the free tier (about 60 per minute per IP). Wait for Retry-After seconds, or use the open data files under /data/, which are not rate limited by the API.","retry_after_seconds":60,"free_data":"https://airoboticsdirectory.com/data/companies.json","docs":"https://airoboticsdirectory.com/developers/"}}}},"NotInSample":{"description":"Not in the free sample: the sample covers a few companies, ETFs and places only.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"not_in_sample","message":"The free sample covers nvidia, tesla, intuitive-surgical. Other companies use the paid endpoint without /sample (paid access coming soon).","sample":["nvidia","tesla","intuitive-surgical"],"sample_index":"https://airoboticsdirectory.com/api/v1/sample","all_companies":"https://airoboticsdirectory.com/api/v1/companies"}}}},"InvalidApiKey":{"description":"Invalid X-API-Key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"invalid_api_key","message":"The X-API-Key header is not a valid key.","docs":"https://airoboticsdirectory.com/developers/"}}}},"PaymentRequired":{"description":"Payment required (x402 v2). Body is the PaymentRequired object; the same data is base64-encoded in the PAYMENT-REQUIRED header. Retry with a PAYMENT-SIGNATURE header. The bazaar extension carries discovery metadata (input/output schema).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequired"}}}},"PaidAccessComingSoon":{"description":"Paid access not enabled yet (\"paid access coming soon\"). Use free_equivalent or /api/v1/sample.","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"payment_unavailable","message":"Paid access coming soon. Use the free sample endpoints in the meantime.","status":"coming_soon","free_sample":"https://airoboticsdirectory.com/api/v1/sample","free_equivalent":"https://airoboticsdirectory.com/api/v1/sample/companies/nvidia","free_equivalent_note":"Same response shape, limited to the sample companies, ETFs and places (see free_sample) or 5 rows.","mcp_free_tools":["list_companies","sample_company","sample_places","api_info"],"free_data":["https://airoboticsdirectory.com/data/companies.json","https://airoboticsdirectory.com/data/mentions.json","https://airoboticsdirectory.com/data/places.json"],"docs":"https://airoboticsdirectory.com/developers/"}}}}},"securitySchemes":{"apiKey":{"type":"apiKey","in":"header","name":"X-API-Key","description":"Key for the monthly plan (not yet on sale)."},"x402":{"type":"apiKey","in":"header","name":"PAYMENT-SIGNATURE","description":"x402 v2 payment payload (base64 JSON), sent after a 402 response. See https://docs.x402.org"}},"schemas":{"Envelope":{"type":"object","required":["data","meta","disclaimer"],"properties":{"data":{"description":"Endpoint payload"},"meta":{"type":"object","properties":{"source":{"type":"string"},"source_url":{"type":"string"},"data_updated":{"type":"string"},"places_updated":{"type":"string"},"mentions_generated":{"type":"string"},"license":{"type":"string"},"citation":{"type":"string"},"sample":{"type":"boolean"}}},"disclaimer":{"type":"string"}}},"Error":{"type":"object","required":["error","message"],"additionalProperties":true,"description":"Every error is JSON with a machine-readable code, a human-readable message and links to the next step.","properties":{"error":{"type":"string","enum":["bad_request","not_found","not_in_sample","invalid_api_key","payment_unavailable","rate_limited","internal_error"],"description":"Machine-readable error code"},"message":{"type":"string","description":"What went wrong and what to do next"},"docs":{"type":"string","format":"uri"},"openapi":{"type":"string","format":"uri"},"index":{"type":"string","format":"uri"},"free_sample":{"type":"string","format":"uri","description":"Free sample endpoints"},"free_equivalent":{"type":"string","format":"uri","description":"The /sample version of the requested paid endpoint"},"free_data":{"oneOf":[{"type":"string","format":"uri"},{"type":"array","items":{"type":"string","format":"uri"}}]},"mcp_free_tools":{"type":"array","items":{"type":"string"}},"sample":{"type":"array","items":{"type":"string"},"description":"Slugs or tickers covered by the free sample"},"retry_after_seconds":{"type":"integer"}}},"PaymentRequired":{"type":"object","description":"x402 v2 PaymentRequired","properties":{"x402Version":{"type":"integer","const":2},"error":{"type":"string"},"resource":{"type":"object","properties":{"url":{"type":"string"},"description":{"type":"string"},"mimeType":{"type":"string"}}},"accepts":{"type":"array","items":{"type":"object","properties":{"scheme":{"type":"string"},"network":{"type":"string"},"amount":{"type":"string"},"asset":{"type":"string"},"payTo":{"type":"string"},"maxTimeoutSeconds":{"type":"integer"},"extra":{"type":"object"}}}}}}}},"x-mcp":{"url":"https://airoboticsdirectory.com/mcp","transport":"streamable-http","server_card":"https://airoboticsdirectory.com/mcp/server-card"},"tags":[{"name":"Meta","description":"API index and this specification."},{"name":"Free","description":"Free endpoints: no key, no payment. Rate limited to about 60 requests per minute per IP."},{"name":"Paid","description":"Paid per call via x402 (HTTP 402) or an X-API-Key header. Returns 503 \"paid access coming soon\" until payments are enabled; each has a free /sample equivalent."}]}