AI 에이전트가 웹을 읽기 위해 사용할 수 있는 11가지 무료 API (키 불필요)
요약
AI 에이전트가 별도의 API 키나 비용 없이 웹 데이터를 읽고 사실 관계를 확인할 수 있도록 돕는 11가지 무료 REST API를 소개합니다. Jina Reader와 Microlink 등 에이전트의 '읽기 및 근거 제시(read-and-ground)' 도구 레이어를 구축하는 데 유용한 엔드포인트들을 다룹니다.
핵심 포인트
- API 키나 신용카드 없이 HTTP GET 요청만으로 사용 가능한 무료 API 목록 제공
- 에이전트가 추론을 넘어 실제 세상의 데이터와 대조할 수 있는 도구 레이어 구축 방법
- Jina Reader를 활용한 웹 페이지의 Markdown 변환 및 데이터 정제
- Microlink를 이용한 페이지 메타데이터 및 구조화된 정보 추출
AI 에이전트가 웹을 읽기 위해 유료 데이터 벤더를 사용할 필요는 없습니다. 이 11가지 REST API는 API 키나 신용카드 없이 단순한 HTTP GET 요청만으로 실제 데이터를 반환합니다. 모든 API는 2026년 7월 1일에 라이브 curl로 재검증되었으며, 아래의 응답은 요약된 것이 아니라 길이를 조절했을 뿐 실제 출력값입니다.
저는 에이전트를 위한 도구 레이어(tool layers)를 구축합니다. 에이전트가 답변하기 전에 페이지를 가져오거나, 사실을 확인하거나, 실시간 수치를 끌어올 수 있게 해주는 배관 역할을 합니다. 이곳에 올린 저의 지난 포스트는 정확히 그 작업을 위해 구축된 MCP web-fetch server였습니다. 따라서 제가 이 11가지가 작동한다고 말할 때, 이는 제가 모든 API에 대해 라이브 curl을 다시 실행하고 실제로 나온 결과값을 그대로 붙여넣었다는 의미입니다. 각 API가 저의 2,190회 프로덕션 스크래퍼 실행 내에서 작동했다고 주장하는 것은 아닙니다. 그것은 거짓말이 될 것입니다. 제가 주장하는 것은, 제가 확인했을 때 각 API가 키 없이 실제 데이터를 반환했으며, 이들을 통하면 에이전트가 답변을 실제 사실에 근거(grounding)시키는 데 필요한 대부분의 기능을 커버할 수 있다는 점입니다.
이 리스트가 아닌 것도 하나 있습니다. 이것은 에이전트가 '생각'하기 위해 호출하는 모델인 무료 LLM 추론 (inference) API 모음이 아닙니다. 이것은 다른 절반인 '읽기 및 근거 제시(read-and-ground)' 도구 레이어, 즉 에이전트가 '가져오기(fetch)'를 위해 호출하는 엔드포인트입니다. 키워드가 다르고, 역할도 다릅니다. 모델은 추론(reasoning)하고, 이것들은 모델이 자신의 추론을 세상과 대조하여 확인할 수 있게 해줍니다.
여기 그 목록이 있습니다.
1. Jina Reader: 모든 URL을 깔끔한 Markdown으로 변환 (키 불필요)
페이지를 지정하면 내비게이션과 광고 등의 불필요한 요소를 제거하고 LLM이 읽을 수 있는 Markdown을 반환합니다. 이것은 이 주제에 가장 부합하는 항목입니다. 말 그대로 "에이전트가 웹 페이지를 읽는 것"입니다.
curl https://r.jina.ai/https://example.com
Title: Example Domain
URL Source: https://example.com/
...
캐시된 스냅샷에 대한 Warning 라인에 주목하세요. 그것은 장식이 아니라 실제 필드이며, 에이전트 루프에서 페이지를 최신 상태로 취급하기 전에 읽어볼 가치가 있습니다. 키가 필요 없으며 무료 티어에서는 속도 제한(rate-limited)이 적용됩니다. 무료 키를 사용하면 제한이 늘어나지만, 호출을 위해 반드시 필요한 것은 아닙니다.
2. Microlink: 페이지 메타데이터 및 미리보기 (키 불필요)
URL을 보내면 제목(title), 발행인(publisher), 언어(language), 설명(description), 발행일(publish date), 대표 이미지(lead image)와 같은 구조화된 메타데이터(metadata)를 돌려받습니다. 에이전트가 본문 전체를 읽지 않고도 링크에 ‘대해’ 알아야 할 때 유용합니다.
curl "https://api.microlink.io/?url=https://example.com"
{"status":"success","data":{"publisher":"example.com","lang":"en","title":"Example Domain","url":"https://example.com/","date":"2026-06-27T11:26:45.000Z","description":"This domain is for use in documentation examples without needing permission. Avoid use in operations.","image":null,"author":null}}
무료 티어(Free tier)는 카드 등록 없이 하루에 약 50회의 요청이 가능합니다. 링크 미리보기나 "이 페이지가 무엇인가"를 확인하는 프로토타입(prototype) 제작에는 충분하지만, 대규모로 크롤링(crawl)하기에는 부족합니다.
3. Wayback CDX: URL이 이전에 어떤 모습이었는지 (키 불필요)
Internet Archive의 CDX 인덱스는 특정 URL에 대해 보유하고 있는 모든 스냅샷(snapshot)을 타임스탬프(timestamp), HTTP 상태 코드(HTTP status), 콘텐츠 다이제스트(content digest)와 함께 반환합니다. 이를 통해 에이전트는 "이 페이지가 작년에는 뭐라고 했는가"라는 질문에 답하거나, 페이지가 변경되었음을 감지할 수 있습니다.
curl "http://web.archive.org/cdx/search/cdx?url=example.com&output=json&limit=3"
[["urlkey","timestamp","original","mimetype","statuscode","digest","length"],
["com,example)/","20020120142510","http://example.com:80/","text/html","200","HT2DYGA5UKZCPBSFVCV3JOBXGW2G5UUA","1792"],
["com,example)/","20020328012821","http://www.example.com:80/","text/html","200","UY3I2DT2AMWAY6DECFCFYMT5ZOTFHUCH","481"]]
첫 번째 행은 헤더(header)이며, 그 이후의 모든 행은 캡처(capture) 데이터입니다. 키가 필요 없습니다. 속도가 느릴 수 있습니다. 제가 실행했을 때 이 호출은 약 14초가 걸렸으므로, 에이전트에게 충분한 타임아웃(timeout)을 설정하고 과도하게 요청하지 마세요.
4. Wikipedia REST: 근거가 있는 한 단락 요약 (키 불필요)
page/summary 엔드포인트(endpoint)는 기사의 구조화된 추출물인 제목(title), 짧은 설명(short description), 첫 번째 단락(first paragraph), 썸네일(thumbnail)을 반환합니다. 이는 모델이 사실을 주장하기 전에 사실 관계를 확인(grounding)할 수 있는 저렴한 방법입니다.
curl -A "MyAgent/1.0 (you@example.com)" \
"https://en.wikipedia.org/api/rest_v1/page/summary/Web_scraping"
{"title":"Web scraping","description":"Method of extracting data from websites","extract":"Web scraping, web harvesting, or web data extraction is data scraping used for extracting data from websites..."}
키(Key)는 필요 없지만, Wikimedia의 정책은 연락처 정보가 포함된 설명적인 User-Agent를 요구합니다. 이를 전송하세요. 아무런 정보가 없는 기본 User-Agent를 사용하면 속도 제한(rate-limited)을 받거나 차단될 수 있으며, 예의를 갖추는 데 드는 비용은 헤더 하나뿐입니다.
5. DuckDuckGo Instant Answer: 빠른 정의 (키 불필요)
질문을 던지면 출처와 함께 짧은 초록(abstract) 및 관련 주제를 반환합니다. 이는 전체 검색 결과 페이지가 아니라, 종종 당신이 원했던 바로 그 사실을 담고 있는 인스턴트 답변(instant-answer) 박스입니다.
curl "https://api.duckduckgo.com/?q=web+scraping&format=json&no_html=1"
{"Heading":"Web scraping","AbstractSource":"Wikipedia","AbstractURL":"https://en.wikipedia.org/wiki/Web_scraping","Abstract":"Web scraping, web harvesting, or web data extraction is data scraping used for extracting data from websites..."}
키가 필요 없습니다. 주의할 점은 커버리지(coverage)입니다. 많은 쿼리가 빈 Abstract를 반환하는데, 이는 해당 질문에 대한 인스턴트 답변이 없기 때문입니다. 모델에 데이터를 전달하기 전에 빈 문자열인지 확인하세요. 그렇지 않으면 아무 근거도 없는 사실에 기반하여 주장을 하게 될 것입니다.
6. Hacker News (Firebase): 실시간 게시물 및 댓글 스레드 (키 불필요)
공식 HN API는 모든 항목(아이템), 스토리 또는 댓글을 ID별 JSON으로 제공하며, topstories와 같은 목록도 제공합니다. 이는 현재 개발자들이 무엇에 대해 이야기하고 있는지 보여주는 깔끔한 피드(feed)입니다.
curl "https://hacker-news.firebaseio.com/v0/item/8863.json"
{"by":"dhouston","descendants":71,"id":8863,"score":104,"title":"My YC app: Dropbox - Throw away your USB drive","type":"story","url":"http://www.getdropbox.com/u/2/screencast.html"}
해당 ID는 Dropbox의 최초 출시 포스트이며, 여전히 존재하고 가져올 수 있습니다. 인증(Auth)도, 키(Key)도 필요 없습니다. 스레드(Thread)를 읽으려면 kids 배열을 ID별로 순회해야 하며, 이는 많은 작은 호출을 의미하므로 공격적으로 캐싱(Cache)을 수행해야 합니다.
7. GitHub REST (인증 미사용): 리포지토리(repo), 릴리스(release), 파일 메타데이터 (키 불필요)
repos/{owner}/{repo}를 호출하면 별(Stars), 포크(Forks), 오픈 이슈(Open issues), 기본 브랜치(Default branch), 라이선스(License), 설명(Description)을 얻을 수 있습니다. 에이전트는 이를 사용하여 프로젝트의 상태를 읽거나, 최신 릴리스를 확인하거나, 파일의 원시 내용(Raw contents)을 가져오는 데 사용합니다.
curl "https://api.github.com/repos/python/cpython"
{"full_name":"python/cpython","description":"The Python programming language","stargazers_count":73392,"forks_count":34798,"open_issues_count":9438,"language":"Python","default_branch":"main"}
여기에는 솔직한 제한 사항이 있으며, 이는 매우 빠르게 소진됩니다: 인증되지 않은 경우 IP당 시간당 60회 요청입니다. 제가 호출을 실행했을 때 응답 헤더(Response headers)에는 x-ratelimit-limit: 60 및 x-ratelimit-remaining: 56이라고 표시되었습니다. 루프(Loop) 내에서 GitHub을 폴링(Poll)하는 에이전트는 1분 만에 이를 다 써버릴 것입니다. 무료 토큰(Free token)을 사용하면 시간당 5,000회로 늘어나므로, 일시적인 확인 이상의 용도라면 반드시 인증(Authenticate)을 하세요.
8. Open-Meteo: 실제 날씨 및 예보 (키 불필요)
위도(Latitude)와 경도(Longitude)를 제공하면 현재 상태와 예보를 얻을 수 있습니다. 에이전트가 추측하는 대신 실제 날씨에 대해 추론(Reason)해야 할 때 사용할 수 있는 실제 수치입니다.
curl "https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.42¤t_weather=true"
{"latitude":52.52,"longitude":13.42,"current_weather":{"time":"2026-07-01T01:15","temperature":20.3,"windspeed":6.1,"winddirection":28,"weathercode":3}}
키가 필요 없으며 관대합니다. 중요한 주의 사항은 라이선스(License)에 있습니다: 무료 티어(Free tier)는 비상업적(Non-commercial) 용도로만 사용할 수 있습니다. 제품에 포함하여 출시하려면 유료 플랜이 필요합니다. 프로토타입(Prototype)이나 개인용 에이전트에는 괜찮지만, SaaS용으로는 적합하지 않습니다.
9. Frankfurter: ECB의 환율 정보 (키 불필요)
두 통화 간의 환율을 요청하여 유럽 중앙은행 (ECB)의 기준 수치를 가져올 수 있습니다. 깔끔하고 오픈 소스이며, 가격을 변환하거나 무결성을 확인 (sanity-check)해야 하는 에이전트에게 충분합니다.
curl "https://api.frankfurter.dev/v1/latest?base=USD&symbols=EUR"
{"amount":1.0,"base":"USD","date":"2026-06-30","rates":{"EUR":0.87765}}
이 글을 작성하면서 겪은 실시간 주의 사항이 하나 있습니다: 기존의 api.frankfurter.app 호스트가 이제 api.frankfurter.dev로 301 리다이렉트 (301-redirects)됩니다. 동일한 무료 API이며 주소만 바뀐 것입니다. .dev 호스트를 직접 사용하거나, curl -L을 사용하여 리다이렉트를 따르세요. 환율은 영업일 기준 하루에 한 번 업데이트되므로, 장중 변동 (intraday ticks)은 기대하지 마세요.
10. Open Library: 제목 또는 저자별 도서 메타데이터 (키 불필요)
도서를 검색하여 제목, 저자, 출판 연도, ISBN을 가져올 수 있습니다. fields 파라미터를 사용하면 페이로드 (payload)를 작게 유지할 수 있는데, 이는 응답 데이터가 토큰 예산 (token budget)에 영향을 미칠 때 중요합니다.
curl "https://openlibrary.org/search.json?q=the+lord+of+the+rings&limit=2&fields=title,author_name"
{"numFound":918,"docs":[
{"author_name":["J.R.R. Tolkien"],"title":"The Lord of the Rings"},
{"author_name":["J.R.R. Tolkien"],"title":"The Fellowship of the Ring"}]}
키가 필요 없습니다. Open Library는 Wikipedia와 마찬가지로 요청 볼륨을 적절히 유지하고 실제 User-Agent를 설정해 달라고 요청합니다.
11. Openverse: 공개 라이선스 이미지 (키 불필요)
Creative Commons 및 퍼블릭 도메인 (public-domain) 미디어를 검색합니다. 모든 결과에는 라이선스가 포함되어 있어, 에이전트가 출처 표기 (attribution)를 포함하여 실제로 사용 가능한 이미지를 선택할 수 있습니다.
curl "https://api.openverse.org/v1/images/?q=cat&page_size=2"
{"result_count":240,"results":[
{"id":"3d32b0c5-58b3-4e38-b034-cd6c8d674d73","title":"cat in the sun",
"license":"by","license_version":"2.0","creator":"fidber",
...
license 필드가 핵심입니다: by는 CC BY를 의미하므로, 에이전트는 fidber를 명시해야 함을 알 수 있습니다. 익명 사용을 위해 키가 필요 없습니다. 무료 토큰을 사용하면 속도 제한 (rate limit)이 완화되지만, 토큰 없이도 시작할 수 있습니다.
주의 사항 (The catch)
키가 없다는 것이 무제한이라는 뜻은 아닙니다. 프로덕션 (production) 환경에서 429 (Too Many Requests) 에러를 마주하며 배우기보다는, 이 문단을 통해 미리 배우시길 바랍니다.
이들 각각에는 제한이 있습니다. GitHub은 인증되지 않은 사용자에게 시간당 60개의 요청을 허용합니다. Microlink는 무료 티어 (free tier)에서 하루 약 50개 정도입니다. Open-Meteo는 비상업적 용도로만 무료입니다. 나머지는 엄격하게 공표된 상한선보다는 소프트한, 정중한 사용 기대치에 의존합니다. 이는 "키가 없다"는 말이 사실상 "남용하기 전까지만 키가 없다"는 뜻이며, 남용할 경우 IP에 의해 스로틀링 (throttling)되거나 차단될 수 있음을 의미합니다. 실제 User-Agent를 전송하고, 가능한 것은 캐싱 (cache)하며, 타임아웃 (timeout)을 추가하세요. 적어도 이 중 하나(Wayback)는 저에게 응답하는 데 14초나 걸렸으니까요.
무료 티어는 변동되기도 합니다. Frankfurter의 호스트는 이 포스트를 분석하는 시점과 작성하는 시점 사이에 변경되었습니다. 이것이 바로 제가 이 서비스들이 영구적이라고 가장하는 대신, 상단에 "2026년 7월 검증됨"이라고 적어둔 이유입니다. 중요한 시스템에 연결하기 전에, 직접 curl을 실행해 보고 현재 약관을 읽어보세요. 그리고 실제 프로덕션 부하 (production load)를 위해서는 솔직한 답이 보통 동일합니다: 제한을 높이기 위해 가능한 경우 무료 키를 받고, 상업적으로 출시할 때는 유료 티어를 결제하거나, 오픈 소스 (open-source) 모델을 직접 호스팅하세요 (Frankfurter, Open-Meteo, 그리고 Archive 도구들은 모두 오픈 소스입니다). 이 리스트는 빠른 시작을 위한 것이지, 공짜 점심이 아닙니다.
정리하자면: 11개의 엔드포인트 (endpoints), 키 없음, 카드 불필요, 실제 데이터, 실시간 확인 완료. 여러분은 어떤 키 없는 API를 이 리스트에 추가하고 싶으신가요? 저는 도구 레이어 (tool layer)를 위해 이 목록을 계속 업데이트하고 있는데, 제가 놓치고 있다고 자주 듣는 것은 실제 트래픽을 견뎌내는 괜찮은 무료 지오코더 (geocoder)입니다. 만약 버텨낼 만한 것이 있다면 댓글로 남겨주세요. 모든 답글을 읽고 직접 테스트해 보겠습니다.
작성자: Aleksei Spinov. 저는 웹 스크래핑 (web-scraping) 및 에이전트 도구 레이어를 구축하고 있으며, 현재 프로덕션 환경에서 32개의 액터 (actors)를 통해 2,190회의 실행을 수행하고 있습니다. 위의 모든 API는 게시 전 2026년 7월 1일에 실시간 curl (HTTP 200, 실제 응답)을 통해 재검증되었습니다. 응답 내용은 의역하지 않고 다듬기만 했습니다. AI 어시스턴트와 함께 초안을 작성하였으며, 제가 직접 사실 확인 및 편집을 완료했습니다.
에이전트 도구 계층 (agent tool layer)을 위해 제가 테스트할 다음 키리스 (keyless) 도구 모음도 계속 팔로우해 주세요. 그리고 이 목록에 추가하고 싶은 무료 API가 있다면 저에게 알려주세요. 계속 수집하고 있습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기