All Projects → apis-is → Apis

apis-is / Apis

Licence: mit
Making data readily available to anyone interested

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Apis

Ckan
CKAN is an open-source DMS (data management system) for powering data hubs and data portals. CKAN makes it easy to publish, share and use data. It powers catalog.data.gov, open.canada.ca/data, data.humdata.org among many other sites.
Stars: ✭ 3,223 (+2153.85%)
Mutual labels:  api, data
Rtimes
R wrapper for NYTimes API for government data - ABANDONED
Stars: ✭ 55 (-61.54%)
Mutual labels:  api, data
React Refetch
A simple, declarative, and composable way to fetch data for React components
Stars: ✭ 3,418 (+2290.21%)
Mutual labels:  api, data
Taxize
A taxonomic toolbelt for R
Stars: ✭ 209 (+46.15%)
Mutual labels:  api, data
Zhihu Oauth
尝试解析出知乎官方未开放的 OAuth2 接口,并提供优雅的使用方式,作为 zhihu-py3 项目的替代者,目前还在实验阶段
Stars: ✭ 1,237 (+765.03%)
Mutual labels:  api, data
Wikibase Sdk
JS utils functions to query a Wikibase instance and simplify its results
Stars: ✭ 251 (+75.52%)
Mutual labels:  api, data
Generator Http Fake Backend
Yeoman generator for building a fake backend by providing the content of JSON files or JavaScript objects through configurable routes.
Stars: ✭ 49 (-65.73%)
Mutual labels:  api, data
Octo Cli
CLI tool to expose data from any database as a serverless web service.
Stars: ✭ 653 (+356.64%)
Mutual labels:  api, data
Hydrogen
🎈 Hydrogen. Voted (by me) the world's lightest static-site generator built with TypeScript ❤ It uses 🔥 lit-html inspired templating for super duper performant template generation.
Stars: ✭ 80 (-44.06%)
Mutual labels:  api, data
Covid19
JSON time-series of coronavirus cases (confirmed, deaths and recovered) per country - updated daily
Stars: ✭ 1,177 (+723.08%)
Mutual labels:  api, data
Pygeoapi
pygeoapi is a Python server implementation of the OGC API suite of standards. The project emerged as part of the next generation OGC API efforts in 2018 and provides the capability for organizations to deploy a RESTful OGC API endpoint using OpenAPI, GeoJSON, and HTML. pygeoapi is open source and released under an MIT license.
Stars: ✭ 178 (+24.48%)
Mutual labels:  api, data
Rgbif
Interface to the Global Biodiversity Information Facility API
Stars: ✭ 113 (-20.98%)
Mutual labels:  api, data
Ncov2019 data crawler
疫情数据爬虫,2019新型冠状病毒数据仓库,轨迹数据,同乘数据,报道
Stars: ✭ 175 (+22.38%)
Mutual labels:  api, data
Http Fake Backend
Build a fake backend by providing the content of JSON files or JavaScript objects through configurable routes.
Stars: ✭ 253 (+76.92%)
Mutual labels:  api, data
Fredr
An R client for the Federal Reserve Economic Data (FRED) API
Stars: ✭ 61 (-57.34%)
Mutual labels:  api, data
Core
Open source Dota 2 data platform
Stars: ✭ 1,266 (+785.31%)
Mutual labels:  api, data
Reddit Detective
Play detective on Reddit: Discover political disinformation campaigns, secret influencers and more
Stars: ✭ 129 (-9.79%)
Mutual labels:  api, data
Js Libs
A collection of JavaScript libraries for Ethereum dapp development.
Stars: ✭ 141 (-1.4%)
Mutual labels:  api
Free Apis
free APIs. 工作和学习过程中收集的实用的免费 API 集合。
Stars: ✭ 142 (-0.7%)
Mutual labels:  api
Tables.jl
An interface for tables in Julia
Stars: ✭ 141 (-1.4%)
Mutual labels:  data

APIs.is - Making data pretty since 2012!

Codeship Greenkeeper badge

The purpose of APIs.is is to make data readily available to anyone interested. All data that is delivered through APIs.is is JSON formatted and scraped from open public websites.

The code that is running the service is open source under the MIT licence. The platform itself is hosted on a load balanced setup by Advania.

Don't hesitate to lend a hand - All knowledge and help is much appreciated!

Maintainers

@kristjanmik

@benediktvaldez

@koddsson

@MiniGod

Running locally

To run the project locally, first clone this repository...

$ git clone https://github.com/apis-is/apis.git

.... install the dependencies and run the project.

$ npm install
[Bunch of output]
$ npm run

Tests

To run the tests:

$ npm test

The tests utilize a man-in-the-middle library called nock that intercepts requests that the tests made and respond with data from disk. The data was generated using the record feature and saved in mock-data.json.

If a endpoints data source has changed and the we need to re-record this data we can simply set the env variable RECORD_MOCK_DATA to a truthy value and run the tests. This will disable nock in the tests and make requests to each endpoints data source and save that to disk.

RECORD_MOCK_DATA=true npm test

Newly added endpoints should mock the endpoints data source using the nock API since this initial data mocking was only made to help migrate to a mocking library. See the original PR for more info.

Adding a new Endpoint

Step by Step

  1. View current endpoints for structure and hierarchy.
  2. Add a new folder to the endpoints/ directory with the name of your endpoint.
  3. The file will be loaded automatically. Remember to require the server. Bare minimum example endpoint:
const app = require('../../server');

app.get('/path', (req,res) => {
  //Sends out empty json object
  return res.json({});
});

Additional requirements

Add integration tests to the endpoint by creating a file called integration_test.js inside a tests/ folder within your endpoint directory. For reference, please take a look at one of the integration tests.

Add documentation for your endpoint to the gh-pages branch of this repo.

More servers

To ensure close to zero downtime, the plan is to start up more workers/servers around the world so that projects relying on this service will not be affected. Want to help out with that? Feel free to contact us by opening a issue.

Helpful pointers

  • Endpoints can implement any node module, but try to use the ones that are already included in the project.
  • Information on how to handle requests and responses can be found here.
  • It is much appreciated that endpoints are thoroughly documented and written with care.
  • Issues are managed by the GitHub issue tracker.
  • Have fun and eat some cake! (preferrably just some plain vanilla cake, but whatever floats your boat)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].