OpenAPI Directory & API Specs Scraper (APIs.guru)
Pricing
from $0.50 / 1,000 results
OpenAPI Directory & API Specs Scraper (APIs.guru)
$0.5/1K π₯ OpenAPI directory scraper! 2500+ APIs with machine-readable spec URLs, providers & categories. No key. JSON, CSV, Excel or API in seconds. Automate integration research β‘
Pricing
from $0.50 / 1,000 results
Rating
0.0
(0)
Developer
ninhothedev
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
OpenAPI Directory & API Specs Scraper (APIs.guru) β 2,500+ APIs, No API Key
Scrape the APIs.guru OpenAPI directory β the largest open, machine-readable index of public REST APIs β into a clean dataset. One row per API with the OpenAPI/Swagger spec URL (JSON + YAML), all published versions, the provider, categories, contact, license, terms, logo and β optionally β the actual path and operation counts parsed from the spec itself.
No API key. No login. No proxy required.
Why this actor
APIs.guru is the "Wikipedia for Web APIs": ~2,529 APIs, ~3,992 specs and ~108,000 endpoints, kept in sync with the upstream providers (AWS, Azure, Google, Twilio, Adyen, GitHub, eBay, Stripe-likes, government open data and hundreds more). This actor turns that directory into a flat, spreadsheet-friendly dataset you can filter, join and feed into code generators.
How is this different from public-apis-scraper?
| openapi-directory-scraper (this actor) | public-apis-scraper | |
|---|---|---|
| Source | APIs.guru /v2/list.json β a machine-readable OpenAPI directory | The public-apis curated markdown list on GitHub |
| Per-API data | Actual OpenAPI/Swagger spec URLs (JSON + YAML), spec version (2.0 / 3.x), every published version, spec origin URL, license, terms, contact, logo | Name, description, auth type, HTTPS/CORS flag, doc link |
| Machine usable | Yes β spec URLs can be fed straight into codegen / linting / mocking | No β human-curated links only |
| Endpoint counts | Optional: downloads each spec and counts paths + operations | Not available |
| Scale | ~2,500 APIs, ~4,000 specs, 677 providers | ~1,400 curated entries |
They complement each other: use public-apis-scraper to discover free APIs a human curated, use this actor when you need the actual specs to build against.
Use cases
- API discovery β find every public API in a category (
cloud,financial,payment,ecommerce,open_data,messaging,machine_learning) with a real, downloadable spec. - Integration research β compare providers, check which spec version (Swagger 2.0 vs OpenAPI 3.x) an API ships, and grab licensing/terms links before you commit.
- SDK generation pipelines β feed
spec_urlinto openapi-generator, Speakeasy, Fern, Kiota or Prism to auto-build clients, mocks and test suites for hundreds of APIs at once. - Competitive API analysis β measure API surface size (
path_count,operation_count) across competitors, track how many services a provider publishes, and monitorupdatedtimestamps for API churn.
Input
| Field | Type | Default | Description |
|---|---|---|---|
mode | select | apis | apis = the full OpenAPI directory (one item per API). providers = the provider list with API counts. |
providerFilter | string | β | Keep one provider only, e.g. azure.com, googleapis.com, amazonaws.com, twilio.com. |
categoryFilter | string | β | Keep one APIs.guru category, e.g. cloud, financial, developer_tools. |
searchQuery | string | β | Case-insensitive substring over API id, title and description, e.g. payment, weather. |
countEndpoints | boolean | false | Download each preferred spec and count paths + operations. One extra request per API, specs can be multi-MB β much slower. |
maxItems | integer | 500 | Cap on pushed items (max 5,000). |
Filters combine with AND.
Example input
{"mode": "apis","categoryFilter": "financial","searchQuery": "payment","countEndpoints": false,"maxItems": 200}
Output
{"type": "api","api_id": "1forge.com","provider": "1forge.com","service": null,"title": "1Forge Finance APIs","description": "Stock and Forex Data and Realtime Quotes","preferred_version": "0.0.1","version_count": 1,"all_versions": ["0.0.1"],"openapi_version": "2.0","spec_url": "https://api.apis.guru/v2/specs/1forge.com/0.0.1/swagger.json","spec_yaml_url": "https://api.apis.guru/v2/specs/1forge.com/0.0.1/swagger.yaml","origin_url": "http://1forge.com/openapi.json","origin_format": "swagger","categories": ["financial"],"logo_url": "https://api.apis.guru/v2/cache/logo/https_1forge.com_assets_images_f-blue.svg","contact_name": "1Forge","contact_email": "contact@1forge.com","contact_url": "http://1forge.com","license_name": null,"license_url": null,"terms_url": null,"external_docs_url": null,"homepage": "https://api.apis.guru/v2/specs/1forge.com/0.0.1.json","is_unofficial": false,"added": "2017-05-30T08:34:14Z","updated": "2017-06-27T16:49:57Z","path_count": null,"operation_count": null,"source": "apis.guru","scraped_at": "2026-07-28T18:06:02.869003Z"}
path_count and operation_count are null unless countEndpoints is enabled. With it on, e.g. groundhog-day.com returns path_count: 5, operation_count: 5.
Provider mode items:
{ "type": "provider", "provider": "googleapis.com", "api_count": 281, "source": "apis.guru", "scraped_at": "..." }
All fields are nullable β the upstream directory is community-maintained and not every API ships a license, contact or category.
Pricing
Roughly $0.5 per 1,000 items on Apify compute. The directory is a single 8 MB JSON download, so a full 2,500-API run without enrichment finishes in well under a minute. Enabling countEndpoints adds one HTTP request per API β keep maxItems low when you use it.
Notes & limits
- Data comes from the public
https://api.apis.guru/v2/endpoints; APIs.guru is community-run and specs may lag behind the provider. - Specs larger than 8 MB are skipped during enrichment (counts stay
null). is_unofficial: truemarks the ~25 specs APIs.guru maintains without the provider's blessing.- The actor only reads public, non-personal metadata.
Related actors
- public-apis-scraper β the curated public-apis markdown list
- github-repos-scraper β repo metadata, stars and topics
- software-eol-scraper β end-of-life and support windows
- deps-dev-scraper β package dependency and security data
Local development
pip install -r requirements.txtpython -m src.mainpython tests/test_smoke.py # offline, stdlib only