The "public-apis" repository is a widely-used, community-curated list of free APIs across various domains, maintained by contributors and APILayer. It serves as a valuable resource for developers seeking APIs for different applications. The project is in a robust state with active contributions and regular updates, although it faces challenges related to link integrity and API security.
Recent activities show a focus on adding new APIs and maintaining existing entries, though many submissions lack adherence to guidelines.
Timespan | Opened | Closed | Comments | Labeled | Milestones |
---|---|---|---|---|---|
7 Days | 0 | 0 | 0 | 0 | 0 |
30 Days | 2 | 0 | 0 | 2 | 1 |
90 Days | 19 | 0 | 13 | 19 | 1 |
1 Year | 111 | 80 | 78 | 104 | 1 |
All Time | 637 | 605 | - | - | - |
Like all software activity quantification, these numbers are imperfect but sometimes useful. Comments, Labels, and Milestones refer to those issues opened in the timespan in question.
Developer | Avatar | Branches | PRs | Commits | Files | Changes |
---|---|---|---|---|---|---|
Wesley Haines (kremit) | 0 | 1/0/0 | 0 | 0 | 0 | |
IPQuery (ipqwery) | 0 | 1/0/0 | 0 | 0 | 0 | |
lkchen (lk-chen) | 0 | 0/0/1 | 0 | 0 | 0 | |
Serhat M. Dundar (msdundar) | 0 | 1/0/0 | 0 | 0 | 0 | |
Keiler Guardo Herrera (reliek21) | 0 | 1/0/1 | 0 | 0 | 0 | |
Samuel Ndubuisi (Sammieblz) | 0 | 1/0/0 | 0 | 0 | 0 | |
Dipa Mistre (dipamitro) | 0 | 1/0/0 | 0 | 0 | 0 | |
yousif (yousifj129) | 0 | 1/0/0 | 0 | 0 | 0 | |
Rodrigo Boet (rudmanmrrod) | 0 | 1/0/0 | 0 | 0 | 0 | |
Zuber Khan (zuberkhan01st) | 0 | 1/0/0 | 0 | 0 | 0 | |
None (Rickthedebugger) | 0 | 1/0/0 | 0 | 0 | 0 |
PRs: created by that dev and opened/merged/closed-unmerged during the period
Risk | Level (1-5) | Rationale |
---|---|---|
Delivery | 4 | The project faces significant delivery risks due to a backlog of unresolved issues and a lack of substantial code contributions. With 32 open issues, many older than 30 days, and no recent commits to the master branch, the project's ability to meet its goals is compromised. Issues such as #4000 and #4012 highlight dependency risks with external APIs, further impacting delivery. The absence of structured planning or milestones exacerbates these challenges. |
Velocity | 4 | The project's velocity is at risk due to stagnant development activity. There have been no new commits in the past 25 days, and recent pull requests are either minor or documentation updates, not contributing significantly to progress. The backlog of unresolved issues and the closure of pull requests without merging, such as #4060 and #3928, indicate inefficiencies in the review process and potential misalignment on project priorities. |
Dependency | 5 | Dependency risks are high due to reliance on external APIs that are compromised or malfunctioning, as seen in issues #4000 and #4012. These dependencies pose security threats and reliability concerns, which are critical for the project's functionality. The lack of active maintenance further increases the risk of outdated dependencies causing failures. |
Team | 3 | Team risks are moderate, with potential communication challenges indicated by the lack of comments on issues and the rejection of multiple pull requests without merging. However, there is active participation from contributors, as seen in recent pull request activity. The absence of substantial code contributions might reflect resource constraints or misalignment on priorities rather than team dysfunction. |
Code Quality | 3 | Code quality is moderately at risk due to the focus on documentation updates rather than core codebase improvements. While validation scripts like 'format.py' and 'links.py' emphasize error handling and data integrity, the lack of substantial code changes suggests potential neglect of deeper code quality issues. |
Technical Debt | 4 | Technical debt is accumulating due to unresolved issues and a lack of active development. The focus on minor documentation updates rather than core improvements indicates that technical debt may not be addressed adequately. The absence of recent commits suggests that existing problems remain unresolved, potentially leading to more significant issues over time. |
Test Coverage | 2 | Test coverage appears to be strong based on comprehensive unit tests for format and link validation functions. These tests ensure high code quality by catching errors early in the development process. However, there is no evidence of broader testing practices beyond these areas. |
Error Handling | 2 | Error handling is robust within specific validation scripts like 'format.py' and 'links.py', which systematically check for errors and inconsistencies. This proactive approach reduces technical debt by ensuring data integrity from the outset. However, there is limited information on error handling practices beyond these validation tools. |
The recent activity in the "public-apis" repository shows a steady flow of open issues, with 32 currently open. Many issues involve requests to add or update API links, while others report broken links or compromised APIs. Several issues highlight APIs that are no longer functional, often due to changes in hosting services like Heroku.
Notable anomalies include multiple reports of APIs being used for malvertising (#4000, #3977) and several issues where APIs have been compromised or are redirecting to unwanted sites (#4012, #3984). There is a recurring theme of issues related to outdated or broken API links, particularly those affected by Heroku's pricing changes (#3987, #3384). Additionally, some issues involve contributors seeking guidance on how to contribute effectively (#4043, #4017).
#4052: Placekitten
#4043: Add restful API's as well for the same.
#4041: Public apis
#4030: Add Weatherstack API
#4021: Coffee
#4017: Organizing payment
The issues reflect ongoing maintenance challenges, such as keeping the list of APIs current and addressing security concerns related to compromised APIs. The community's active participation in reporting and suggesting improvements highlights the repository's collaborative nature but also underscores the need for vigilant oversight and timely updates.
#4061: Add holidays.rest API to Calendar
#4059: Create hello change
#4058: Update links.py
#4057: Updated a discontinued API to its successor
#4056: Added app.py file
#4055: Add weatherUSA API
#4053: Added Dragon Ball Api
#4051: Add Free Sitemaps API to Public APIs
#3886: added urldna.io API
#4060: Main
#3928 & #4049 & #4040 & #4022 & #4003 & #3993 & #3990 & #3989 & #3982 & #3975 & #3974 & #3964 & #3954 & #3947 & #3945 & #3937 & #3936 & #3935 & #3933 & #3930 & #3880
The repository has several open pull requests that are either well-prepared for merging or require closure due to lack of adherence to guidelines or being tests/experiments. The maintainers should focus on reviewing recent submissions like #4061 and address older ones like #3886 that have been pending for extended periods. Additionally, many closed PRs indicate active curation by maintainers to keep the repository clean and relevant.
CONTRIBUTING.md
scripts/validate/format.py
check_alphabetical_order
, check_entry
).scripts/validate/links.py
find_links_in_text
and check_if_link_is_working
are clearly defined.scripts/tests/test_validate_format.py
scripts/tests/test_validate_links.py
Overall, the source code files demonstrate a high level of quality in terms of structure, readability, and functionality. The use of Python's standard libraries and best practices ensures that the scripts are efficient and maintainable. The tests provide thorough coverage, contributing to the reliability of the repository's validation processes.
APILayer (apilayer-admin)
Kyle Calica (stcalica)
Matheus Felipe (matheusfelipeog)
Zaldy Pagaduan Jr. (zopagaduanjr)
FayeNichols
Diego Parrilla (diegoparrilla)
Yann Bertrand (yannbertrand)
Arne Stittrich (Stitti)
S.G. Sudhakar (sudhakar76)
Avi Mamenko (amamenko)
Roanna Victorio (roannav)
Agrim Prasad (AgrimPrasad)
caroline (caroldinh)
PerryPal (PerryPal21)
Savičs (Exerra)
Gregory Saint-Jean (GregSaintJean)
adamclement-exe
bluatista
Hubert Morawski (Morasiu)
Troki (Vojkan94)
Alex A (xmakina)
sastofficial
William Faircloth
Daniel Buckle (bokklu)
Jeroen Claassens (favna)
speedyshreya